オンライン業務が終了したら、使用したデータベースが次のオンライン業務で領域不足とならないように、使用状況を把握しておきます。
容量監視は、DSIとデータベーススペースの2つの側面から、状況の把握を行います。
データベースの運用を行っていく過程では、データの追加や削除を繰り返すことによって、データベース内に空き領域が生じる場合があります。これは、性能劣化や、領域不足の原因になります。そこで、DSIに割当てられた領域の使用率を表示することにより、データベースの再配置やデータベースの容量拡張を行う契機を予測し、適切な処置を行う必要があります。DSIに割当てられた領域の使用率は、rdbudsiコマンドにより表示します。
参照
rdbudsiコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。
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オプションを指定した場合のみ表示されます。)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])を出力することによって、格納構造に左右されない判断が可能となります。
ここでは、判断を行う時の目安を示します。なお、使用中のページとは、以前に一度でもデータが格納されたことがあるページを表します。ページ内の行がすべて削除されている場合でも、使用中ページとして表示します。
データベースの再配置およびデータベースの容量拡張の操作については、“4.2.4 再編成”を参照してください。
使用中ページの割合([3])が大きい場合は、再配置または容量拡張を行います。
データが格納されているページの割合([2])が小さい場合は、再配置を行います。
データが格納されているページの割合([2])が大きい場合は、容量拡張を行います。
データが格納されているページの割合([2])が大きい場合は、容量拡張を行います。
DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の場合には、 “使用中のページに対してデータが格納されている領域の割合を出力した場合”にしたがって判断してください。
24時間連続運用など日々のデータベース運用中にrdbudsiコマンドを使用してDSIに割当てられた領域の使用率を表示する場合は、以下の点に注意してください。
rdbudsiコマンドでは、DSIに割当てられた領域の使用率を調べるために、アプリケーションと同一のディスクに対してアクセスを行います。そのため、アプリケーションのレスポンスに影響を与えてしまいます。なるべく実行中のアプリケーションが少ない時間を見計らって、rdbudsiコマンドを実行してください。
データベースのデータは、DSIの割付け先のデータベーススペースに格納されます。DSIを割り付けようとするデータベーススペースの空き領域が不足すると、新規にDSI定義ができなかったり、既存のDSIの容量が拡張できなくなります。そこで、データベーススペースの領域の使用状況を把握し、必要に応じて新たなデータベーススペースを作成するなどの作業を行います。新しいデータベーススペースを作成し、DSIの容量を拡張する方法については、“4.2.4 再編成”を参照してください。データベーススペース領域の使用状況の把握は、rdbspcinfコマンドで行います。
参照
rdbspcinfコマンドの指定方法の詳細については、“Symfoware Server コマンドリファレンス”を参照してください。
rdbspcinfコマンドの使用例を以下に示します。
あるデータベーススペースの領域の使用状況の概念図を以下に示します。このデータベーススペース名は“DBSP_1”とし、在庫管理DBに属するものとします。

備考. 在庫表DSIの自動容量拡張の拡張量として100キロバイト、製品名IXDSIの自動容量拡張の拡張量として200キロバイトが、このデータベーススペースに対して指定されているものとします。
データベーススペース“DBSP_1”の領域の使用状況を表示します。
$ rdbspcinf -p 在庫管理DB.DBSP_1 -f
Database space : DBSP_1 (1)
Device : /database/rdb/data/DB_SP1 (2)
Size : 10240K (3)
Static allocate size
element : 288K (在庫表DSI.DATA) (4)(5)(6)
element : 200K (製品名IXDSI.BASE) (4)(5)(6)
element : 40K (製品名IXDSI.INDEX) (4)(5)(6)
total : 528K (7)
Dynamic allocate size
element : 1024K (在庫表DSI.DATA) (8)(9)(10)
element : 1024K (製品名IXDSI.BASE) (8)(9)(10)
element : 208K (製品名IXDSI.INDEX) (8)(9)(10)
total : 2256K (11)
Dynamic propose size
element : 1024K (在庫表DSI.DATA) (12)(13)(14)
element : 1024K (製品名IXDSI.BASE) (12)(13)(14)
total : 2048K (15)
Free size
element : 48K (16)
element : 240K (16)
total : 288K (17)(1) データベーススペース名
(2) データベーススペースを作成したファイル名
(3) データベーススペースのサイズ(単位はキロバイト)
(4) (5)で示すDSIの(6)で示す割付け対象に、DSI定義時またはrdbgcdsi
コマンドのEオプションにより割付けた割付け量(単位はキロバイト)
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(5) データベーススペースに定義されたDSI名
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(6) 割付け量((4))の表示対象とする割付け対象
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(7) DSI定義時またはrdbgcdsiコマンドのEオプションにより割付けた
割付け量の合計(単位はキロバイト)(8) (9)で示すDSIの(10)で示す割付け対象に、自動容量拡張により割付
けた割付け量(単位はキロバイト)
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(9) データベーススペースに定義されたDSI名
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(10) 割付け量((8))の表示対象とする割付け対象
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(11) 自動容量拡張により割付けた割付け量の合計(単位はキロバイト)
(12) (13)で示すDSIの(14)で示す割付け対象に、自動容量拡張時に割付
ける割付け量(単位はキロバイト)
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(13) データベーススペースに定義されたDSI名
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(14) 割付け量((12))の表示対象とする割付け対象
(fオプションを指定した場合、かつ、割付け量の合計が0キロバイト以外の場合のみ表示されます。)(15) 自動容量拡張時に割付ける割付け量の合計(単位はキロバイト)
(16) 未使用領域の大きさ(単位はキロバイト)
(fオプションを指定した場合のみ表示されます。)(17) 未使用領域の大きさの合計(単位はキロバイト)
なお、rdbspcinfコマンドでは、データベースに属するすべてのデータベーススペースの情報を表示することもできます。