oracle啓動出錯:shared memory realm does not exist解決過程

 

發現連接數據庫報錯如下:

 

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory

進程 ID: 0
會話 ID: 0 序列號: 0

連接服務器發現是空間滿了,清理多餘的文件後關閉數據庫,重新啓動仍然報錯如下:


ORA-03113: end-of-file on communication channel
Process ID: 3917
Session ID: 96 Serial number: 3

網上搜索相同的錯誤,猜測是歸檔日誌空間滿了, 
使用rman 清理歸檔日誌:
找到目錄 /u/home/oracle/database/11g/bin
執行
./rman
連接數據庫
>connect target /
查詢歸檔日誌:
crosscheck archvelog all;
仍然報錯
ORACLE not available
解決方案:
使用sqlplus /nolog 
採用startup mount 的方式啓動數據庫,(裝載數據庫,打開控制文件,該選項可以用來修改數據庫的運行模式或進行數據庫恢復)
然後再回到rman
刪除3天之前的歸檔日誌
delete archivelog all completed before 'sysdate - 3'
又報錯:
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
這個是因爲:
是在搭建dg的時候,主庫和備庫已經互相確認了主備關係,但是備庫的歸檔日誌缺失了一部分,導致備庫上僅有的那部分歸檔日誌無法成功應用日誌。
這時主庫認爲備庫沒有成功應用這些歸檔,而無法在主庫中刪除對應的歸檔日誌。
解決方案:清理主庫歸檔時,增加force關鍵字
DELETE noprompt force ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';

刪除成功,這個時候回到 sqlplus
重啓數據庫,啓動成功!
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章