教你如何重建Oracle數據庫的回滾段
2024-08-29 13:34:40
供稿:網友
 
             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