首页 > Linux操作系统 > Linux操作系统 > Oracle中导出修复数据块损坏
从日志中可以看到是文件4的35块损坏了。
恢复步骤
1. 首先你需要检查损坏的对象,使用以下SQL:
| SQL>SELECT tablespace_name, segment_type, owner, segment_name,PARTITION_NAME FROM dba_extents WHERE file_id = 4 and 35 between block_id AND block_id + blocks - 1; SQL> TABLESPACE_NAME SEGMENT_TYPE OWNER SEGMENT_NAME PARTITION_NAME ----------------------------- ------------------------ ------------ ------------------------ -------------------------- TBS1 INDEX PARTITION USER1 IX_TAB_COL P_NAME |
【2.1】如果是索引,重建索引
分区索引:
| alter index USER1.IX_TAB_COL rebuild partition P_NAME online; |
普通索引:
| alter index USER1.IX_TAB_COL rebuild online; |
提示 :
| * online 方式走全表扫描 * 非online 走原有索引 |
【2.2】如果是表,把表中数据库导出,然后从新导入表中数据。
待续。
SQL> ALTER SYSTEM SET EVENTS='10231 trace name context forever,level 10';
系统已更改。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/563971/viewspace-630606/ ,如需转载,请注明出处,否则将追究法律责任。