Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103769190
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-07 12:47:58

     来源:赛迪网技术社区    作者:doorsir

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
阅读(172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~