某客户一个数据库服务器配了两块网卡,分别设了两个不同的网段,每块网卡上配了一个监听,具体步骤如下:
一|、配双网卡只要在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 =
(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_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必须一致