db2dart工具

db2dart 工具概述

可以使用 db2dart 命令来验证数据库及其对象的体系结构是否正确。还可以使用它来显示数据库控制文件的内容,以便从其他情况下可能无法访问的表中抽取数据。

要显示所有可能的选项,需发出不带任何参数的 db2dart 命令。如果命令行中未显式指定一些需要参数的选项(如表空间标识),那么会提示输入这些参数。

缺省情况下,db2dart 实用程序将创建名为 databaseName.RPT 的报告文件。对于单分区数据库分区环境,将在当前目录中创建该文件。对于多分区数据库分区环境,将在诊断目录的子目录中创建该文件。该子目录称为 DART####,其中 #### 是数据库分区号。

在 DB2® pureScale® 环境中,每个成员都有一些元数据文件(例如,缓冲池配置文件),这些文件是针对每个成员(而不是针对每个数据库)进行验证或更新的。

db2dart 实用程序通过直接从磁盘中读取数据库中的数据和元数据来对其进行访问。因此,决不能对仍具有活动连接的数据库运行该工具。如果存在活动连接,那么该工具将不知道缓冲池中的页面或内存中的控制结构(此处是举例说明),可能会报告假的错误结果。同样,如果对需要进行崩溃恢复或尚未完成前滚恢复的数据库运行 db2dart,由于磁盘上的数据性质不一致,可能会导致类似的不一致情况。

比较 INSPECT 和 db2dart

INSPECT 命令用于检查数据库的体系结构完整性,从而检查数据库的各页是否一致。INSPECT 命令会检查表对象的结构和表空间的结构是否有效。交叉对象验证会创建索引与数据一致性的联机检查。db2dart 命令会检查数据库以了解体系结构是否正确,并报告遇到的所有错误。

db2dart - 数据库分析和报告工具命令

检查数据库的体系架构的正确性,报告遇到的错误。

由db2dart命令生成的报告 由 在数据库被该命令分析的时候 使用的 编码页 相同的编码页进行编码 。同理,被指定作为db2dart命令一部分 的 参数值 被相同的编码页翻译在数据库被分析的时候。字符串 在db2dart 报告文件中 和输入值 被加密。(Reports generated by the db2dart command are encoded in the same code page as the database being analyzed by the command. Similarly, parameter values specified as part of the db2dart command are interpreted with the same code page as the database being analyzed. The character string that is in the db2dart report file and input value is encoded in the database code page.

db2dart命令本身不执行编码页的转换。

当引用db2dart命令的时候,你只能指定一个操作。一个操作可以支持多个选项。

Authorization授权

You must have SYSADM authority to use the db2dart command.

Required connection

None. db2dart must be run with no users connected to the database.

Command syntax

>>-db2dart--database-name--+---------------------+-------------><
                           '-action--+---------+-'   
                                     '-options-'     

Command parameters

检查操作Inspection actions
  • /DB
    检查整个数据库,这个是默认的选项。
  • /T
    检查一个或多个表,需要两个输入:table space ID,以及表对象ID 或者表ID列表或表名称列表(Requires two inputs: a table space ID, and either, the table object ID or a list of table object IDs, or the table name)。
  • /TSF
    检查存储组 和 表空间文件和容器。
  • /TSC
    检查一个或多个表空间的表空间结构,但是不检查表,需要一个输入:表空间id或表空间id列表。
  • /TS
    检查一个货多个表空间和它们的表,需要一个输入:表空间ID或表空间id列表。
  • /ATSC
    检查所有表空间的结构,但是不包括它们的表。
数据格式化操作Data formatting actions
  • /DD
    导出格式化的表数据。如果就是目前的文件,行内的LOB数据也展示。需要5个输入值:表ID或表名称,表空间ID,起始页号码,数据页数,verbose选项。
  • /DI
    导出格式化索引数据,需要5个输入:表ID或表名称,表空间ID,起始页号码,数据页数,verbose选择。

    • 对分区表上的非分区索引,/DI操作使用来自SYSCAT.INDEXES的INDEX_OBJECTID和TABSPACEID作为前两个输入:/OI和/TSI。这个操作不支持/TN表名称选项。
    • 对于分区表上的分区索引,/DI 操作使用SYSCAT.DATAPARTITIONS中的PARTITIONOBJECTID 和TBSPACEID,表名称不被支持。
  • /DM
    导出格式化块映射数据。需要5个参数:表ID或表名称,表空间ID,起始页号码,数据页数,verbose选择。data展示了在重组之后一个块是否被tablespace重新回收使用 来 释放 空的reclaim 多维集群 或插入时间集群表 块(The data shows whether a block has been reclaimed for use by the table space following a reorganization to reclaim multidimensional clustering (MDC) or insert time clustering (ITC) table blocks that were empty.

  • /DP
    导出哈希格式的数据页

    • 对于在DMS表空间中不变的对象,操作/DP 需要三个输入值,包括:表空间ID,起始页号,页数目。
    • 对于在SMS表空间中的不变的对象,操作/DP需要5个输入值:表空间ID、对象ID、起始页、页号码和对象类型。
  • /DTSF
    导出格式化的表空间和存储组文件信息

  • /DEMP
    导出一个DMS表的格式化的扩展块映射页EMP(Extent Map Page)信息。需要两个参数:表空间ID和表对象id或表名。

  • /DDEL
    导出以定界符分隔对的ASCII嘛格式格式化的表数据。需要四个输入值:表ID或表名称,表空间id,起始页,页数目。
    导出的分隔ASCII文件 是 以数据库编码页加密的。db2dart命令不执行编码页转换。
    /DDEL参数仅支持下面的列数据类型,如果一个表包含其他类型的列,这个列会被跳过,不会包含在导出的ASCII文件中。
    - SMALLINT
    • FLOAT
    • REAL
    • INTEGER
    • TIME
    • DECIMAL
    • CHAR()
    • VARCHAR()
    • DATE
    • TIMESTAMP
    • BIGINT
      If a column of type CHAR and VARCHAR contains any binary data, or is defined with FOR BIT DATA, the /DDEL parameter generates the DEL file which contains the binary data. When you load data from the DEL file to the table using the LOAD command, ensure that you always specify the modified by delprioritychar option. When you insert data into the table from the DEL file using the IMPORT command, make sure that you always specify the modified by delprioritychar codepage=x option where x is the code page of the data in the input data set.
  • /DHWM
    导出高水位标记信息,需要一个输入项:表空间ID。
  • /DXA
    以ASCII码格式导出格式化的XML列数据。需要5个输入: 表id或表名称、表空间名称、起始页、页数目、verbose选择。
  • /DXH
    以HEX格式导出格式化的XML列数据。需要5个输入: 表id或表名称、表空间名称、起始页、页数目、verbose选择。
  • /LHWM
    降低高水位标记的建议方法。需要两个参数:表空间id和页数(期望的高水位)
修补操作Repair actions
  • /ETS
    Extends the table limit in a 4 KB table space (DMS only), if possible. Requires one input value: table space ID.
  • /MI
    Marks index as invalid. When specifying this parameter the database must be offline. Requires two input values: table space ID and index object ID. For partitioned indexes, these values can be obtained from INDPARTITIONOBJECTID and INDPARTITIONTBSPACEID for SYSCAT.INDEXPARTITIONS.
  • /RHWM
    Reduces high water mark through empty SMP extents. When specifying this parameter the database must be offline. Requires one input value: table space ID.

Note:
你必须使用ALTER TABLESPACE REDUCE 命令来移除空的SMP extents。在表空间 允许回收存储时,你也可以使用ALTER TABLESPACE LOWER HIGH WATER MARK命令来移除SMP extents ,降低高水位标记。当数据库联机时,你可以使用ALTER TABLESPACE 命令。

更改状态操作Change state actions
  • /CHST
    改变一个数据库的状态。当指定这个参数时,数据库必须是离线的。需要两个参数:数据库备份挂起状态(database backup pending state)。

Help

  • /H
    展示帮助信息。

Input value options

  • /OI object-id
    指定对象ID,对于/T操作, 可以指定最多64个逗号分隔的ID列表。如果参照/TSI 选项包含不止一个输入ID,则只使用第一个ID。重复的ID被跳过。/T(table)操作需要指定本地的ID。
  • /TN table-name
    以大写形式指定表名称
  • /TSI tablespace-id
    指定表空间ID。对表空间级操作(/TS)或表空间容器操作(/TSC),可以指定最多64个逗号分隔的ID列表,重复的ID被跳过。
  • /ROW sum
    鉴别 长范围描述符,大对象描述符,以及控制信息是否要被检查。你可以指定一个选项或将选项相加来指定多个选项。

    • 1
      检查行中的控制信息.
    • 2
      检查行中的long field 和LOB 描述符.
  • /RPT path
    可选的报告输出文件路径。

  • /RPTN file-name
    可选的报告输出文件名称
  • /PS number
    指定起始页号码。当使用/DP(dump data pages)操作时,p 后缀可以被于池相对定位。指定 /PS 0 /NP 0将造成指定对象的所有页都被导出。

  • /NP number
    指定数据页数目。指定/PS 0 /NP 0将造成指定对象的所有页都被导出。

  • /V option
    指定是否 使用 verbose(详细)选项。有效值如下:

    • Y
      指定使用详细信息。
    • N
      指定不使用详细信息。
  • /SCR option
    指定屏幕输出类型,如果有屏幕输出的话。有效值如下:

    • Y
      产生正常的屏幕输出。
    • M
      产生最少的屏幕输出。
    • N
      不产生屏幕输出。
  • /RPTF option
    指定报告文件输出类型。有效值为:

    • Y
      产生正常的报告文件输出。
    • E
      只输出错误信息到报告文件中。
    • N
      不产生报告文件输出。
  • /ERR option
    指定DART.INF生成的日志类型。有效值如下:

    • Y
      在DART.INF文件中产生正常的日志。
    • N
      最少输出到DART.INF文件中的日志。
    • E
      最小化DART.INF文件和屏幕输出,只发送错误信息到报告文件。
  • /WHAT DBBP option
    指定数据库备份挂起状态。有效值如下:

    • OFF
      关闭状态
    • ON
      启用状态
  • /QCK sum
    指定执行那个快选项。你可以指定一个选项或将选项值加在一起来执行多种quick选项。

    • 1
      The /QCK 1 option applies to only the /DB, /T, and /TS actions. This option inspects page 0 of the DAT objects and partially inspects the index objects (does not inspect BMP, LOB, LF objects and does not traverse the entirety of the DAT or INX objects). This is the default option.
    • 2
      The /QCK 2 option applies to only the /DB, /T, /TS, /DD, /DI, /DM, /DEMP, /DDEL, /DXA, and /DXH actions. This option skips the system catalog table lookup on nonpartitioned database environments and on the catalog partition of partitioned database environments. This option has no effect on non-catalog partitions of partitioned database environments. The /QCK 2 option does not apply to the actions mentioned earlier if the /TN option is specified with a table name or if the /OI and /TSI options are specified with logical IDs.
    • 4
      The /QCK 4 option applies to only the /T, /TS, and /TSC actions. This option skips special system catalog table inspection or system catalog table space inspection. For the /TS, and /TSC actions, the /QCK 4 option skips the special system catalog table inspection. For the /T action, the /QCK
      4 option skips inspection of the system catalog table space constructs.
    • 8
      The /QCK 8 option applies to only the /T, and /TS actions. This option skips the inspection of containers. For the /T action, the /QCK
      8 option skips the inspection of all container files. For the /TS action, the /QCK 8 option inspects only container files that are associated with the specified table space.
  • /TYP option
    指定对象类型,有效值如下

    • DAT
      对象类型是 DAT.
    • INX
      对象类型是 INDEX.
    • BKM
      对象类型是BMP.

示例

db2dart mytest  /dd  /tsi 5  /oi 4 /ps 0 /np 5500 /v y /rpt /DATA /rptn T1.dart
# /DD导出格式化的表数据。如果就是目前的文件,行内的LOB数据也展示。需要5个输入值:表ID(object id)或表名称,表空间ID(/tsi),起始页号码(page satrt),数据页数(number of pages)verbose选项(/v y)。
#tableid 可以在syscat.tables里面里找到。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值