11.18.3 システム表を再編成する方法
システム表(実表)を再編成する場合は,adbreorgsystemdataコマンドを実行します。
adbreorgsystemdataコマンドについては,マニュアルHADB コマンドリファレンスのadbreorgsystemdata(システム表の再編成)を参照してください。
- 重要
-
システム表(実表)の再編成処理中には,システム表(実表)を格納するシステム表用DBエリアには,次に示す2つのデータが一時的に存在します。
-
再編成前のデータ
-
再編成後のデータ
そのため,ディスクに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コマンドを実行している間は,adbimportコマンドやadbmergechunkコマンドなどは実行できません。adbreorgsystemdataコマンドの待ち状態については,「11.18.4 システム表の再編成と排他制御」を参照してください。
adbreorgsystemdataコマンドの実行時間が長くなることで,システムの運用に支障が出る場合は,--timeoutオプションを指定してください。--timeoutオプションに指定した時間内でadbreorgsystemdataコマンドが終了しなかった場合は,再編成処理がキャンセルされます。
adbreorgsystemdataコマンドがキャンセルされた場合は,出力されたメッセージを確認したあとで,再度adbreorgsystemdataコマンドを実行してください。