概述
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 instance started. Total System Global Area 801701888 bytes Fixed Size 2232640 bytes Variable Size 318770880 bytes Database Buffers 473956352 bytes Redo Buffers 6742016 bytes Database mounted. Database opened.
Database opened.
监听启动
切到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
更加详细的解释请看Dave的博文 Oracle Listener 动态注册 与 静态注册