Hitachi

Hitachi Advanced Database システム構築・運用ガイド


11.20.3 ディクショナリ表およびシステム表を再編成する方法

ディクショナリ表(実表)およびシステム表(実表)を再編成する場合は,adbreorgsystemdataコマンドを実行します。

adbreorgsystemdataコマンドについては,マニュアルHADB コマンドリファレンスadbreorgsystemdata(ディクショナリ表およびシステム表の再編成)を参照してください。

重要

ディクショナリ表(実表)およびシステム表(実表)の再編成処理中には,処理対象表を格納する各DBエリアに,「再編成前のデータ」と「再編成後のデータ」の2つのデータが一時的に存在します。

  • ディクショナリ表(実表)を再編成する場合,ディクショナリ表(実表)を格納するディクショナリ用DBエリアが該当します。

  • システム表(実表)を再編成する場合,システム表(実表)を格納するシステム表用DBエリアが該当します。

そのため,各DBエリアに対応するディスクに2つのデータを格納できるだけの空き容量がない場合は,ディクショナリ表(実表)またはシステム表(実表)を再編成できません。

adbreorgsystemdataコマンドの実行例

この実行例では,システム表(実表)のSTATUS_CHUNKS表に対して,再編成を行います。また,adbreorgsystemdataコマンドがタイムアウトになるまでの時間として,300秒を指定します。

adbreorgsystemdata --timeout 300
                   -c table
                   -f /home/adbmanager/reorg_file/unldpath.txt
                   -n STATUS_CHUNKS
メモ

adbreorgsystemdataコマンドを実行する際,--timeoutオプションを指定することを推奨します。

adbreorgsystemdataコマンドを実行すると,通常は数十秒から数分程度で終了します。ただし,特定のSQL文やコマンドを実行している場合は,adbreorgsystemdataコマンドが待ち状態となります。そのため,adbreorgsystemdataコマンドの実行時間が長くなるおそれがあります。

adbreorgsystemdataコマンドでディクショナリ表(実表)の再編成を実行している間は,ほかのSQL文やコマンドは同時に実行できません。

また,adbreorgsystemdataコマンドでシステム表(実表)の再編成を実行している間は,adbimportコマンドやadbmergechunkコマンドなどは実行できません。adbreorgsystemdataコマンドの待ち状態については,「11.20.4 ディクショナリ表およびシステム表の再編成と排他制御」を参照してください。

adbreorgsystemdataコマンドの実行時間が長くなることで,システムの運用に支障が出る場合は,--timeoutオプションを指定してください。--timeoutオプションに指定した時間内でadbreorgsystemdataコマンドが終了しなかった場合は,再編成処理がキャンセルされます。

adbreorgsystemdataコマンドがキャンセルされた場合は,出力されたメッセージを確認したあとで,再度adbreorgsystemdataコマンドを実行してください。