首页 > 开发 > 综合 > 正文

ora-00604报错

2024-07-21 02:41:00
字体:
来源:转载
供稿:网友

多数是回滚段中坏块造成的,你可以试试下面的办法 1、将数据关闭
>     svrmgrl >Shutdown abort
>  
>  2、修改初始化参数文件
>     $ vi  $Oracle_HOME/dbs/init< sid >.ora
>     添加以下参数
>      rollback_segments=(system)
>     _corrupted_rollback_segments=(r01,r02,r03,r04)
>     _allow_resetlogs_corruption=ture 
>  
>  3、重新装载数据库
>  svrmgrl >Startup mount

>  4、从数据库的控制文件中将回滚段表空间rbs的数据文件离线并去掉。 

>    svrmgrl >alter database datafile
>   ‘##/##/rbs01.dbf’ offline drop;
>    ---- 对数据库进行恢复。
>    svrmgrl >recover database using backup controlfile;
>    ---- 此时屏幕上可能会出现: 

>    ORA_00280 Change #### for thread# is in sequence#
>    specify log:[< RET > for suggestedAUTOfrom logsourcecancel]
>    输入 cancel(不要输入其他命令)

>    svrmgrl >alter database open resetlogs;
>  
>  5、 重建新的回滚段 

>    ---- 将旧回滚段及回滚表空间删除。 
>    svrmgrl >alter rollback_segment r01 offline drop;
>    svrmgrl >alter rollback_segment r02 offline drop;
>    svrmgrl >alter rollback_segment r03 offline drop;
>    svrmgrl >alter rollback_segment r04 offline drop;
>    svrmgrl >drop tablespace rbs including contents;
>    ---- 重建新的回滚表空间及回滚段。 
>  svrmgrl >connect internal
>  svrmgrl >create rollback segment ro tablespace system;
>  svrmgrl >alter rollback segment ro online;
>  svrmgrl >create tablespace rbs datafile 
> ‘##/##/rbs01.dbf’ size ##k;
>  svrmgrl >create rollback segment r01 tablespace rbs;
>  svrmgrl >create rollback segment r02 tablespace rbs;
>  svrmgrl >create rollback segment r03 tablespace rbs;
>  svrmgrl >create rollback segment r04 tablespace rbs;
>  svrmgrl >alter rollback segment r01 online;
>  svrmgrl >alter rollback segment r02 online;
>  svrmgrl >alter rollback segment r03 online;

>  svrmgrl >alter rollback segment r04 online;


>  svrmgrl >Shutdown abort
>  $  vi  $ORACLE_HOME/dbs/init< sid >.ora
>     rollback_segments=(r01,r02,r03,r04)
>     将参数_corrupted_rollback_segment
>           _allow_resetlogs_corruption=true去掉
>  svrmgrl >Startup normal

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表