• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            db2dart和inspect

            Posted on 2010-03-20 01:59 Prayer 閱讀(2529) 評(píng)論(1)  編輯 收藏 引用 所屬分類: DB2
            在使用DB2數(shù)據(jù)庫(kù)的過程中,發(fā)生一些這樣或那樣的問題和故障是不可避免的。在發(fā)生這些問題之后,如何及時(shí)和準(zhǔn)確地找到故障原因并合理地處理這些問題就顯得極為重要。本章介紹在DB2中的一些高級(jí)診斷工具和診斷方法。快速、合理地使用這些工具能夠極大地提高DBA處理數(shù)據(jù)庫(kù)故障的能力和效率。

              本章介紹的工具有db2dart和inspect、db2pdcfg、db2trc、db2_call_stack和db2nstck,并結(jié)合這些工具給出了大量的診斷問題的實(shí)例。

            本章主要講解如下內(nèi)容:

            ●       db2dart和inspect

            ●       db2pdcfg

            ●       db2trc

            ●       db2_call_stack和db2nstck

            9.1  db2dart和inspect

            9.1.1  db2dart和inspect概述

            當(dāng)DB2數(shù)據(jù)庫(kù)出現(xiàn)異常后,可以使用db2dart或inspect命令查看整個(gè)數(shù)據(jù)庫(kù)的一致性。db2dart命令可以用來驗(yàn)證數(shù)據(jù)庫(kù)以及相關(guān)的數(shù)據(jù)庫(kù)對(duì)象是否正確,是否存在問題;還可以用來顯示數(shù)據(jù)庫(kù)控制文件的內(nèi)容,以便在重建數(shù)據(jù)庫(kù)時(shí)從其他情況下無法訪問的表中抽取數(shù)據(jù)。

            如果想查看使用db2dart命令的相關(guān)語法,可以在當(dāng)前DB2 CLP窗口中,執(zhí)行db2dart命令(不帶任何參數(shù)),就可以看到其相關(guān)選項(xiàng)了。db2dart的基本語法是“db2dart < database name > [ action ] [ options . . . ] ”,默認(rèn)情況下,db2dart實(shí)用程序?qū)?chuàng)建一個(gè)“數(shù)據(jù)庫(kù)名.RPT”的報(bào)告文件。db2dart實(shí)用程序直接從磁盤中讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)和元數(shù)據(jù),而不是通過DB2數(shù)據(jù)庫(kù)管理器來進(jìn)行訪問。

            使用db2dart實(shí)用程序時(shí),需要注意,要保證該數(shù)據(jù)庫(kù)上沒有活動(dòng)的數(shù)據(jù)庫(kù)連接(也就是說如果不取消激活數(shù)據(jù)庫(kù),那么db2dart將產(chǎn)生不可靠的結(jié)果)。如果您在當(dāng)前DB2 CLP窗口中,先連接示例數(shù)據(jù)庫(kù)SAMPLE,然后再執(zhí)行“db2dart sample /db”命令,那么會(huì)有FYI提示信息,告訴你現(xiàn)在SAMPLE數(shù)據(jù)庫(kù)上有一個(gè)活動(dòng)的連接,請(qǐng)停掉所有的連接后再次執(zhí)行db2dart命令,具體過程和提示信息如下所示:

            C:\> db2 connect to sample  數(shù)據(jù)庫(kù)連接信息

            數(shù)據(jù)庫(kù)服務(wù)器 = DB2 / NT 9.5.0

             SQL 授權(quán)標(biāo)識(shí)  = DB2ADMIN

            本地?cái)?shù)據(jù)庫(kù)別名  = SAMPLE

             C:\> db2dart sample /db

            FYI: An active connection to the database has been detected .

             False errors may be reported .

             Deactivate all connections and re-run to verify .

             Warning : The database state is not consistent .

             Warning : Errors reported about reorg rows may

                             be due to the inconsistent state of the database .

             DB2DARTDB2DART Processing completed with warning ( s ) !

             Complete DB2DARTDB2DART report found in :

              C:\DOCUME~1\ALLUSE~1\APPLIC~1\IBM\DB2\DB2COPY1\DB2\DART0000\SAMPLE.RPT

            遇到這種情況,正確的做法是在當(dāng)前DB2CLP窗口中,發(fā)出“force applications all”命令,斷開所有的數(shù)據(jù)庫(kù)連接,然后執(zhí)行“db2dart sample /db”命令,具體過程如下所示:

            C:\> db2 force applications all

             DB20000I FORCE APPLICATION 命令成功完成。

             DB21024I  此命令為異步的,可能未能立即生效。

             C:\> db2 list applications

             SQL1611W  “數(shù)據(jù)庫(kù)系統(tǒng)監(jiān)視器”沒有返回任何數(shù)據(jù)。

             C:\> db2dart sample /db

            The requested DB2DART processing has completed successfully!

            Complete DB2DART report found in:

             :\DOCUME~1\ALLUSE~1\APPLIC~1\IBM\DB2\DB2COPY1\DB2\DART0000\SAMPLE.RPT

            db2dart命令成功完成,db2dart執(zhí)行結(jié)果顯示正常,如果有錯(cuò)誤的話,會(huì)提示有ERROR存在,所有的結(jié)果都會(huì)存儲(chǔ)在SAMPLE.RPT中。打開SAMPLE.RPT文件,可以看到數(shù)據(jù)庫(kù)診斷的詳細(xì)信息,由于篇幅有限,這里只列示了部分信息,如下所示:

            DART (V9.5)  Report :

            2008-04-02-23.28.24.531000

                        Database Name : SAMPLE

                        Report name : SAMPLE.RPT

                        Old report back-up : SAMPLE.BAK

                        Database Subdirectory : C:\DB2\NODE0000\SQL00002

                        Operational Mode :  Database Inspection Only ( INSPECT )

            Action option : DB

            Connecting to Buffer Pool Services . . .

               Database inspection phase start .

                  Tablespace file inspection phase start .

                  Loading tablespace files .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  Inspecting next tablespace and associated containers .

                  7 tablespaces were identified and their containers checked .

                  Tablespace file inspection phase end .

                  SYSBOOT inspection phase start .

                      Data inspection phase start . Data obj : 1  In pool : 0

                     Data inspection phase end .

                  SYSBOOT inspection phase end .

                  SYSTABLES inspection phase start .

                     Data inspection phase start . Data obj : 5  In pool : 0

                     Data inspection phase end .

                  SYSTABLES inspection phase end .

                  Bufferpool file report phase start .

                  1 bufferpools were identified .

                  Bufferpool file report phase end .

                  Tablespace inspection phase start . Pool : 0

                     Tablespace-info inspection phase start .

                        Checking Table space ID : 0

                        Name            =   SYSCATSPACE

                        Extent size     =   4

                        # of containers =   1

            ----------------略----------------------------

                  Table inspection end .

                  Tablespace inspection phase end .

                  Tablespace inspection phase start . Pool : 6

                  This is a temporary table space . Nothing to inspect .

                  Tablespace inspection phase end .

               Database inspection phase end .

            ----------------略----------------------------

            我們?cè)跀?shù)據(jù)庫(kù)的日常維護(hù)過程中,經(jīng)常使用的 db2dart命令的選項(xiàng)主要有:

            ●       /DB (默認(rèn)值):檢查整個(gè)數(shù)據(jù)庫(kù)。

            ●       /T:檢查單個(gè)表。

            ●       /TSF:只檢查表空間文件和容器。

            ●       /TSC:檢查一個(gè)表空間的結(jié)構(gòu),但不包含它所屬的那些表。

            ●       /TS:檢查一個(gè)單獨(dú)的表空間和它所屬的那些表。

            ●       /DI:轉(zhuǎn)儲(chǔ)(DUMP)索引頁結(jié)構(gòu)。

            下面我們舉幾個(gè)使用 db2dart和inspect的案例。

            9.1.2  利用db2dart查找停頓(quiesce)表空間的用戶

            在我們執(zhí)行quiesce命令停頓一張表期間,該表所在的表空間無法被其他應(yīng)用訪問,要查找停頓表空間的用戶,我們可以使用DB2 LIST TABLESPACES SHOW DETAIL命令。下面借助 db2dart工具產(chǎn)生的報(bào)告,我們可以查詢到發(fā)出quiesce命令的原始用戶。具體執(zhí)行步驟如下:

            (1) 停止DB2實(shí)例:db2stop force。

            (2) 產(chǎn)生db2dart的報(bào)告:db2dart sample /dtsf。

            (3) 從報(bào)告中查找發(fā)出停頓命令的用戶:根據(jù)命令執(zhí)行結(jié)果的提示,找到db2dart產(chǎn)生的報(bào)告文件。打開該文件,對(duì)于停頓的表空間,可以在文件中找到信息如下所示:

            Information for Tablespace ID: 2

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

            Tablespace name: USERSPACE1

            Table space flags (HEX): 0101

            Table space type: System Managed Space (SMS)

            Page size: 4096

            Extent size: 32

            Prefetch size: 32

            Version: 9

            Tablespace state: 2

            Number of quiescers: 1

            Userid of quiescer: DB2INST1

            Quiesce state: 2——注:16進(jìn)制表示的表空間狀態(tài),可執(zhí)行db2tbst 0x2命令查看16進(jìn)制

            的表空間狀態(tài)的詳細(xì)描述,命令輸出結(jié)果:Quiesced Update

            Tbspace ID of quiesced object: 2——注:表空間ID,對(duì)應(yīng)SYSCAT.TABLES表中的

            TBSPACEID Table ID of quiesced object: 15——注:表ID,對(duì)應(yīng)SYSCAT.TABLES表中

            的TABLEID字段

            EDU ID: 0

            ......

            定位表空間的ID和表的ID后,執(zhí)行下面的SQL語句找出是哪個(gè)表:

            db2 select tabname from syscat.tables where tbspaceid=2 and tableid=15

            TABNAME

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

            STAFF

              1 條記錄已選擇。

            使用查找到的用戶DB2INST1登錄后,執(zhí)行重置命令:

            db2 quiesce tablespaces for table db2inst1.staff reset

            命令執(zhí)行成功后連接數(shù)據(jù)庫(kù),驗(yàn)證表空間狀態(tài)正常。

            9.1.3  db2dart診斷高水位問題

            我們?cè)诒緯牡?章給大家講過表空間高水位的概念,現(xiàn)在讓我們來討論一個(gè)實(shí)際生產(chǎn)中有關(guān)高水位的案例。

            如果在一個(gè)表空間中刪除了大量記錄和表后,嘗試縮小表空間大小以釋放更多空間,那么會(huì)產(chǎn)生什么樣的結(jié)果呢?下面讓我們查看一下執(zhí)行這個(gè)操作產(chǎn)生的問題診斷信息。當(dāng)對(duì)這個(gè)表空間中的表執(zhí)行完reorg命令后,用調(diào)整表空間命令(alter tablespace)縮小表空間失敗,返回錯(cuò)誤SQL20170N(表空間中沒有足夠的空間來執(zhí)行指定的操作)。具體信息如下所示:

            alter tablespace tbspace1 resize "(all 15000k)"
            DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:
            SQL20170N There is not enough space in the table space "TBSPACE1 " for the specified action. SQLSTATE=57059

            為什么縮小表空間大小會(huì)失敗呢?

            失敗原因

            在這個(gè)案例中,由于表空間縮小的空間大小大于在高水位標(biāo)記之上的空間大小,因此調(diào)整表空間(alter tablespace)命令失敗并且返回SQL20170N錯(cuò)誤碼。通常,你可以通過執(zhí)行reorg table命令來釋放被占用的擴(kuò)展數(shù)據(jù)塊,這樣就可以降低表空間的高水位標(biāo)記;但是如果高水位標(biāo)記被空間映射頁(SMP)持有,那么擴(kuò)展數(shù)據(jù)塊將不能被reorg命令移動(dòng)。這個(gè)操作(reorg)或許就不能成功地降低高水位標(biāo)記。
                當(dāng)執(zhí)行reorg table命令時(shí),如果滿足下面的任何條件,那么都不能降低高水位標(biāo)記:

            ●       高水位標(biāo)記位置是表的PAGE 0頁(一個(gè)表對(duì)象的開始頁)。

            ●       內(nèi)部頁面管理頁在高水位標(biāo)記位置,如SMP(空間映射頁)或者EMP(擴(kuò)展數(shù)據(jù)塊映射頁)。

            ●       執(zhí)行一個(gè)表的在線(ONLINE)重組并且未指定臨時(shí)表空間。這個(gè)重組表操作將導(dǎo)致更高的高水位,并且表不能重新覆蓋原來的位置。

            ●       由于重組后必須要進(jìn)行索引集群,所以變長(zhǎng)數(shù)據(jù)記錄可能導(dǎo)致更差的頁面填寫。填寫數(shù)據(jù)結(jié)果將導(dǎo)致表占用空間反而比reorg之前有所增加,也就是說高水位標(biāo)記將升高而非下降。

            問題總結(jié)

            當(dāng)我們看到某個(gè)DMS表空間的已用頁數(shù)低于高水位標(biāo)記時(shí),則有可能通過如下方法降低高水位標(biāo)記:

            ●       重組表空間中的某個(gè)表。

            ●       將某個(gè)表中的數(shù)據(jù)導(dǎo)出,然后將它刪除,重新創(chuàng)建該表再將數(shù)據(jù)導(dǎo)入。

            在以上的方法中,首先要找到持有高水位標(biāo)記的那個(gè)表,這可以通過db2dart命令(在停止實(shí)例后方可使用)加上/DHWM選項(xiàng),然后從命令所產(chǎn)生的報(bào)告文件中來獲得相關(guān)信息。
                首先要找到持有高水位標(biāo)記的那個(gè)表,執(zhí)行db2dart命令:

            db2dart sample /dhwm /tsi 2 /rptn DLHW.TXT

            查看db2dart的輸出文件DLHW.TXT,查看持有高水準(zhǔn)標(biāo)記的表對(duì)象的信息:

            Dump highwater mark processing -phase start.

            Number of free extents below highwater mark: 168

            Number of used extents below highwater mark: 139

            Object holding highwater mark:Object ID: 4

            Type: Table Data ExtentDump highwater mark processing -phase end.

            執(zhí)行下面的SQL語句找出具體是哪個(gè)表持有高水位標(biāo)記:

             select tabschema, tabname from syscat.tables where tableid = 4 and tbspaceid=2

            而要獲得對(duì)該表執(zhí)行哪些操作可降低HWM的建議,可執(zhí)行db2dart命令并且加上/LHWM選項(xiàng),這樣就可以從產(chǎn)生的報(bào)告文件中獲得相關(guān)信息。使用/LHWM選項(xiàng)時(shí),要求用戶給出表空間的標(biāo)識(shí)以及希望HWM降低到的頁數(shù)(雖然不能保證HWM一定能降低到這一用戶期望值),如果該值使用0,則表明由DB2將HWM降低到能夠達(dá)到的最低值。如下所示:

            db2dart sample /lhwm /tsi 8 /rptn lhwm.txt

            執(zhí)行db2dart/lhwm命令,查看建議信息:

            Lower highwater mark processing -phase start.

            Current highwater mark: 306Desired highwater mark: 124

            Number of used extents in tablespace: 139

            Number of free extents below original HWM: 168

            Number of free extents below desired HWM: 122

            Number of free extents below current HWM: 168

            Step #1: Object ID = 4=> Offline REORG of this table using the LONGLOBDATA option (do not specify a temporary tablespace).

            Table: DB2ADMIN.HIST1

            在上面的例子中,我們可以通過對(duì)表DB2ADMIN.HIST1做離線重組來降低高水位。另外還可利用db2dart加/RHWM選項(xiàng)來移去DMS表空間中不再需要的空間映射數(shù)據(jù)塊來降低HWM,這些空間映射數(shù)據(jù)塊在其映射的數(shù)據(jù)被刪除時(shí)是不會(huì)被刪除的。例如,如果高水位標(biāo)記被一個(gè)不可挪動(dòng)的空間映射頁(SMP)擴(kuò)展數(shù)據(jù)塊持有,那么我們可以使用下面的命令來降低表空間的高水位標(biāo)記:

            db2dart sample/tsi 2/np 0/rhwm --注:選項(xiàng)/np 0會(huì)使高水位標(biāo)記降至盡可能低的位置

            db2dart命令可以被用于在數(shù)據(jù)庫(kù)停止的情況下移動(dòng)那些SMP擴(kuò)展數(shù)據(jù)塊。

            注意:

            如果是可恢復(fù)數(shù)據(jù)庫(kù)(采用歸檔日志),那么在執(zhí)行完此操作后數(shù)據(jù)庫(kù)將被置于備份暫掛狀態(tài)。這是因?yàn)閐b2dart不產(chǎn)生任何重做日志。因此,在執(zhí)行完db2dart命令后必須對(duì)數(shù)據(jù)庫(kù)做一個(gè)全備份操作。

            9.1.4  db2dart診斷數(shù)據(jù)頁損壞問題

            下面我們討論一個(gè)實(shí)際的案例,請(qǐng)看下面的db2diag.log文件:

            2008-09-22-11.46.45.864000+480 I805726H366 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            FUNCTION: DB2 UDB, buffer pool services, sqlbReadAndReleaseBuffers, probe:13

            RETCODE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad"

            DIA8400C A bad page was encountered.

            2008-09-22-11.46.45.910000+480 I806094H413 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            FUNCTION: DB2 UDB, buffer pool services, sqlbReadAndReleaseBuffers, probe:13

            DATA #1 : String, 126 bytes

            Obj={pool:34;obj:6;type:0} State=x27 Page=140354 Cont=0 Offset=140352

            BlkSize=12

            sqlbReadAndReleaseBuffers error: num-pages=8

            2008-09-22-11.46.45.942000+480 I806509H593 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            MESSAGE : SQLB_OBJECT_DESC

            DATA #1 : Hexdump, 68 bytes

            0x04B6B5DC : 2200 0600 2200 0600 0000 0000 003A A2A6 "..."........:..

            0x04B6B5EC : 40E5 0000 0000 0000 0000 0000 0000 0000 @...............

            0x04B6B5FC : 0000 0000 0101 0000 2700 0000 0000 0000 ........'.......

            0x04B6B60C : 0010 0000 2000 0000 0100 0000 2200 0600 .... ......."...

            0x04B6B61C : 408C 7400 @.t.

            SQL1034C The database is damaged. 

            2008-09-22-11.46.46.020000+480 I807104H356 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            FUNCTION: DB2 UDB, buffer pool services, sqlbErrorHandler, probe:0

            RETCODE : ZRC=0x86020001=-2046689279=SQLB_BADP "page is bad"

            DIA8400C A bad page was encountered.

            2008-09-22-11.46.46.020000+480 I807462H351 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            FUNCTION: DB2 UDB, buffer pool services, sqlbErrorHandler, probe:0

            DATA #1 : String, 75 bytes

            Obj={pool:34;obj:6;type:0} State=x27

            --注:Obj={pool:34;obj:6;type:0} State=x27,“pool”指的表空間ID,“obj”指的

            對(duì)象ID

            Prefetcher Error, in sqlbProcessRange

            2008-09-22-11.46.46.020000+480 I807815H593 LEVEL: Error

            PID : 1860 TID : 2732 PROC : db2syscs.exe

            INSTANCE: DB2INST NODE : 000

            MESSAGE : SQLB_OBJECT_DESC

            DATA #1 : Hexdump, 68 bytes

            0x04B6B5DC : 2200 0600 2200 0600 0000 0000 003A A2A6 "..."........:..

            0x04B6B5EC : 40E5 0000 0000 0000 0000 0000 0000 0000 @...............

            0x04B6B5FC : 0000 0000 0101 0000 2700 0000 0000 0000 ........'.......

            0x04B6B60C : 0010 0000 2000 0000 0100 0000 2200 0600 .... ......."...

            0x04B6B61C : 408C 7400 @.t.

            可以從系統(tǒng)表中讀取判斷是哪個(gè)表受到損壞。例如:

            select tabname from syscat.tables where tbspaceid=34 and tableid=6

            數(shù)據(jù)庫(kù)最嚴(yán)重的故障莫過于數(shù)據(jù)庫(kù)損壞。從上面的例子來看,我們的數(shù)據(jù)庫(kù)中有數(shù)據(jù)頁受到損壞。出現(xiàn)SQL1034C錯(cuò)誤時(shí),我們首先執(zhí)行操作系統(tǒng)命令。例如在AIX操作系統(tǒng)上,執(zhí)行“errpt –d H –T PERM”命令來判斷系統(tǒng)是否出現(xiàn)硬件損壞。然后嘗試使用“db2 restart db sample”命令讓數(shù)據(jù)庫(kù)執(zhí)行崩潰恢復(fù)。

            如果上述辦法不能解決問題,那么最好的辦法是從備份恢復(fù)數(shù)據(jù)庫(kù)。如果無法從備份恢復(fù),那么可以根據(jù)損壞的原因嘗試相應(yīng)的解決方案。對(duì)于存儲(chǔ)問題導(dǎo)致部分?jǐn)?shù)據(jù)文件損壞,但是數(shù)據(jù)庫(kù)還可以連接的情況,可以采用導(dǎo)出數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和數(shù)據(jù)的方法來恢復(fù)數(shù)據(jù)庫(kù)。當(dāng)然對(duì)于損壞的表,導(dǎo)出是無法完成的。這時(shí)可以使用db2dart的導(dǎo)出數(shù)據(jù)功能來導(dǎo)出這些損壞的表的數(shù)據(jù)。如果數(shù)據(jù)庫(kù)損壞到已經(jīng)無法連接的程度,那么除了從備份恢復(fù),唯一的辦法就是使用db2dart來導(dǎo)出所有數(shù)據(jù)了。下面展示了使用db2dart命令時(shí)的提示信息:

            運(yùn)行命令 db2dart /DDEL

              # Table object data formatting start.

              # Please enter

              # Table ID or name, tablespace ID, first page, num of pages:

               # (suffic page number with 'p' for pool relative),

            按照提示輸入表名、表空間ID、起始頁數(shù)、需要導(dǎo)出的頁數(shù)。如果你的數(shù)據(jù)庫(kù)非常大的話,這將是一個(gè)工作量非常大的事情。因此建議大家做好數(shù)據(jù)庫(kù)備份。

            9.1.5  inspect命令使用案例

              inspect命令類似于db2dart命令,它同樣可以用來檢查數(shù)據(jù)庫(kù)、表空間和表。 inspect命令和db2dart命令的主要區(qū)別是:inspect命令需要與數(shù)據(jù)庫(kù)連接,并且可以在該數(shù)據(jù)庫(kù)上同時(shí)有多個(gè)活動(dòng)的數(shù)據(jù)庫(kù)連接時(shí)執(zhí)行;而db2dart命令在執(zhí)行之前需要斷開所有數(shù)據(jù)庫(kù)連接,數(shù)據(jù)庫(kù)上不能有活動(dòng)的數(shù)據(jù)庫(kù)連接。

            inspect命令可以在有其他用戶連接的情況下驗(yàn)證數(shù)據(jù)庫(kù)的完整性。例如,使用“db2 inspect check database results keep <filename>”命令可以驗(yàn)證整個(gè)數(shù)據(jù)庫(kù)的完整性,具體語法如下所示:

            db2 " inspect check database results keep inspect.rel "

            DB20000I  INSPECT 命令成功完成。

            在Windows平臺(tái)下,輸出文件在“C:\IBM\SQLLIB\實(shí)例名”或DB2INSTPORF變量指定的目錄下;在Linux/UNIX平臺(tái)下,輸出文件在“$INSTHOME/sqllib/db2dump”目錄下。輸出的文件需要由db2instpf命令進(jìn)行格式化,db2instpf命令的語法是:

            db2inspf <data file> <out file>

            例如:

            db2inspf INSPECT.rel INSPECT.out

            執(zhí)行inspect命令時(shí)還可以加很多參數(shù),使用時(shí)可以執(zhí)行“db2 ? inspect”查看詳細(xì)的命令選項(xiàng)。下面我們舉幾個(gè)inspect的使用案例:

            例如,如果希望只檢查表空間2中的數(shù)據(jù),可執(zhí)行以下命令:

            db2 "inspect check tablespace tbspaceid 2 results keep inspect.rel"

            DB20000I  INSPECT 命令成功完成。

            對(duì)數(shù)據(jù)庫(kù)從表空間11對(duì)象2開始執(zhí)行一致性檢查,可執(zhí)行以下命令:

            db2 inspect check database begin TBSPACEID 11 OBJECTID 2 results checkts.out

            產(chǎn)生的checkts.out報(bào)告的具體信息如下所示:

            Feedback

            # re: db2dart和inspect  回復(fù)  更多評(píng)論   

            2013-07-31 14:03 by 787
            DB2dart
            国产亚洲精品美女久久久| 久久99精品久久久久久噜噜| 久久久久婷婷| 国产A三级久久精品| 久久er99热精品一区二区| 岛国搬运www久久| 麻豆精品久久久久久久99蜜桃| 久久WWW免费人成一看片| 2021精品国产综合久久| 久久亚洲AV无码西西人体| 色综合久久中文字幕无码| 国产午夜精品久久久久九九电影| 狠狠色婷婷久久一区二区| 久久国产精品成人免费| 欧美日韩精品久久免费| 国产高潮国产高潮久久久91| 狠狠色婷婷久久一区二区| 久久99精品国产麻豆蜜芽| 久久ZYZ资源站无码中文动漫| 一本大道久久香蕉成人网| 成人久久精品一区二区三区| 久久精品国产免费观看三人同眠| 亚洲国产精品人久久| 久久国产色AV免费看| 久久久久久曰本AV免费免费| 亚洲一级Av无码毛片久久精品| 久久这里只精品国产99热| 久久国产精品一国产精品金尊 | 91精品国产综合久久婷婷| 亚洲日本久久久午夜精品| 免费一级做a爰片久久毛片潮| 国产福利电影一区二区三区久久老子无码午夜伦不 | 九九久久99综合一区二区| 久久精品国产亚洲av麻豆小说| 久久强奷乱码老熟女网站| 婷婷久久综合九色综合九七| 久久综合久久伊人| 久久久久久精品成人免费图片| 日韩欧美亚洲综合久久| 亚洲午夜久久久影院| 久久精品中文无码资源站|