【oracle報:ORA-01034和ORA-27101的解決辦法】以及過程中出現【ORA-01194: file 1 needs more recovery to be consistent】問題

問題描述:
今天打開數據庫的時候不知怎麼弄的,不能open了,出現ORA-01034和ORA-27101
原因是多方面的:主要是oracle當前的服務不可用,shared memory realm does not exist,是因爲oracle沒有啓動或沒有正常啓動,共享內存並沒有分配給當前實例.所以,通過設置實例名,再用操作系統身份驗證的方式,啓動數據庫。這樣數據庫就正常啓動了,就不會報ORA-01034和ORA-27101兩個啓動異常了。

在cmd命令窗口中依次直接輸入下面命令:
(1)sqlplus sys/sys as sysdba

(2)startup mount

(3)recover database until time ‘2019-10-31 18:00:00’

在這我執行後報錯如下:
在這裏插入圖片描述
又出現【ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below】錯誤提示,因此繼續解決問題如下:

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: ‘D:\APP\NEWDAY\ORADATA\ORCL\SYSTEM01.DBF’
在這裏插入圖片描述
估計應該是日誌的問題,又試了下:
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 12799154 (在 10/31/2019 18:00:07 生成) 對於線程 1 是必需的
ORA-00289: 建議:
D:\APP\NEWDAY\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_11_01\O1_MF_1_528_%U_.ARC
ORA-00280: 更改 12799154 (用於線程 1) 在序列 #528 中

Specify log: {=suggested | filename | AUTO | CANCEL}
在這裏插入圖片描述
根據上面提示的內容,注意到 ‘526 ’ 和 ‘sequence 528’

從網上看到一條語句,可以查出redo logs ,注意要用sys:
SQL> conn sys/oracle as sysdba
Connected.
SQL> select v1.group#, member, sequence#, first_change#
2 from vlogv1,vlog v1, vlogfile v2
3 where v1.group# = v2.group#;
在這裏插入圖片描述
從結果里根據 sequence# 和 first_change# 找到了要用到的log file name:
D:\APP\NEWDAY\ORADATA\ORCL\REDO01.LOG
D:\APP\NEWDAY\ORADATA\ORCL\REDO02.LOG
D:\APP\NEWDAY\ORADATA\ORCL\REDO03.LOG

在 Specify log: {=suggested | filename | AUTO | CANCEL} 下面輸入:
D:\APP\NEWDAY\ORADATA\ORCL\REDO01.LOG
提示:
Log applied.
Media recovery complete.

接着:
SQL> alter database open resetlogs;
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
Database altered.

這樣,就吧問題解決了。

(4)shutdown

(5)startup

總結:數據庫出現問題非常麻煩,但耐心查閱資料,慢慢排查問題花點時間還是能解決的;只是問題原因比較多,解決辦法有的行得通有的行不通,不適用自己遇到的問題,還是得需要自己去總結去分析查找問題的真正原因!!!

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