欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux启动多个Oracle实例

程序员文章站 2022-04-12 21:27:41
概述 Centos6.5 有两个数据库实例 orcl1 和 orcl2 需要都起来 关键:操作每个数据库实例之前设置ORACLE_SID变量 export ORACLE_S...

概述

Centos6.5 有两个数据库实例 orcl1 和 orcl2

需要都起来

关键:操作每个数据库实例之前设置ORACLE_SID变量
export ORACLE_SID=数据库实例

启动orcl1

使用oracle用户登录主机

[root@entel2 ~]# su - oracle 
oracle@entel2:[/oracle]$export ORACLE_SID=orcl1
oracle@entel2:[/oracle]$sqlplus sys/system as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 28 07:23:47 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>startup 

无误即可。

启动orcl2

使用oracle用户登录主机

[root@entel2 ~]# su - oracle 
oracle@entel2:[/oracle]$export ORACLE_SID=orcl2
oracle@entel2:[/oracle]$sqlplus sys/system as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 28 07:23:47 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>startup

监听启动

切到oracle用户

[root@entel2 ~]# su - oracle

查看监听状态

oracle@entel2:[/oracle]$lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-SEP-2016 07:25:02

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.45.7.198)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                28-SEP-2016 06:06:16
Uptime                    0 days 1 hr. 18 min. 46 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/product/112/network/admin/listener.ora
Listener Log File         /oracle/diag/tnslsnr/entel2/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.45.7.198)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.123.1)(PORT=1521)))
Services Summary...
Service "orcl1" has 2 instance(s).
  Instance "orcl1", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl1", status READY, has 1 handler(s) for this service...
Service "orcl2" has 2 instance(s).
  Instance "orcl2", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl2", status READY, has 1 handler(s) for this service...
The command completed successfully

启动/停止

lsnrctl start/stop 

监听 UNKNOWN状态解释

实例状态为UNKNOWN值时表明此服务是静态注册的设置。这时监听器用来表明它不知道关于该实例的任何信息,只有当客户发出连接请求时,它才检查该实例是否存在。

动态注册的数据库通过状态信息中的状态READY或状态BLOCKED(对于一个备用数据库)来指明。不管关闭何时数据库,动态注册的数据库都会动态地从 监听器注销,而与之相关的信息将从状态列表中消失。这样,不管数据库是在运行还是已经关闭,监听器总是知道它的状态。该信息将被用于连接请求的回退(fallback)和负载平衡。

既然有动态监听为什么还要静态监听呢?原因如下:
  1.监听器不是最早启动,oracle实例先启动
  2.监听器重启
  3.oracle实例没有open

更加详细的解释请看David的博文 Oracle Listener 动态注册 与 静态注册