オンライン業務が終了したら、使用したデータベースが次のオンライン業務で領域不足とならないように、使用状況を把握しておきます。
容量監視は、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コマンドでは、データベースに属するすべてのデータベーススペースの情報を表示することもできます。