問題報錯如圖:
出現ora-01034和ora-27101的原因是多方面的:主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,共享記憶體並沒有分配給當前例項.所以,通過設定例項名,再用作業系統身份驗證的方式,啟動資料庫。這樣資料庫就正常啟動了,就不會報ora-01034和ora-27101兩個啟動異常了。
一般對於這個問題:第一印象,可能會覺得沒有足夠的記憶體空間,來建立共享記憶體段
1、檢查核心引數設定以及alert.log檔案
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
檢視資料庫狀態:
sql> select open_mode from v$database;
open_mode
----------
read write
2、檢視sqlnet.log日誌
$oracle_home/network/log
3、檢查listener是否配置正確
$oracle_home/network/admin/listener.ora
4、show parameter local_listener
5、設定local_listener引數
sql> alter system set local_listener='(address =(protocol=tcp)(host=ip)(port=1521)(sid=orasid))';
sql> alter system register;
總結:如果local_listener丟失,會導致自動例項註冊失敗,資料庫例項不會識別listener,當listener連線
資料庫例項的時候,由於listener沒有註冊,導致了 ora-27101: shared memory realm does not exist.當然這種情況的出現只是很少的,一般出現這種問題是我們就需要仔細判斷了。
出現ORA 01034和ORA 27101的原因
出現ora 01034和ora 27101的原因是多方面的 主要是oracle當前的服務不可用,shared memory realm does not exist,是因為oracle沒有啟動或沒有正常啟動,共享記憶體並沒有分配給當前例項.所以,通過設定例項名,再用作業系統身份驗證的方式,啟動資料庫...
ORA 01034和ORA 27101錯誤解決辦法
環境 win2008,oracle11.2.0.1 問題描述 今天開發的同時告訴我plsql 突然連不上資料庫了,報了 ora 12514 tns 監聽程式當前無法識別連線描述符中請求的服務 的錯誤,並且告訴我已經將之前的監聽停止,重新建立了乙個監聽,結果依然報錯。在服務裡檢視oracleservi...
ORA 01034 oracle不可用 的解決方法
晚上開啟sqlplus輸入使用者名稱和密碼老是登不了,出現如上一行 ora 01034 oracle不可用 的錯誤 解決思路 1 檢查服務是否啟動,2 如果已經啟動,說明資料庫沒有啟動,需要使用管理員身份登陸後,使用startup 啟動 startup 例程已啟動,資料庫裝載完畢 如果不能啟動,先可...