某客戶一個資料庫伺服器配了兩塊網卡,分别設了兩個不同的網段,每塊網卡上配了一個監聽,具體步驟如下:
一|、配雙網卡隻要在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必須一緻