DBVERIFY utility的使用

keeptrying發表於2012-05-07

一、DBVERIFY工具介紹

DBVERIFY is an external command-line utility that performs a physical data structure integrity check. It can be used on offline or online databases, as well on backup files. You use DBVERIFY primarily when you need to ensure that a backup database (or datafile) is valid before it is restored or as a diagnostic aid when you have encountered data corruption problems.

DBVERIFY checks are limited to cache-managed blocks (that is, data blocks). Because DBVERIFY is only for use with datafiles, it will not work against control files or redo logs.

是一個執行於作業系統提示符下的外部程式;

用於執行物理資料結構一致性檢查;

可以用於驗證Onlineoffline狀態下的資料檔案、複製的資料檔案、備份的映象副本;

不支援控制檔案、聯機日誌檔案、歸檔日誌、RMAN備份集驗證;

二、使用方法

C:\Users\Administrator>dbv

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:09:09 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Keyword     Description                (Default)

----------------------------------------------------------------------------------------------

FILE        File to Verify                (NONE)

START       Start Block                 (First Block of File)

END         End Block                 (Last Block of File)

BLOCKSIZE   Logical Block Size            (8192)    --指定block大小,預設值為8192,若不指定,block不為8192,會受到DBV-00103錯誤

LOGFILE     Output Log                 (NONE)     --通過指定Logfile可以將結果輸出到一個檔案中。如:“logfile=e:\blk.txt”,結果不會直接顯示,而會顯示在blk.txt檔案中。

FEEDBACK    Display Progress            (0)

PARFILE     Parameter File               (NONE)  --可以指定引數檔案。將dbv命令寫入一個引數檔案中,直接執行該引數檔案。"dbv parfile=e:\par.txt".

USERID      Username/Password          (NONE)  --校驗段、ASM檔案需要使用

SEGMENT_ID  Segment ID (tsn.relfile.block)  (NONE)  --校驗段,需要表空間ID、資料檔案ID、段的頭部ID

HIGH_SCN    Highest Block SCN To Verify    (NONE)

            (scn_wrap.scn_base OR scn)

 

============================================================================================

 

1、  校驗onlineoffline資料檔案

C:\Users\Administrator>dbv file=E:\oradata\test\test01.dbf

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:22:35 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

DBVERIFY - Verification starting : FILE = E:\oradata\test\test01.dbf

DBVERIFY - Verification complete

 

Total Pages Examined         : 2560   --校驗的總頁面數,一個頁面即是一個資料塊

Total Pages Processed (Data) : 2295      --已處理的資料頁面數

Total Pages Failing   (Data) : 0          --已處理的資料頁面失敗數

Total Pages Processed (Index): 11        --已處理的索引頁面數

Total Pages Failing   (Index): 0         --已處理索引頁面失敗數

Total Pages Processed (Other): 249       --已處理的其他頁面數

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 5

Total Pages Marked Corrupt   : 0

Total Pages Influx           : 0

Highest block SCN            : 3389127 (0.3389127)

 

注意:如果Total Pages Influx大於零,且未存在壞的情下,是由於針對open狀態的檔案dbv程式遇到了一個當前正在被DBWn入的

 

C:\Users\Administrator>dbv file=E:\oradata\test\test01.dbf feedback=100  --每驗證100個塊顯示一個“.

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:28:31 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

DBVERIFY - Verification starting : FILE = E:\oradata\test\test01.dbf

..........................

 

DBVERIFY - Verification complete

 

2、  驗證指定段

該方法需要獲得段所在的表空間ID、段所在的資料檔案ID、段的頭部ID

SYS@ tsid > select tablespace_id,tablespace_name,header_file,header_block from sys_dba_segs where segment_name='T';

 

TABLESPACE_ID TABLESPACE_NAME                HEADER_FILE HEADER_BLOCK

------------- ------------------------------ ----------- ------------

            4 USERS                                    4           11

 

注意:sys的段可以查詢sys_user_segs,而普通用的段資訊,需要查詢sys_dba_segs

 

C:\Users\Administrator>dbv userid=test/test segment_id=4.4.11

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:37:00 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

DBVERIFY - Verification starting : SEGMENT_ID = 4.4.11

 

 

DBVERIFY - Verification complete

 

Total Pages Examined         : 8

Total Pages Processed (Data) : 5

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 0

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 2

Total Pages Processed (Seg)  : 1

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 0

Total Pages Marked Corrupt   : 0

Total Pages Influx           : 0

Highest block SCN            : 3084884 (0.3084884)

 

3、  驗證複製的資料檔案或備份集

RMAN> backup as copy datafile 5;  --使用RMAN備份映象副本

 

Starting backup at 2012-05-07 20:39:58

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=134 devtype=DISK

channel ORA_DISK_1: starting datafile copy

input datafile fno=00005 name=E:\ORADATA\TEST\TEST01.DBF

output filename=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\DATAFILE\O1_MF_TEST_7THJO0M1_.DBF tag=TAG20120507T204000 re

cid=1 stamp=782685601

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

Finished backup at 2012-05-07 20:40:01

 

 

C:\Users\Administrator>dbv file=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\DATAFILE\O1_MF_TEST_7THJO0M1_.DBF

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:41:48 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

DBVERIFY - Verification starting : FILE = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\DATAFILE\O1_MF_TEST_7THJO0M1_.DBF

 

 

 

DBVERIFY - Verification complete

 

Total Pages Examined         : 2560

Total Pages Processed (Data) : 2295

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 11

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 249

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 5

Total Pages Marked Corrupt   : 0

Total Pages Influx           : 0

Highest block SCN            : 3389127 (0.3389127)

 

 

4、  通過指定blocksize可以實現對控制檔案的驗證

C:\Users\Administrator>dbv file=E:\oradata\test\control01.ctl

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:44:22 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

 

DBV-00103: Specified BLOCKSIZE (8192) differs from actual (16384)  --根據提示知道blocksize的值為16384

 

C:\Users\Administrator>dbv file=E:\oradata\test\control01.ctl blocksize=16384

 

DBVERIFY: Release 10.2.0.3.0 - Production on Mon May 7 20:45:51 2012

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

DBVERIFY - Verification starting : FILE = E:\oradata\test\control01.ctl

 

 

DBVERIFY - Verification complete

 

Total Pages Examined         : 450

Total Pages Processed (Data) : 0

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 0

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 61

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 389

Total Pages Marked Corrupt   : 0

Total Pages Influx           : 0

Highest block SCN            : 6933 (65535.6933)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-722938/,如需轉載,請註明出處,否則將追究法律責任。

相關文章