11.4.18 チャンクをアンアーカイブする方法(アーカイブマルチチャンク表使用時)
アーカイブマルチチャンク表のチャンクをアンアーカイブする場合(チャンクのアーカイブ状態を解除する場合)は,adbunarchivechunkコマンドを実行してください。手順を次に示します。
手順
-
アーカイブ状態を解除するチャンクを特定する
アーカイブレンジ列の値を使用して,アーカイブ状態を解除するチャンクを特定してください。adbunarchivechunkコマンドに-rオプションと-tオプションを指定して実行すると,アーカイブレンジ列の値の範囲に含まれるチャンクのチャンクIDを確認できます。
指定例
アーカイブレンジ列中の日時情報に2015年1月1日〜2015年1月31日が含まれているチャンクを確認します。
adbunarchivechunk -u ADBUSER01 -p '#HelloHADB_01' -r '2015/01/01-2015/01/31' -t SALESLIST
adbunarchivechunkコマンドに-rオプションと-tオプションを指定して実行すると,KFAA80245-Iメッセージが出力されます。-rオプションに指定した日付の範囲に含まれるチャンクのチャンクIDをKFAA80245-Iメッセージで確認できます。
-
アーカイブ状態を解除したあとのデータ容量を確認する
チャンクのアーカイブ状態を解除するとデータ容量が増えます。データ容量が増えても問題がないかを確認してください。アーカイブ状態を解除したあとのチャンクのデータ容量を確認する場合は,adbdbstatusコマンドに-c archivechunkオプションと-nオプションを指定して,「アーカイブ状態のチャンクのサマリ情報」を出力してください。-nオプションには,アーカイブ状態を解除するチャンクがあるアーカイブマルチチャンク表の表名を指定します。
「アーカイブ状態のチャンクのサマリ情報」で,アーカイブ状態を解除するチャンクについて,次に示す情報を確認してください。
-
Unarchive_table_size(アーカイブ状態になる前のチャンクで,表を格納するために使用していたセグメントの容量)
-
Unarchive_index_size(アーカイブ状態になる前のチャンクで,インデクスを格納するために使用していたセグメントの容量)
上記の値の合計が,アーカイブ状態を解除したあとのチャンクのデータ容量(表データとインデクスデータ)の目安になります。
-
-
チャンクのアーカイブ状態を解除する
アーカイブ状態を解除したあとのデータ容量に問題がない場合は,adbunarchivechunkコマンドでチャンクのアーカイブ状態を解除してください。このとき,手順1.で調べたチャンクIDを-cオプションに指定してください。
指定例
チャンクIDが5のチャンクのアーカイブ状態を解除します。
adbunarchivechunk -u ADBUSER01 -p '#HelloHADB_01' -w /home/adbmanager/tmp -z /home/adbmanager/unarchive_file/unarchive_opt_file.txt -c 5 SALESLIST
- メモ
-
adbunarchivechunkコマンドに-cオプションではなく,-rオプションでアーカイブレンジ列の値の範囲を指定して,アーカイブ状態を解除するチャンクを指定することもできます。
アーカイブ状態を解除したチャンクについて,指定した範囲のチャンクのアーカイブ状態を解除できているかを確認したい場合は,adbdbstatusコマンドに-c archivechunkオプションと-nオプションを指定して,「アーカイブ状態のチャンクのサマリ情報」を出力してください。-nオプションには,アーカイブ状態を解除したチャンクがあるアーカイブマルチチャンク表の表名を指定します。そして,次に示す情報を確認してください。
-
Range_min(アーカイブレンジ列の最小値)
-
Range_max(アーカイブレンジ列の最大値)
また,アーカイブ状態を解除したチャンクについて,データ容量を確認したい場合は,adbdbstatusコマンドに-d usedオプション,-c tableオプションおよび-nオプションを指定して,「使用量情報」を出力してください。-nオプションには,アーカイブ状態を解除したチャンクがあるアーカイブマルチチャンク表の表名を指定します。そして,次に示す情報を確認してください。
-
Used_segments(使用中セグメント数)
-
Used_pages(使用中ページ数)
- メモ
-
-
adbunarchivechunkコマンドを実行すると,HADBサーバはアーカイブ状態を解除するために,システムが使用する一時的なチャンクを作成します。そのため,adbunarchivechunkコマンドを実行したあとに,バックグラウンドインポートやチャンクのマージを実行しても,作成されるチャンクのチャンクIDは「前回作成されたチャンクのチャンクIDに1が加算された番号」にはなりません。
-
adbunarchivechunkコマンドについては,マニュアルHADB コマンドリファレンスのadbunarchivechunk(チャンクのアンアーカイブ)を参照してください。
-
adbdbstatusコマンドについては,マニュアルHADB コマンドリファレンスのadbdbstatus(データベースの状態解析)を参照してください。
-