0

DB2 EEE セットアップのテーブルスペース サイズを取得しようとしています。次のコマンドを実行すると:

db2 => list tablespaces 
 Tablespace ID                        = 1
 Name                                 = TEMPSPACE1
 Type                                 = System managed space
 Contents                             = System Temporary data
 State                                = 0x0000
   Detailed explanation:
    Normal
 Total pages                          = 1
 Useable pages                        = 1
 Used pages                           = 1
 Free pages                           = Not applicable
 High water mark (pages)              = Not applicable
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 32
 Prefetch size (pages)                = 32
 Number of containers                 = 1

上記のコマンドは単一インスタンス DB では正常に機能しますが、DB2EEE の場合は、各ノードからテーブルスペースのサイズを取得して合計するか、次のクエリを使用する必要があります。

db2 -c "select TABLESPACE_NAME,usable_pages as TBSPC_Pages from table (snapshot_tbs_cfg ('DB2EEE',-2))

TABLESPACE           2                    TABLESPACE_SIZE
----------------------------------------- --------------------
TEMPSPACE1            0                    0

上記のクエリは、同じテーブルスペースのページ数を「0」として返していますが、前のコマンドでは「1」として返されていました。

上記のどれが正しいのか、その理由は何ですか? または、DB2 のテーブルスペースのサイズを見つける他の方法はありますか (単一の noe と EEE インスタンスの両方)

4

1 に答える 1

0

この表関数は推奨されていませんが (DB2 9.1 では推奨されていません)、これは のバグのように見えますが、SNAPSHOT_TBS_CFG最新バージョンでは修正されています (このバグは 9.7.3 では見られません)。これは、より便利なSNAPTBSP_PART管理ビューに置き換えられました。

DPF (旧称 EEE) では、データベース パーティション番号 ( -2) のグローバル引数を指定してこのテーブル関数を使用することは、出力にデータベース パーティション番号が含まれるため、特に有用ではないことに注意してください。複数のデータベース パーティションにまたがるテーブルスペースの場合は、複数の行が返され、どの行がどのデータベース パーティションから来たかを知る方法がありません。

于 2013-09-06T15:33:23.413 に答える