打印本文 打印本文 关闭窗口 关闭窗口
Oracle数据库日常维护
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4094  更新时间:2009/4/22 22:03:31  文章录入:mintao  责任编辑:mintao
AND <BLOCK> between block_id AND block_id+blocks-1;

2.决定修复方法

如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;

如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;

如果有数据库的备份,则恢复数据库的方法来进行修复;

如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。

3.用Oracle提供的DBMS_REPAIR包标记出坏块

exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(''''<schema>'''',''''<tablename>'''');

4.使用Create table as select命令将表中其它块上的记录保存到另一张表上

create table corrupt_table_bak as select * from corrupt_table;

5.用DROP TABLE命令删除有坏块的表

drop table corrupt_table;

6.用alter table rename命令恢复原来的表

alter table corrupt_table_bak rename to corrupt_table;

7.如果表上存在索引,则要重建表上的索引

八、操作系统相关维护

DBA要注意对操作系统的监控:

l  文件系统的空间使用情况(df -k),必要时对Oracle的警告日志及TRC文件进行清理

l  如果Oracle提供网络服务,检查网络连接是否正常

l  检查操作系统的资源使用情况是否正常

上一页  [1] [2] [3] [4] [5] [6]  下一页

打印本文 打印本文 关闭窗口 关闭窗口