- 论坛徽章:
- 0
|
如何查找损坏块,急!谢谢
你说的之中情况,多数是回滚段中坏块造成的,你可以试试下面的办法。
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
>; 如果有其他问题或错误提示请通知我! |
|