ora-00604报错

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

多数是回滚段中坏块造成的,你可以试试下面的办法

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航