天天看点

双网卡双监听故障处理listener.ora内容如下:

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

一|、配双网卡只要在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必须一致