oracle scn隐藏参数,Oracle隐含参数scn不一致启动
Oracle隱含參數:allow_resetlogs_corruption的使用提示:Oracle的隱含參數只應該在測試環境或者在Oracle Support的支持下使用or
Oracle隱含參數:allow_resetlogs_corruption的使用
提示:Oracle的隱含參數只應該在測試環境或者在Oracle Support的支持下使用
oracle中redo文件損壞時:
1:如果損壞的是非當前redo文件而且已經歸檔:
此時可以使用alter database clear logfile group xx 清空該日志文件。
2:如果損壞的是非當前redo文件,并且該文件組沒有歸檔:
此時使用alter database clear unarchived logfile group xx;強行清空日志
3:歸檔模式下當前日志的損壞有兩種情況:
一、是數據庫是正常關閉,日志文件中沒有未決的事務需要實例恢復,當前日志組的損壞就可以直接用alter database clear unarchived logfile group n來重建。
二、是日志組中有活動的事務,數據庫需要媒體恢復,日志組需要用來同步,有兩種補救辦法
A:最好的辦法就是通過不完全恢復,可以保證數據庫的一致性,但是這種辦法要求在歸檔方式下,并且有可用的備份
B:通過強制性恢復,但是可能導致數據庫不一致。
下面的情況假定當前日志損壞,并且沒有備份,所以只有采取強制性恢復:
SQL> startup force;
ORACLE instance started.
Total System Global Area 97588504 bytes
Fixed Size 451864 bytes
Variable Size 33554432 bytes
Database Buffers 62914560 bytes
Redo Buffers 667648 bytes
Database mounted.
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 3 change 897612314 time 10/19/2005 14:19:34
ORA-00312: online log 3 thread 1: '/opt/oracle/oradata/conner/redo03.log'
損壞的是active的日志文件:
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ----------------
1 1 159 10485760 1 NO INACTIVE 897592312 19-OCT-05
2 1 158 10485760 1 NO INACTIVE 897572310 19-OCT-05
3 1 160 10485760 1 NO ACTIVE 897612314 19-OCT-05
4 1 161 1048576 1 NO CURRENT 897612440 19-OCT-05
只好使用另外一個隱含參數_allow_resetlogs_corruption強制啟動數據庫,設置此參數之后,在數據庫Open過程中,Oracle會跳過某些一致性檢查,從而使數據庫可能跳過不一致狀態,Open打開:
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 97588504 bytes
Fixed Size 451864 bytes
Variable Size 33554432 bytes
Database Buffers 62914560 bytes
Redo Buffers 667648 bytes
Database mounted.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 897612315 generated at 10/19/2005 16:54:18 needed for thread 1
ORA-00289: suggestion : /opt/oracle/oradata/conner/archive/1_160.dbf
ORA-00280: change 897612315 for thread 1 is in sequence #160
Specify log: {=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/opt/oracle/oradata/conner/system01.dbf'
ORA-01112: media recovery not started
SQL> alter database open resetlogs;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 97588504 bytes
Fixed Size 451864 bytes
Variable Size 33554432 bytes
Database Buffers 62914560 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
幸運的時候數據庫就可以成功Open,如果不幸可能會遇到一系列的Ora-600錯誤(最常見的是2662錯誤),,或者在openOra-600錯誤,或者在open以后操作數據庫數據時刻出現Ora-600錯誤,此時就需要使用多種手段繼續進行調整恢復。
如果注意觀察alert日志,我們可能會發現類似以下日志:
Fri Jun 10 16:30:25 2005
alter database open resetlogs
Fri Jun 10 16:30:25 2005
RESETLOGS is being done without consistancy checks. This may result in a corrupted database. The database should be recreated.
RESETLOGS after incomplete recovery UNTIL CHANGE 240677200
Resetting resetlogs activation ID 3171937922 (0xbd0fee82)
Oracle告訴我們,強制resetlogs跳過了一致性檢查,可能導致數據庫損壞,數據庫應當重建。不一致恢復最后恢復到的Change號是:240677200。通常使用此方法Open數據庫之后,應該立即通過導出、導入重建數據庫。
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:php中文網
總結
以上是生活随笔為你收集整理的oracle scn隐藏参数,Oracle隐含参数scn不一致启动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贷款利润最大化——利用随机森林和逻辑回归
- 下一篇: 小小算法题(CCF)