溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用DBV

發(fā)布時間:2021-11-08 15:03:44 來源:億速云 閱讀:366 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹“怎么使用DBV”,在日常操作中,相信很多人在怎么使用DBV問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用DBV”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、簡介

dbverify工具的主要目的是為了檢查數(shù)據(jù)文件的物理結(jié)構(gòu),包括數(shù)據(jù)文件是否損壞,是否存在邏輯壞塊,以及數(shù)據(jù)文件中包含何種類型的數(shù)據(jù)。

二、原理

DBV 檢查以確保Oracle數(shù)據(jù)文件:

  • 數(shù)據(jù)文件有一個有效的塊頭

  • 每個數(shù)據(jù)塊在文件中有一個特殊的“wrapper”標識塊,這“wrapper”是為了校驗正確性

  • 數(shù)據(jù) (表) 和索引塊是內(nèi)部一致的

  • 從8.1.6起:多塊類型的內(nèi)部一致性(如回滾segment blocks)

三、DBV 限制

  1. DBV 只能檢測可以被 'ANALYZE TABLE .. VALIDATE STRUCTURE CASCADE'命令檢測的塊,像索引、表錯誤等

  2. 這個工具只能用于對數(shù)據(jù)文件。它不能用來驗證歸檔文件或控制文件。

  3. 你可以使用DBV驗證自動儲存管理(ASM)文件。

    然而,數(shù)據(jù)庫必須打開,選擇用戶名已使用

    例如:dbv file=+DG1/ORCL/datafile/system01.dbf userid=system/sys

    DBV檢查用戶名/密碼為ASM文件管理,當數(shù)據(jù)庫不是open狀態(tài)則不可能。

  4. 在大多數(shù)版本的UNIX,DBV 基于文件擴展名。DBV 要求datafile 必須有擴展名

    如果裸設(shè)備沒有擴展名,可以創(chuàng)建一個link,然后在進行dbv 檢查。
    例如:ln -s /dev/rdsk/mydevice /tmp/mydevice.dbf

  5. 對于原始設(shè)備,你應(yīng)該使用“END”參數(shù),以避免運行結(jié)束的文件空間的結(jié)束。
    例如:"dbv FILE=/dev/rdsk/r1.dbf END=<last_block_number>"

    1. 用 file#=5 找到 END 值

      select BYTES/8192 from v$datafile where FILE#=5;
      BYTES/8192
      ----------
      5120
    2. dbv file=/dev/rdsk/r1.dbf blocksize=8192 END=5120

  6. DBV可能無法掃描數(shù)據(jù)文件大于2GB同時報告”dbv-100”。如果你得到了dbv-100 錯誤首先請檢查文件大小。

  7. DBV 從 8.1.6 起如果從 Oracle 7 遷移,基于回滾段塊會報虛假錯誤。見錯誤:1359160 和注意事項:118008.1。

  8. DBV only checks a block in isolation -it does not know if the block is part of an existing object or not.

    DBV 只檢查這個塊,它不知道這個塊是否是一個已經(jīng)存在的對象的一部分。

  9. DBV 在 SCO Unix 上是不可用的,另見 Bug:814249

  10. DBV 是向下兼容的,不可用于高版本

四、DBV 示例

  1. 驗證ASM 上的文件

    1. 查詢數(shù)據(jù)文件路徑
      select file_name from dba_data_Files;

    2. dbv check ASM 上的文件,注意添加userid參數(shù)
      [oracle@rac2 ~]$ dbv file='+DATA/anqing/datafile/undotbs02.dbf' userid=sys/oracle

  2. 驗證普通datafile

    1. 實例沒有啟動的情況下進行datafile 驗證
      這種情況下,db沒有啟動,要進入數(shù)據(jù)文件的存放目錄后在運行該命令,不然會報找不到數(shù)據(jù)文件。
      dbv file=undotbs01.dbf

  3. DB open 狀態(tài),驗證指定段

    1. 可以通過sys_dba_segs表獲取tablespace_id,header_file, header_block三個字段,他們分別對應(yīng)tsn,relfile,

      block.
      select tablespace_id,header_file, header_block from sys_dba_segs where segment_name = 'TA';
      TABLESPACE_ID HEADER_FILE HEADER_BLOCK
      ------------- ----------- ------------
                 0           1        71513
    2. 語法:dbv USERID=username/password SEGMENT_ID=tsn.relfile.block

      [oracle@rac2 ~]$ dbv segment_id=0.1.71513 userid=system/oracle

    注:這種方式要求數(shù)據(jù)庫處于打開的狀態(tài)。

  4. 驗證數(shù)據(jù)拷貝
    由于dbv可以在實例關(guān)閉情況下驗證數(shù)據(jù)文件,因此dbv也可以驗證數(shù)據(jù)文件的拷貝。這個拷貝指的是通過RMAN的COPY命令或者操作系統(tǒng)命令cp拷貝的數(shù)據(jù)文件,而不是RMAN生成的備份集格式。
    通過比較2個dbv 的結(jié)果來比較datafile 的copy

    [oracle@node1 ~]$ dbv file='/oradata/orcl/test01.dbf' userid=sys/oracle
    DBVERIFY: Release 11.2.0.4.0 - Production on Wed Aug 17 15:15:52 2016
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    DBVERIFY - Verification starting(開始驗證) : FILE = /oradata/orcl/test01.dbf
    DBVERIFY - Verification complete(驗證完成)
     
    Total Pages Examined(檢查的頁總數(shù))         : 655360
    Total Pages Processed (Data) 處理的頁總數(shù) (數(shù)據(jù)): 261936
    Total Pages Failing   (Data) 失敗的頁總數(shù) (數(shù)據(jù)): 0
    Total Pages Processed (Index)處理的頁總數(shù) (索引): 0
    Total Pages Failing   (Index)失敗的頁總數(shù) (索引): 0
    Total Pages Processed (Other)處理的頁總數(shù) (其它): 876
    Total Pages Processed (Seg)處理的總頁數(shù) (段)  : 3
    Total Pages Failing   (Seg)失敗的總頁數(shù) (段)  : 0
    Total Pages Empty空的頁總數(shù)            : 392545
    Total Pages Marked Corrupt標記為損壞的總頁數(shù)   : 0
    Total Pages Influx流入的頁總數(shù)           : 0
    Total Pages Encrypted加密的總頁數(shù)        : 0
    Highest block SCN最高塊 SCN            : 117357549 (0.117357549)

到此,關(guān)于“怎么使用DBV”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

dbv
AI