close
硬碟資料救援,RAID快速急救
網址:www.fubjj.com
ORACLE8i修復資料庫壞塊的三種方法系列二
1.DBMS_REPAIR.ADMIN_TABLES用於創建與刪除存儲損壞塊的表。其中TABLE_TYPE為:REPAIR_TABLE(表),ORPHAN_TABLE(索引);ACTION為:CREATE_ACTION(創建表),PURGE_ACTION(刪除無關資料),DROP_ACTION(刪除表)。例:
dbms_repair.admin_tables('REPAIR_TABLE',DBMS_REPAIR.REPAIR_TABLE,DBMS_REPAIR.CREATE_ACTION,'temp_data');复制代码
2.DBMS_REPAIR.CHECK_OBJECT检查表、索引、分区中的块损坏。其中OBJECT_TYPE为:TABLE_OBJECT(表),INDEX_OBJECT(索引),
REPAIR_TABLE_NAME(用于存储损坏块信息的表)。例:
dbms_repair.check_object('ORATRAIN','LOCATIONS',corrupt_count=>:cc);复制代码
3.使用以下语句查询块损坏信息:
SELECT
object_name,
relative_file_no,
block_id,
marked_corrupt,
corrupt_description,
repair_description
FROM
repair_table;复制代码
4.将块标志为损坏的:
dbms_repair.fix_corrupt_blocks('ORATRAIN','LOCATIONS',fix_count=>:fc);复制代码
5.跳过损坏块:
dbms_repair.skip_corrupt_blocks('ORATRAIN',
'LOCATIONS');复制代码
其中OBJECT_TYPE为:TABLE_OBJECT(表),CLUSTER_OBJECT(索引)。
6.使用REBUILD_FREELISTS重建损坏的空闲列表:DBMS_REPAIR.rebuild_freelists
7.使用以下方法查找指向损坏块的索引:
(1)创建存放指向坏块索引的表
(2)dbms_repair.dump_orphan_keys('ORATRAIN','LOC_PK',
orphan_table_name=>'ORPHAN_TAB1',key_count=>:kc);复制代码
(3)SELECT
index_name,
count(*)
FROM
orphan_key_table
WHERE
table_name
=
'CLASSES'
GROUP
BY
index_name;复制代码
(4)重建具有orphan
keys的索引
限制:不能分析Index-organized
tables

LOB
indexes,DUMP_ORPHAN_KEYS不能对bitmap与
function-based
indexes操作。
(三)使用SQL命令ANALYZE
TABLE|INDEX

VALIDATE
STRUCTURE
utlvalid.sql.创建含有损坏块信息的INVALID_ROWS表,ANALYZE
TABLE
VALIDATE
STRUCTURE
CASCADE同时校验表与索引。
(四)使用DBVERIFY
DBVERIFY是一个外部工具,所以对数据库影响很小。可用于在将备份文件拷贝回原位置前检验备份文件的完好性,并定位数据块损坏。命令如下:
dbv
/opt/oracle/db02/oradata/data01.dbf
start=1
end=500
logfile=dbv.log复制代码基隆市,台北市,台北縣,桃園縣,新竹縣,新竹市,苗栗縣,台中縣,台中市,彰化縣,南投縣,雲林縣,嘉義縣,嘉義市,台南縣,台南市,高雄縣,高雄市,屏東縣,澎湖,金門,馬祖,中國大陸,From InToHard
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 硬碟救資料,高雄 的頭像
    硬碟救資料,高雄

    硬碟資料救援,RAID快速急救,高雄,台南,屏東,台北,台中,電話:0931-273295,網址:www.fubjj.com

    硬碟救資料,高雄 發表在 痞客邦 留言(0) 人氣()