ORA 01034和ORA 27101錯誤解決辦法

2021-08-28 11:35:17 字數 1241 閱讀 7832

環境:win2008,oracle11.2.0.1

問題描述:

今天開發的同時告訴我plsql 突然連不上資料庫了,報了「ora-12514:tns:監聽程式當前無法識別連線描述符中請求的服務」

的錯誤,並且告訴我已經將之前的監聽停止,重新建立了乙個監聽,結果依然報錯。在服務裡檢視oracleserviceorcl,oracleservicebug都在啟動狀態,奇怪的是bug就可以連線,km始終不行,重啟km的服務之後,依然報錯。

解決辦法:

1)通過lsnrctl> status 檢視監聽註冊的狀態,發現km沒有動態註冊成功

2)lsnrctl >stop 停止監聽,lsnrctl >start啟動監聽,依然報錯

3)重啟oracleservicekm,還是報錯

4)整個過程中,bug例項連線正常

5)在listener.ora中增加

(sid_desc =

(global_dbname = km)

(sid_name = km)

)

5)重啟監聽後,status可以看見註冊成功,通過plsql連線資料庫報錯ora-01034和ora-27101錯誤,此時oracleservicekm啟動正常。(在這裡困擾了很長時間,任務oracleservicekm啟動了,資料庫就已經啟動,實時上不是,這時候的資料庫並沒有啟動成功)

6)通過set oracle_sid =km;sqlplus / as sysdba連線資料庫

7)shutdown immediate 關閉資料庫

8)startup重啟資料庫,連線正常

9)關閉bug例項,重啟bug例項後,bug不能正常連線,報「ora-12514

」錯誤10)修改listener.ora,增加bug註冊資訊

(sid_desc =

(global_dbname = bug)

(sid_name = bug)

)

12)重啟監聽,重啟資料庫,連線正常

總結:

1)oracleservicekm正常啟動後,資料庫啟動不一定成功;

2)ora-01034和ora-27101應該是啟動時共享記憶體分配的有問題,導致無法連線

3)單監聽,多例項啟動時,動態註冊失敗了,具體原因還得研究一下,全部改為靜態註冊後連線正常

出現ORA 01034和ORA 27101的原因

出現ora 01034和ora 27101的原因是多方面的 主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,共享記憶體並沒有分配給當前例項.所以,通過設定例項名,再用作業系統身份驗證的方式,啟動資料庫...

ORA 01034 ORA 27101 問題解決

問題報錯如圖 出現ora 01034和ora 27101的原因是多方面的 主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,共享記憶體並沒有分配給當前例項.所以,通過設定例項名,再用作業系統身份驗證的方...

ORA 01034 oracle不可用 的解決方法

晚上開啟sqlplus輸入使用者名稱和密碼老是登不了,出現如上一行 ora 01034 oracle不可用 的錯誤 解決思路 1 檢查服務是否啟動,2 如果已經啟動,說明資料庫沒有啟動,需要使用管理員身份登陸後,使用startup 啟動 startup 例程已啟動,資料庫裝載完畢 如果不能啟動,先可...