双网卡双监听故障处理

某客户一个数据库服务器配了两块网卡,分别设了两个不同的网段,每块网卡上配了一个监听,具体步骤如下:

一|、配双网卡只要在listener.ora加入以下内容

二、然后在show parameter service_names看服务名,如没有对应新的服务名,用alter system set service_names=cmdxc,ykt;

三、如果tnsping能通说明网络没问题,

在试图启动数据库的时候,Oracle报告下列错误:

ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
基本解释:
Error: ORA-27101

Text: shared memory realm does not exist

Cause: Unable to locate shared memory realm
Action: Verify that the realm is accessible
解决方法:
原因:
ORACLE_HOME或者ORACLE_SID设置不正确
查环境变量
env |grep ORA
ORACLE_SID=cmdxc
ORACLE_BASE=/ora/oracle
ORACLE_HOME=/ora/oracle/product/10.2.1
之所以一直报以上错误,仔细对比发现就是因为监听的主目录多了符号:"/"

listener.ora内容如下:

LISTENER1 =
(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.222.250)(PORT = 1522))

)

LISTENER =
(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.100.1)(PORT = 1521))

)

SID_LIST_LISTENER1 =
(SID_LIST =

(SID_DESC =
  (GLOBAL_DBNAME =cmdxc )
  (ORACLE_HOME =  /ora/oracle/product/10.2.1/)
  (SID_NAME = cmdxc)
)
(SID_DESC =
  (PROGRAM = extproc)
  (SID_NAME = PLSExtProc)
  (ORACLE_HOME =  /ora/oracle/product/10.2.1/)
)

)

SID_LIST_LISTENER =
(SID_LIST =

(SID_DESC =
  (GLOBAL_DBNAME = cmdxc)
  (ORACLE_HOME =  /ora/oracle/product/10.2.1/)
  (SID_NAME = cmdxc)
)
(SID_DESC =
  (PROGRAM = extproc)
  (SID_NAME = PLSExtProc)
  (
)

)

总结:环境变量的ORACLE_HOME = /ora/oracle/product/10.2.1/与listener.ora的ORACLE_HOME=/ora/oracle/product/10.2.1必须一致

上一篇:绑定变量与直方图的最佳实践


下一篇:SCN的简单介绍