物理一致性和邏輯一致性檢查
TS# HEADER_FILE HEADER_BLOCK
---------- ----------- ------------
0 1 56377
DBV工具
特點:只讀,不會做修改
可以在線檢查,不需要關閉數據庫。
不能檢查控制文件和日誌文件,而只能檢查數據文件
可以檢查ASM文件,但數據庫必須open,需要通過USERID指定用戶
比如dbv file=+DG1/ORCL/datafile/system01.dbf userid=system/sys
在許多UNIX平臺下,DBV要求數據文件有擴展名。如果沒有(裸設備)可以通過建立鏈接,然後對鏈接文件進行操作,比如:ln -s /dev/rdsk/mydevice /tmp/mydevice.dbf
某些平臺下,DBV工具不能檢查超過2GB的文件,如果碰到DBV-100錯誤,請先檢查文件大小,Metalink Bug 710888 對這個問題有描述。
可直接輸入dbv 獲取幫助
BLOCKSIZE,要與檢查的文件的blocksize一致。缺省8192
SEGMENT_ID,可以指定要檢查的段<tsn.segfile,segblock>
例子1、檢查users01.dbf
[oracle@Rhel5 ~]$ dbv file=/u01/oradata/10G101/users01.dbf blocksize=8192
file要輸入絕對路徑,否則可能會報dbv-600錯誤
DBVERIFY: Release 10.2.0.5.0 - Production on Mon Aug 5 23:34:28 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oradata/10G101/system01.dbf
Page 28618 is marked corrupt
Corrupt block relative dba: 0x00406fca (file 1, block 28618)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x00406fca
last change scn: 0x0000.00029ab9 seq: 0x1 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x9ab90601
check value in block header: 0xc694
computed block checksum: 0x7400
DBVERIFY - Verification complete
Total Pages Examined : 57600
Total Pages Processed (Data) : 38088
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 7049
Total Pages Failing (Index): 0
Total Pages Processed (Other): 1867
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 10595
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Highest block SCN : 676674 (0.676674)
Copyright (c) 1982, 2007, Oracle. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oradata/10G101/system01.dbf
Page 28618 is marked corrupt
Corrupt block relative dba: 0x00406fca (file 1, block 28618)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x00406fca
last change scn: 0x0000.00029ab9 seq: 0x1 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x9ab90601
check value in block header: 0xc694
computed block checksum: 0x7400
DBVERIFY - Verification complete
Total Pages Examined : 57600
Total Pages Processed (Data) : 38088
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 7049
Total Pages Failing (Index): 0
Total Pages Processed (Other): 1867
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 10595
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Highest block SCN : 676674 (0.676674)
例子2、檢查segment TEST
查看對象的tsn、segfile、segblock
SQL> select t.ts#,s.header_file,s.header_block
from v$tablespace t,dba_segments s
where s.segment_name='TEST
and t.name=s.tablespace_name;
from v$tablespace t,dba_segments s
where s.segment_name='TEST
and t.name=s.tablespace_name;
TS# HEADER_FILE HEADER_BLOCK
---------- ----------- ------------
0 1 56377
[oracle@Rhel5 10G101]$ dbv userid=system/password segment_id=0.1.56377
DBVERIFY: Release 10.2.0.5.0 - Production on Mon Aug 5 23:03:54 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
DBVERIFY - Verification starting : SEGMENT_ID = 0.1.56377
DBVERIFY - Verification complete
Total Pages Examined : 2
Total Pages Processed (Data) : 1
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 0
Total Pages Processed (Seg) : 1s
Total Pages Failing (Seg) : 0
Total Pages Empty : 0
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Highest block SCN : 666485 (0.666485)
Copyright (c) 1982, 2007, Oracle. All rights reserved.
DBVERIFY - Verification starting : SEGMENT_ID = 0.1.56377
DBVERIFY - Verification complete
Total Pages Examined : 2
Total Pages Processed (Data) : 1
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 0
Total Pages Processed (Seg) : 1s
Total Pages Failing (Seg) : 0
Total Pages Empty : 0
Total Pages Marked Corrupt : 1
Total Pages Influx : 0
Highest block SCN : 666485 (0.666485)
也可以使用RMAN工具來確認位置RMAN> backup check logical validate datafile 1;結果查詢:SQL> select file#,block#,blocks from v$database_block_corruption;FILE# BLOCK# BLOCKS---------- ---------- ----------1 28618 1