在資料庫open的過程中,select ctime, mtime, stime from obj$ where obj# = :1語句報ORA-01555錯誤,資料庫無法正常open
一般情況下會報某個復原段,但是這裡ORA-01555: snapshot too old: rollback segment number 0 with name “SYSTEM” too small這裡直接報了system(系統復原段),屬於少見情況
Fri Jun 26 11:47:31 2015
SMON: enabling cache recovery
Fri Jun 26 11:47:31 2015
ORA-01555 caused by SQL statement below (SQL ID: 4krwuz0ctqxdt, SCN: 0x0b41.37629378):
Fri Jun 26 11:47:31 2015
select ctime, mtime, stime from obj$ where obj# = :1
Fri Jun 26 11:47:31 2015
Errors in file /orabin/admin/doocrm/udump/doocrm_ora_5046722.trc:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01555: snapshot too old: rollback segment number 0 with name "SYSTEM" too small
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 5046722
ORA-1092 signalled during: alter database open resetlogs...
在資料庫open的過程中,select increment$,minvalue,maxvalue,cycle#,order$,cache,highwater,audit$,flags from seq$ where obj#=:1語句上報ORA-01555,導致資料庫open失敗
在資料庫open過程中,select /*+ rule */ name,file#,block#,status$,user#,undosqn,xactsqn,scnbas,scnwrp,DECODE(inst#,0,NULL,inst#),ts#,spare1 from undo$ where us#=:1語句導致資料庫open失敗.
ARC0: Becoming the 'no SRL' ARCH
Sun Jun 28 16:08:22 2015
ARC1: Becoming the heartbeat ARCH
Sun Jun 28 16:08:22 2015
SMON: enabling cache recovery
Sun Jun 28 16:08:22 2015
ORA-01555 caused by SQL statement below (SQL ID: 7bd391hat42zk, Query Duration=0 sec, SCN: 0x0d27.0a1ce29d):
Sun Jun 28 16:08:22 2015
select /*+ rule */ name,file#,block#,status$,user#,undosqn,xactsqn,scnbas,scnwrp,DECODE(inst#,0,NULL,inst#),ts#,spare1 from undo$ where us#=:1
Sun Jun 28 16:08:22 2015
Errors in file /oracle/app/oracle/admin/ibsscrm/udump/xxxx_ora_30212428.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-01555: snapshot too old: rollback segment number 0 with name "SYSTEM" too small
Error 604 happened during db open, shutting down database
USER: terminating instance due to error 604
Instance terminated by USER, pid = 30212428
ORA-1092 signalled during: alter database open...
出現這類問題,一般是由於obj$,seq$,undo$等基表上對象scn大於資料庫當前scn或者是由於這些表上有事務未提交,出現上述兩種情況,資料庫需要找對應的undo的復原段中記錄,而此時對應的復原段異常(或者是由於redo未進行正常前滾,導致上述對象或者復原段記錄不正常),從而出現類似情況,一般出現此類情況,可以通過10046定位到block,然後故障原因採用bbed修改scn或者bbed提交事務來解決此類問題.
聯絡:手機(13429648788) QQ(107644445)
連結:http://www.xifenfei.com/5968.html