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 动态注册 与 静态注册
下一篇: C/C++混合编程代码实例