解決過程:
1. 找到listener.ora監聽文件,具體位置:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
2. 在lisener.ora文件中找到
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
將下面的一段內容copy進去,並適當修改。(紅字部分爲你的SID,其中GLOBAL_DBNAME爲全局數據庫名,可以與SID不同)
(SID_DESC =
(GLOBAL_DBNAME = ORAC11)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORAC11)
)
3. 保存listener.ora文件,關閉並重新啓動監聽程序。
lsnrctl stop // 關閉
lsnrctl start // 啓動
4. 此時,用正常的用戶去連接雙出現新的錯誤。
ORA-27101: shared memory realm does not exist
5. 啓動打開目錄:D:\app\Administrator\admin\orac11\pfile,會發現裏面有一個文件:init.ora.1052011103553,這是Oracle最後一次成功啓動時備份的啓動文件。
7. 一切恢復正常。
========================================================================
ISDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.22.141)(PORT = 1521))
)
(CONNECT_DATA =
(SID = lisdb)
)
)
要不行,把tnsnames.ora刪掉,用Configuration Assistant重新建
還不行啊,你確定lisdb是正確的?配的時候測試是否通過?
把..\Network\Admin\下的文件全刪掉,再用Configuration Assistant配置試試