データベースの運用を行っていく過程では、データの追加や削除を繰り返すことによって、データベース内に空き領域が生じる場合があります。これは、性能劣化や、領域不足の原因になります。そこで、DSIに割当てられた領域の使用率を表示することにより、データベースの再配置やデータベースの容量拡張を行う契機を予測し、適切な処置を行う必要があります。DSIに割当てられた領域の使用率は、rdbudsiコマンドにより表示します。
参照
rdbudsiコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。
rdbudsiコマンドの表示例を以下に示します。
SEQUENTIAL構造の場合
$ rdbudsi -i 在庫管理DB.在庫表DSI -f DSI(在庫管理DB.在庫表DSI) , TYPE(SEQUENTIAL), DATA(968, 19% , 20% ,250 , 80%) (1) (2) (3) (4) (5)
(1) 割付け対象に格納されている行数
(2) 割付けページ数に対してデータが格納されているページの割合(単位は%)
(3) 割付けページ数に対して使用中のページの割合(単位は%)
(4) 割付けページ数
(5) 使用中ページに対してデータが格納されている領域の割合(単位は%) (fオプションを指定した場合のみ表示されます。)
OBJECT構造の場合
$ rdbudsi -i 在庫管理DB.在庫表DSI -f DSI(在庫管理DB.在庫表DSI) , TYPE(OBJECT), DATA(10 , 34% , 34% ,9600 , 80%) (1) (2) (3) (4) (5)
(1) 割付け対象に格納されている行数
(2) 割付けページ数に対してデータが格納されているページの割合(単位は%)
(3) 割付けページ数に対して使用中のページの割合(単位は%)
(4) 割付けページ数
(5) 使用中ページに対してデータが格納されている領域の割合(単位は%) (fオプションを指定した場合のみ表示されます。)
RANDOM構造の場合
$ rdbudsi -i 在庫管理DB.在庫表DSI -f DSI(在庫管理DB.在庫表DSI) , TYPE(RANDOM), PRIME(432, 90% ,100% , 70 , 80%),OVERFLOW(1968, 19% , 20% ,250 , 80%) (1) (2) (3) (4) (5) (1) (2) (3) (4) (5)
(1) 割付け対象に格納されている行数
(2) 割付けページ数に対してデータが格納されているページの割合(単位は%)
(3) 割付けページ数に対して使用中のページの割合(単位は%) (注)
(4) 割付けページ数
(5) 使用中ページに対してデータが格納されている領域の割合(単位は%) (fオプションを指定した場合のみ表示されます。)
注) プライム部については、常に100%として出力されます。
BTREE構造の場合
$ rdbudsi -i 在庫管理DB.在庫表IXDSI -f DSI(在庫管理DB.在庫表IXDSI) , TYPE(BTREE), BASE( 0 , 0% , 0% ,128 , 0%),INDEX(-- , 0% , 0% , 64 , 0%) (1) (2) (3) (4) (5) (2) (3) (4) (5)
(1) 割付け対象に格納されている行数
(2) 割付けページ数に対してデータが格納されているページの割合(単位は%)
(3) 割付けページ数に対して使用中のページの割合(単位は%)
(4) 割付けページ数
(5) 使用中ページに対してデータが格納されている領域の割合(単位は%) (fオプションを指定した場合のみ表示されます。)
rdbudsiコマンドで表示される、データが格納されているページの割合(出力形式[2])と使用中ページの割合([3])から、データベースの再配置を行うかデータベースの容量拡張を行うかの判断をします。
また、使用中ページに対してデータが格納されている領域の割合(出力形式[5])を出力することによって、格納構造に左右されない判断が可能となります。
ここでは、判断を行う時の目安を示します。なお、使用中のページとは、以前に一度でもデータが格納されたことがあるページを表します。ページ内の行がすべて削除されている場合でも、使用中ページとして表示します。
データベースの再配置およびデータベースの容量拡張の操作については、“7.9 再編成”を参照してください。
使用中ページの割合([3])が大きい場合は、再配置または容量拡張を行います。
データが格納されているページの割合([2])が小さい場合は、再配置を行います。
データが格納されているページの割合([2])が大きい場合は、容量拡張を行います。
データが格納されているページの割合([2])が大きい場合は、容量拡張を行います。
DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の場合には、 “使用中のページに対してデータが格納されている領域の割合を出力した場合”にしたがって判断してください。
データが格納されているページの割合([2])が大きくなった場合、オーバフロー部を使用するので、特に再配置や容量拡張を行う必要はありません。
処理速度の向上を期待するのであれば、プライム部の容量拡張を行った後、再配置処理を行ってください。
使用中ページの割合([3])が大きい場合は、再配置または容量拡張を行います。
データが格納されているページの割合([2])が小さい場合は、再配置を行います。
データが格納されているページの割合([2])が大きい場合は、容量拡張を行います。
24時間連続運用など日々のデータベース運用中にrdbudsiコマンドを使用してDSIに割当てられた領域の使用率を表示する場合は、以下の点に注意してください。
rdbudsiコマンドでは、DSIに割当てられた領域の使用率を調べるために、業務アプリケーションと同一のディスクに対してアクセスを行います。そのため、業務アプリケーションのレスポンスに影響を与えてしまいます。なるべく実行中の業務アプリケーションが少ない時間を見計らって、rdbudsiコマンドを実行してください。