出了ORA-27101: shared memory realm does not exist 錯誤的處理

coolhe發表於2010-07-27
今天一個客戶資料庫遇到了ora-27101錯誤,經過自己的檢視alter.log確實是因為一個current redolog壞了引起的錯誤。這個問題原來我也遇到過,今天按照下面的過程進行解決,僥倖成功了!!留下日誌以享後者;;
-----------
win2003,4G,oracle9i,錯誤:ora-271010,查詢原因是redolog損壞,解決如下:
注意:執行recover database until cancel;操作N次,又重新啟動oracle9i資料庫n次,最後成功。成功的時候,是查詢select status from v$instance,發現例項是open狀態,有查詢了下資料庫表,能看到資料,才知道成功了。然後迅速exp進行備份。
-----------

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權所有 1985-2000 Microsoft Corp.

C:Documents and SettingsAdministrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 3月 19 10:41:29

2009

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conm /as sysdba
SP2-0734: 未知的命令開頭 "conm /as s..." - 忽略了剩餘的行。
SQL> conn /as sysdba
已連線。
SQL> startup mount;
ORA-01081: 無法啟動已在執行的 ORACLE --- 請首先關閉
SQL> shutdown immediate;
ORA-01109: 資料庫未開啟


已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
資料庫裝載完畢。
SQL> recover database
ORA-00283: 恢復會話因錯誤而取消
ORA-00399: 重做日誌中的更改說明已損壞
ORA-00353: 日誌損壞接近塊 55 更改 293648617 時間 03/18/2009 17:02:38
ORA-00312: 聯機日誌 3 執行緒 1: 'D:ORACLEORADATAERPREDO03.LOG'


SQL> alter database clear logfile group 3;
alter database clear logfile group 3
*
ERROR 位於第 1 行:
ORA-01624: 執行緒3的緊急恢復需要日誌1
ORA-00312: 聯機日誌 3 執行緒 1: 'D:ORACLEORADATAERPREDO03.LOG'


SQL> select GROUP#,SEQUENCE#, ARCHIVED,STATUS from v$log;

GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 134 NO INACTIVE
2 135 NO INACTIVE
3 136 NO CURRENT

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile

;

系統已更改。

SQL> alter system set "_allow_terminal_recovery_corruption"=true

scope=spfile ;

系統已更改。

SQL> shutdown abort;
ORACLE 例程已經關閉。
SQL> startup nomount;
ORACLE 例程已經啟動。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> > select ksppinm,ksppdesc
SP2-0734: 未知的命令開頭 "> select k..." - 忽略了剩餘的行。
SQL> 2 from x$ksppi
SQL> 3 where ksppinm like '_allow%' escape ''
SQL> 4 ;
SP2-0226: 無效的行號
SQL> select ksppinm,ksppdesc
2 from x$ksppi
3 where ksppinm like '_allow%' escape '' ;
where ksppinm like '_allow%' escape ''
*
ERROR 位於第 3 行:
ORA-01425: ????????? 1 ????


SQL> alter database open;
alter database open
*
ERROR 位於第 1 行:
ORA-01507: ??????


SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup ;
ORACLE 例程已經啟動。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
資料庫裝載完畢。
ORA-00399: 重做日誌中的更改說明已損壞
ORA-00353: 日誌損壞接近塊 55 更改 293648617 時間 03/18/2009 17:02:38
ORA-00312: 聯機日誌 3 執行緒 1: 'D:ORACLEORADATAERPREDO03.LOG'


SQL> recover database until cancel;
ORA-00279: 更改 293648564 (在 03/18/2009 17:02:29 生成) 對於執行緒 1 是

必需的
ORA-00289: 建議: D:ORACLEORA92RDBMSARC00136.001
ORA-00280: 更改 293648564 對於執行緒 1 是按序列 # 136 進行的


指定日誌: {=suggested | filename | AUTO | CANCEL}

ORA-00308: 無法開啟存檔日誌 'D:ORACLEORA92RDBMSARC00136.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案1需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'D:ORACLEORADATAERPSYSTEM01.DBF'


SQL> recover database until cancel;
ORA-00279: 更改 293648564 (在 03/18/2009 17:02:29 生成) 對於執行緒 1 是

必需的
ORA-00289: 建議: D:ORACLEORA92RDBMSARC00136.001
ORA-00280: 更改 293648564 對於執行緒 1 是按序列 # 136 進行的


指定日誌: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 無法開啟存檔日誌 'D:ORACLEORA92RDBMSARC00136.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


ORA-00308: 無法開啟存檔日誌 'D:ORACLEORA92RDBMSARC00136.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案1需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'D:ORACLEORADATAERPSYSTEM01.DBF'


SQL> auto
SP2-0042: 未知命令"auto" -- 其餘行忽略。
SQL> recover database until cancel;
ORA-00279: 更改 293648564 (在 03/18/2009 17:02:29 生成) 對於執行緒 1 是

必需的
ORA-00289: 建議: D:ORACLEORA92RDBMSARC00136.001
ORA-00280: 更改 293648564 對於執行緒 1 是按序列 # 136 進行的


指定日誌: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 無法開啟存檔日誌 'D:ORACLEORA92RDBMSARC00136.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


ORA-00308: 無法開啟存檔日誌 'D:ORACLEORA92RDBMSARC00136.001'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194: 檔案1需要更多的恢復來保持一致性
ORA-01110: 資料檔案 1: 'D:ORACLEORADATAERPSYSTEM01.DBF'


SQL> alter database open resetlogs;

資料庫已更改。

SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3090/viewspace-669640/,如需轉載,請註明出處,否則將追究法律責任。

相關文章