IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    在数据库open过程中常遇到ORA-01555汇总

    惜分飞发表于 2015-08-10 15:00:34
    love 0

    在数据库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失败
    ORA-01555



    在数据库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提交事务来解决此类问题.

    • undo异常总结和恢复思路
    • 记录一次由于坏块和不恰当恢复引起各种ORA-600案例
    • 记录一次ORA-00316 ORA-00312 redo异常恢复
    • 某集团ebs数据库redo undo丢失导致悲剧
    • 记录一次比较棘手数据库恢复要点
    • 记录一次ORA-00600[kdxlin:psno out of range]/ORA-00600[3020]/ORA-00600[4000]/ORA-00600[4193]的数据库恢复
    • ORA-01115 ORA-01110 ORA-27067故障恢复案例
    • Query Duration=0与ORA-01555
    • bbed for win 64
    • 使用_allow_resetlogs_corruption导致ORA-00704/ORA-01555故障
    • ORACLE 8.1.7 数据库ORA-600 4000处理
    • system ORA-01578 坏块数据库恢复
    • ORACLE REDO各种异常恢复
    • ora-01092:ORACLE 实例终止 —access$表丢失恢复
    • 数据库报ORA-00607/ORA-00600[4194]错误


沪ICP备19023445号-2号
友情链接