10.9.3 B-treeインデクスの状態や使用量を確認したい場合
adbdbstatusコマンドで,インデクスのサマリ情報を取得すると,B-treeインデクスの状態や使用量を確認できます。
- 〈この項の構成〉
(1) B-treeインデクスが未完状態かどうかを確認する場合
B-treeインデクスが未完状態かどうかを確認する場合,次に示すadbdbstatusコマンドを実行してください。
- 実行するコマンドの例
-
ここでは,B-treeインデクスADBUSER01.IDX1のサマリ情報を出力します。
adbdbstatus -d summary -c index -n ADBUSER01.IDX1
adbdbstatusコマンドを実行すると,標準出力にB-treeインデクスADBUSER01.IDX1のサマリ情報が出力されます。
インデクスのサマリ情報から,Unfinishedの出力内容を確認してください。unfinishedが出力されている場合,B-treeインデクスは未完状態となっています。
B-treeインデクスの未完状態を解除するためには,「16.9.1 B-treeインデクスが未完状態になったときの対処方法」を参照してください。
(2) ユニークインデクスが一意性制約違反状態かどうかを確認する場合
ユニークインデクスが一意性制約違反状態かどうかを確認する場合,次に示すadbdbstatusコマンドを実行してください。
- 実行するコマンドの例
-
ここでは,B-treeインデクスADBUSER01.IDX1のサマリ情報を出力します。
adbdbstatus -d summary -c index -n ADBUSER01.IDX1
adbdbstatusコマンドを実行すると,標準出力にB-treeインデクスADBUSER01.IDX1のサマリ情報が出力されます。
インデクスのサマリ情報から,Unique_constraint_violatedの出力内容を確認してください。
-
unique_constraint_violatedが出力されている場合,B-treeインデクスは一意性制約違反状態となっています。一意性制約違反状態を解除するためには,「16.9.2 一意性制約に違反した場合の対処方法(KFAA61205-Wメッセージが出力された場合)」の「(2) 一意性制約違反状態を解除する方法」を参照してください。
-
unknownが出力されている場合は,B-treeインデクスが一意性制約違反状態かどうかを判断できません。adbidxrebuildコマンドでB-treeインデクスを再作成したあとで,再度adbdbstatusコマンドを実行して一意性制約違反状態かどうかを確認してください。
adbidxrebuildコマンドについては,マニュアルHADB コマンドリファレンスのadbidxrebuild(インデクスの再作成)を参照してください。
(3) B-treeインデクスの使用量を確認する場合
B-treeインデクスの使用量を確認する場合,次に示すadbdbstatusコマンドを実行してください。
- 実行するコマンドの例
-
ここでは,B-treeインデクスADBUSER01.IDX1のサマリ情報を出力します。
adbdbstatus -d summary -c index -n ADBUSER01.IDX1 -S M --shared-lock
adbdbstatusコマンドを実行すると,標準出力にB-treeインデクスADBUSER01.IDX1のサマリ情報が出力されます。
インデクスのサマリ情報から,MB_Used_pagesの出力内容を確認してください。DBエリア内に格納されているB-treeインデクスのデータが使用している領域を,メガバイト単位で確認できます。