DB2 データベースの保守
DB® データベースが正常に機能するようにするために、データを定期的にバックアップし、保守アクションを実行する必要があります。
このタスクについて
定期的なバックアップの実行
データベースに保管されているデータを定期的にバックアップします。
障害発生時に簡単にリカバリーできるように、サーバーのアップグレード前にデータベースをバックアップしておくことをお勧めします。
手順
-
データベースに保管されているデータを定期的にバックアップします。障害発生時に簡単にリカバリーできるように、サーバーのアップグレード前にデータベースをバックアップしておくことをお勧めします。
DB2 の保守: テーブルの再編成と索引の統計の最新表示
-
索引に一致させ、スペースを再利用するために、テーブルを再編成します。
- 統計を最新の状態に維持します。デフォルトでは、DB2® の統計は自動的に実行されます。このオプションが使用不可の場合は、以下のコマンドを手動で実行する必要があります。
ストレージの再利用/データベース・サイズの削減
テーブルスペースのサイズを小さくし、巨大な .LRG ファイルを避けるには、以下の手順に従ってください。
- 表領域で使用されているページを識別する方法
db2 inspect check tablespace name USERSPACE1 results keep inspect.log
- これにより、インスタンスの診断ディレクトリー (通常は <instance directory>/sqllib/db2dump) にファイル inspect.log が生成されます。マルチノードの場合、ノード番号をファイル名の末尾に追加して、ノードごとにファイルを生成します。例: inspect.log.000、inspect.log.001 など。または、ノードに対して別々のフォルダーを生成します。例: DIAG000、DIAG0001 など。
- 出力の形式を指定するには、出力ファイルが置かれている場所に移動して実行する必要があります。
db2inspf inspect.log inspect.out
- これにより、現在のディレクトリーに inspect.out が生成されます。
以下のコマンドが実行されるまでしばらく待つ必要がありますので、これらのコマンドは数分間離して実行してください
- スペースを回復するには、次を実行してください。
db2 "ALTER TABLESPACE USERSPACE1 LOWER HIGH WATER MARK "
- USERSPACE1 のサイズを小さくするには、以下を実行してください。
db2 "ALTER TABLESPACE USERSPACE1 REDUCE MAX
- 「上限基準点 (ページ)」の変更を確認するには
db2 "LIST TABLESPACES SHOW DETAIL"
- temadb のテーブルのサイズを取得するには、以下を実行してください。
-
db2 “select char(date(TAB.STATS_TIME))||'-'||char(time(TAB.STATS_TIME)) as STATSTIME, substr(TAB.TABSCHEMA,1,3) as TABSCHEMA, substr(TAB.TABNAME,1,35) as TABNAME, CARD as ROWS, (COL_OBJECT_P_SIZE + DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE) as TAB_ALLOC_KB, (COL_OBJECT_L_SIZE + DATA_OBJECT_L_SIZE + INDEX_OBJECT_L_SIZE + LONG_OBJECT_L_SIZE + LOB_OBJECT_L_SIZE + XML_OBJECT_L_SIZE) as TAB_USED_KB, DICTIONARY_SIZE AS DICT_P_SIZE, DATA_OBJECT_P_SIZE AS DATA_P_SIZE, INDEX_OBJECT_P_SIZE AS INDEX_P_SIZE, LOB_OBJECT_P_SIZE AS LOB_P_SIZE, LONG_OBJECT_P_SIZE AS LONG_P_SIZE, XML_OBJECT_P_SIZE AS XML_P_SIZE, DATA_OBJECT_L_SIZE AS DATA_L_SIZE, INDEX_OBJECT_L_SIZE AS INDEX_L_SIZE, LOB_OBJECT_L_SIZE AS LOB_L_SIZE, LONG_OBJECT_L_SIZE AS LONG_L_SIZE, XML_OBJECT_L_SIZE AS XML_L_SIZE from syscat.tables TAB join sysibmadm.admintabinfo ADMTI on TAB.tabname=ADMTI.tabname and TAB.tabschema=ADMTI.tabschema where TAB.TABSCHEMA IN ('DBO','SAM','ADM') order by TABSCHEMA, TABNAME with ur"
-
- 表領域で使用されているページを識別する方法
次のタスク
db2advis
) を使用する必要があります。このコマンドは、データベースのパフォーマンスを向上させる可能性がある新しい索引の検出に役立ちます。設計アドバイザーは DB2 モニターからの出力を使用して、新しい索引を作成するように提案します。この提案は、モニターで検出される照会に基づいて行われます。設計アドバイザーについて詳しくは、DB2 の資料を参照してください。