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