日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Oracle中DBV命令行工具如何使用

發(fā)布時間:2023/12/15 综合教程 21 生活家
生活随笔 收集整理的這篇文章主要介紹了 Oracle中DBV命令行工具如何使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

這期內容當中小編將會給大家?guī)碛嘘POracle中DBV命令行工具如何使用,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

特點:

  • 以只讀的方式打開數(shù)據(jù)文件,在檢查過程中不會修改數(shù)據(jù)文件的內容。

  • 可以在線檢查數(shù)據(jù)文件,而不需要關閉數(shù)據(jù)庫。

  • 不能檢查控制文件和日志文件,只能檢查數(shù)據(jù)文件。

  • 這個工具可以檢查ASM文件,但數(shù)據(jù)庫必須Open狀態(tài),并且需要通過USERID指定用戶,比如:dbv file=+DG1/ORCL/datafile/system01.dbf userid=system/sys

  • 在許多UNIX平臺下,DBV要求數(shù)據(jù)文件有擴展名,如果沒有可以通過建立鏈接的方法,然后對鏈接的方法,然后對鏈接文件進行操作,比如:ls -n /dev/rdsk/mydevice /tmp/mydevice.dbf

  • 某些平臺,DBV工具不能檢查超過2GB的文件,如果碰到DBV-100錯誤,請先檢查文件大小,MOS Bug 710888對這個問題有描述。

  • DBV只會檢查數(shù)據(jù)塊的正確性,但不會關系數(shù)據(jù)塊是否屬于哪個對象。

  • 對于祼設備建議指定END參數(shù),避免超出數(shù)據(jù)文件范圍。比如:dbv FILE=/dev/rdsk/r1.dbf END=<last_block_number>。可以在v$datafile視圖中用bytes字段除以塊大小來獲得END值。

參數(shù) 含義 缺省值

FILE 要檢查的數(shù)據(jù)文件名 沒有缺省值

START 檢查起始數(shù)據(jù)塊號 數(shù)據(jù)文件的***個數(shù)據(jù)塊

END 檢查的***一個數(shù)據(jù)塊號 數(shù)據(jù)文件的***一個數(shù)據(jù)塊

BLOCKSIZE 數(shù)據(jù)塊大小,這個值要和數(shù)據(jù)庫的DB_BLOCK_SIZE參數(shù)值一致 缺省值8192

LOGFILE 檢查結果日志文件 沒有缺省值

FEEDBAK 顯示進度 0

PARFILE 參數(shù)文件名 沒有缺省值

USERID 用戶名、密碼 沒有缺省值

SEGMENT_ID 段ID,參數(shù)格式<tsn.segfile.segblock> 沒有缺省值

使用示例:

[oracle@rhel6~]$dbvfile=/u01/app/oracle/oradata/test/users01.dbfDBVERIFY:Release11.2.0.1.0-ProductiononMonMay2216:42:262017Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.DBVERIFY-Verificationstarting:FILE=/u01/app/oracle/oradata/test/users01.dbfDBVERIFY-VerificationcompleteTotalPagesExamined:155520TotalPagesProcessed(Data):144530TotalPagesFailing(Data):0TotalPagesProcessed(Index):52TotalPagesFailing(Index):0TotalPagesProcessed(Other):1248TotalPagesProcessed(Seg):0TotalPagesFailing(Seg):0TotalPagesEmpty:9690TotalPagesMarkedCorrupt:0TotalPagesInflux:0TotalPagesEncrypted:0HighestblockSCN:3559792(0.3559792)

這個工具報告使用的是page作為單位,含義和data block相同。從上面的檢查結果Total Pages Marked Corrupt : 0可以看出文件沒有壞塊。

除了檢查數(shù)據(jù)文件,這個工具還允許檢查單獨的Segment,這時參數(shù)值的格式為<tsn.segfile.segblock>

查看對象的tsn,segfile,segblock屬性:

zx@TEST>selectt.ts#,s.header_file,s.header_block2fromv$tablespacet,dba_segmentss3wheres.segment_name='T'4andt.name=s.tablespace_name;TS#HEADER_FILEHEADER_BLOCK---------------------------------4445834

從上面的查詢結果可行參數(shù)值為4.4.45834。檢查Segment:

[oracle@rhel6~]$dbvuserid=system/123456segment_id=4.4.45834DBVERIFY:Release11.2.0.1.0-ProductiononMonMay2220:58:332017Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.DBVERIFY-Verificationstarting:SEGMENT_ID=4.4.45834DBVERIFY-VerificationcompleteTotalPagesExamined:8TotalPagesProcessed(Data):5TotalPagesFailing(Data):0TotalPagesProcessed(Index):0TotalPagesFailing(Index):0TotalPagesProcessed(Other):2TotalPagesProcessed(Seg):1TotalPagesFailing(Seg):0TotalPagesEmpty:0TotalPagesMarkedCorrupt:0TotalPagesInflux:0TotalPagesEncrypted:0HighestblockSCN:3518579(0.3518579)

下面人為創(chuàng)造一個壞塊,用dbv來檢查。

創(chuàng)建一個測試表

zx@TEST>createtablebbed(idnumber,namevarchar2(20))tablespaceusers;Tablecreated.zx@TEST>insertintobbedvalues(1,'zhaoxu');1rowcreated.zx@TEST>commit;Commitcomplete.

當前數(shù)據(jù)文件沒有壞塊

[oracle@rhel6~]$dbvfile=/u01/app/oracle/oradata/test/users01.dbfDBVERIFY:Release11.2.0.1.0-ProductiononMonMay2221:03:402017Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.DBVERIFY-Verificationstarting:FILE=/u01/app/oracle/oradata/test/users01.dbfDBVERIFY-VerificationcompleteTotalPagesExamined:155520TotalPagesProcessed(Data):66397TotalPagesFailing(Data):0TotalPagesProcessed(Index):52TotalPagesFailing(Index):0TotalPagesProcessed(Other):88898TotalPagesProcessed(Seg):0TotalPagesFailing(Seg):0TotalPagesEmpty:173TotalPagesMarkedCorrupt:0TotalPagesInflux:0TotalPagesEncrypted:0HighestblockSCN:3764775(0.3764775)

獲取表在文件中的存儲信息

zx@TEST>setserveroutputonzx@TEST>declarerfnonumber;2rtypenumber;3ononumber;4blknonumber;5rownonumber;6ridvarchar2(30);7begin8selectrowidintoridfrombbed;9dbms_rowid.rowid_info(ROWID_IN=>rid,RELATIVE_FNO=>rfno,BLOCK_NUMBER=>blkno,ROW_NUMBER=>rowno,ROWID_TYPE=>rtype,OBJECT_NUMBER=>ono);10dbms_output.put_line(rfno||','||blkno||','||rowno);11end;12/4,45844,0PL/SQLproceduresuccessfullycompleted.

使用bbed修改塊信息

[oracle@rhel6bbed]$bbedparfile=bbed.parPassword:BBED:Release2.0.0.0.0-LimitedProductiononMonMay2221:17:182017Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.*************!!!ForOracleInternalUseonly!!!***************BBED>setdba4,45844DBA0x0100b314(168230604,45844)BBED>find/czhaoxuFile:/u01/app/oracle/oradata/test/users01.dbf(4)Block:45844Offsets:8182to8191Dba:0x0100b314------------------------------------------------------------------------7a68616f787501065873<32bytesperline>BBED>dump/vdba4,45844offset8182count32File:/u01/app/oracle/oradata/test/users01.dbf(4)Block:45844Offsets:8182to8191Dba:0x0100b314-------------------------------------------------------7a68616f787501065873lzhaoxu..Xs<16bytesperline>BBED>modify100dba4,45844Warning:contentsofpreviousBIFILEwillbelost.Proceed?(Y/N)yFile:/u01/app/oracle/oradata/test/users01.dbf(4)Block:45844Offsets:8182to8191Dba:0x0100b314------------------------------------------------------------------------6468616f787501065873<32bytesperline>BBED>dump/vdba4,45844offset8182count32File:/u01/app/oracle/oradata/test/users01.dbf(4)Block:45844Offsets:8182to8191Dba:0x0100b314-------------------------------------------------------6468616f787501065873ldhaoxu..Xs<16bytesperline>BBED>exit

再次使用dbv檢查文件

[oracle@rhel6bbed]$dbvfile=/u01/app/oracle/oradata/test/users01.dbfDBVERIFY:Release11.2.0.1.0-ProductiononMonMay2221:18:462017Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.DBVERIFY-Verificationstarting:FILE=/u01/app/oracle/oradata/test/users01.dbfPage45844ismarkedcorruptCorruptblockrelativedba:0x0100b314(file4,block45844)Badcheckvaluefoundduringdbv:Datainbadblock:type:6format:2rdba:0x0100b314lastchangescn:0x0000.00397358seq:0x1flg:0x04spare1:0x0spare2:0x0spare3:0x0consistencyvalueintail:0x73580601checkvalueinblockheader:0x7c2dcomputedblockchecksum:0x1eDBVERIFY-VerificationcompleteTotalPagesExamined:155520TotalPagesProcessed(Data):66396TotalPagesFailing(Data):0TotalPagesProcessed(Index):52TotalPagesFailing(Index):0TotalPagesProcessed(Other):88898TotalPagesProcessed(Seg):0TotalPagesFailing(Seg):0TotalPagesEmpty:173TotalPagesMarkedCorrupt:1TotalPagesInflux:0TotalPagesEncrypted:0HighestblockSCN:3764775(0.3764775)

報告一個壞塊,Total Pages Marked Corrupt : 1

再次查詢測試表:

sys@TEST>select*fromzx.bbed;IDNAME----------------------------------------------------------------------1zhaoxu

查詢正常,因為在buffer_cache中緩存了塊,而修改的是文件中的塊。兩個塊現(xiàn)在不一致,清空buffer cache后再次查詢測試表。

zx@TEST>altersystemflushbuffer_cache;Systemaltered.zx@TEST>select*frombbed;select*frombbed*ERRORatline1:ORA-01578:ORACLEdatablockcorrupted(file#4,block#45844)ORA-01110:datafile4:'/u01/app/oracle/oradata/test/users01.dbf'

查詢報出錯誤ORA-01578。

使用dbv檢查ASM文件中的數(shù)據(jù)文件,需要指定userid參數(shù)

[oracle@rac1~]$dbvfile=+DATA/orcl/datafile/users.259.925306091userid=sys/123456DBVERIFY:Release11.2.0.4.0-ProductiononMonMay2216:48:222017Copyright(c)1982,2011,Oracleand/oritsaffiliates.Allrightsreserved.DBVERIFY-Verificationstarting:FILE=+DATA/orcl/datafile/users.259.925306091DBVERIFY-VerificationcompleteTotalPagesExamined:640TotalPagesProcessed(Data):16TotalPagesFailing(Data):0TotalPagesProcessed(Index):2TotalPagesFailing(Index):0TotalPagesProcessed(Other):593TotalPagesProcessed(Seg):0TotalPagesFailing(Seg):0TotalPagesEmpty:29TotalPagesMarkedCorrupt:0TotalPagesInflux:0TotalPagesEncrypted:0HighestblockSCN:0(0.0)

總結

以上是生活随笔為你收集整理的Oracle中DBV命令行工具如何使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。