当前位置:数据库 > Oracle >>

教你如何重建Oracle数据库的回滚段

答案: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 suggested|AUTO|from logsource|cancel]


  


  


  输入 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


  


  


  (T114)

  本文来自:http://doc.linuxpk.com/79346.html
发表您的高见!

上一个:将Oracle10g内置的安全特性用于PHP
下一个:OracleDBA有关回滚段管理试题精选

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,