(57)【特許請求の範囲】
【請求項１】
レコードを格納するプライム領域と、該プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出するためのデータベース操作契機検出プログラムであって、
コンピュータが、
前記データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するステップと、
前記新たなオーバフロー領域が作成された場合に、前記レコードの操作が前記データベースにおける不連続領域であるフラグメンテーションを発生させる操作か、前記オーバフロー領域の拡張を発生させる操作か、該フラグメンテーションも前記オーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断するステップと、
前記プライム領域と前記プライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新するステップと、
前記予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新するステップと、
前記再配置可能領域の個数と前記拡張方向領域の個数とを用いて、前記データベースの拡張実施と前記データベースの再配置実施についての操作契機を検出するステップとを実行するためのデータベース操作契機検出プログラム。
【請求項２】
レコードを格納するプライム領域と、該プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータが、
前記データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するステップと、
前記新たなオーバフロー領域が作成された場合に、前記レコードの操作が前記データベースにおける不連続領域であるフラグメンテーションを発生させる操作か、前記オーバフロー領域の拡張を発生させる操作か、該フラグメンテーションも前記オーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断するステップと、
前記プライム領域と前記プライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新するステップと、
前記予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新するステップと、
前記再配置可能領域の個数と前記拡張方向領域の個数とを用いて、前記データベースの拡張実施と前記データベースの再配置実施についての操作契機を検出するステップとを実行するためのコンピュータ読み取り可能な記録媒体。
【請求項３】
レコードを格納するプライム領域と、該プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出するデータベース操作契機検出方法であって、
コンピュータが、
前記データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するステップと、
前記新たなオーバフロー領域が作成された場合に、前記レコードの操作が前記データベースにおける不連続領域であるフラグメンテーションを発生させる操作か、前記オーバフロー領域の拡張を発生させる操作か、該フラグメンテーションも前記オーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断するステップと、
前記プライム領域と前記プライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新するステップと、
前記予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新するステップと、
前記再配置可能領域の個数と前記拡張方向領域の個数とを用いて、前記データベースの拡張実施と前記データベースの再配置実施についての操作契機を検出するステップとを実行することを特徴とするデータベース操作契機検出方法。
【請求項４】
レコードを格納するプライム領域と、該プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出するデータベース操作契機検出装置であって、
前記データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するとともに、前記新たなオーバフロー領域が作成された場合に、前記レコードの操作が前記データベースにおける不連続領域であるフラグメンテーションを発生させる操作か、前記オーバフロー領域の拡張を発生させる操作か、該フラグメンテーションも前記オーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断する第１の処理部と、
前記プライム領域と前記プライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、前記何れの操作が行われたのかについての判断結果とに基づいて、前記新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新し、前記新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新する第２の処理部と、
前記再配置可能領域の個数と前記拡張方向領域の個数とを用いて、前記データベースの拡張実施と前記データベースの再配置実施についての操作契機を検出する第３の処理部とを有することを特徴とするデータベース操作契機検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースの再配置実施契機や容量拡張実施契機を検出するデータベース操作契機検出プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体、データベース操作契機検出方法及びデータベース操作契機検出装置に関し、特に、オンライン業務に与える影響を極力少なくしつつ、正確なデータベースの再配置実施契機や容量拡張実施契機を検出できるようにするデータベース操作契機検出プログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体、データベース操作契機検出方法及びデータベース操作契機検出装置に関する。
【０００２】
ネットワークデータベースは、プライムページと、そのプライムページに空き領域がなくなったときに使用されるオーバフローページとを使って、高速アクセスを可能にするデータベースである。
【０００３】
このようなデータベースでは、オンライン業務に入ると、レコードが追加されたり削除されたり更新されたりすることで、プライムページやオーバフローページに断片的な空き領域が発生し、これによりデータベースの再配置（レコードの詰め替え）を行う必要がある。そして、データベースの容量が足りなくなりそうなときには、データベースの容量拡張を行う必要がある。
【０００４】
このようなデータベースの再配置の実施契機や容量拡張の実施契機については、オンライン業務に与える影響を極力少なくしつつ、正確に検出できるようにする必要がある。
【０００５】
【従来の技術】
従来では、データベース内のデータの格納状態を認識するためのジョブを実行し、そのジョブの分析結果（フラグメンテーションによる再使用が不可能な領域が多いのか少ないのかの分析結果）に基づいて、システム管理者がデータベースの再配置要否や容量拡張要否を判断していた。
【０００６】
そして、システム管理者は、この分析結果に基づいて、再使用可能領域が多いことでデータベースの再配置が必要と判断する場合には、本出願人が出願した特開平６-110743 号公報に開示される発明などに従って構成されるプログラムなどを起動することで、ジョブの動作中などにデータベースを再配置するようにしていた。
【０００７】
そして、システム管理者は、この分析結果に基づいて、データ増加に伴い、そのようなデータベースの再配置を行ってもデータが格納できない状態にあることを判断する場合には、データベースの容量拡張を実行するプログラムを起動することで、データベースの容量を拡張するようにしていた。
【０００８】
【発明が解決しようとする課題】
このように、従来技術では、データベース内のデータの格納状態を認識するためのジョブを実行することで、システム管理者がデータベースの再配置要否や容量拡張要否を判断するようにしている。このジョブの実行契機はオンライン業務の停止時である。
【０００９】
このとき起動するジョブは、全データベースに対してＩ／Ｏすることで、データベース内のデータの格納状態を認識する処理を行う。
【００１０】
これから、このような従来技術に従っていると、データベースの再配置要否や容量拡張要否を判断するためにオンライン業務を停止しなければならず、オンライン業務の時間延長という要求に対処できないという問題点がある。特に、２４時間連続運転のようなオンライン業務では大きな問題点となる。
【００１１】
更に、従来技術では、システム管理者が上述のジョブの分析結果を参照し、経験に基づいて、データベースの再配置要否や容量拡張要否を判断するようにしている。
【００１２】
これから、必ずしも、適切な再配置実施契機でデータベースの再配置が実行されているとは限らないという問題点があるとともに、必ずしも、適切な容量拡張実施契機でデータベースの容量拡張が実行されているとは限らないという問題点がある。
【００１３】
そのため、従来技術に従っていると、最悪の場合には、データベースの容量不足が発生し、オンラインプログラムがレコードを格納することができないことで異常終了してしまうということが起こっていた。
【００１４】
本発明はかかる事情に鑑みてなされたものであって、オンライン業務に与える影響を極力少なくしつつ、正確なデータベースの再配置実施契機や容量拡張実施契機を検出できるようにする新たなデータベース操作契機検出技術の提供を目的とする。
【００１５】
【課題を解決するための手段】
この目的を達成するために、本発明のデータベース操作契機検出プログラムは、コンピュータに、（１）データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するステップと、（２）新たなオーバフロー領域が作成された場合に、レコードの操作がデータベースにおける不連続領域であるフラグメンテーションを発生させる操作か、オーバフロー領域の拡張を発生させる操作か、フラグメンテーションもオーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断するステップと、（３）プライム領域とプライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、何れの操作が行われたのかについての判断結果とに基づいて、新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新するステップと、（４）予測管理情報と、何れの操作が行われたのかについての判断結果とに基づいて、新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新するステップと、（５）再配置可能領域の個数と拡張方向領域の個数とを用いて、データベースの拡張実施とデータベースの再配置実施についての操作契機を検出するステップとを実行させるためのものとして機能されるものであり、この機能に従って、レコードを格納するプライム領域と、プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出できるようになる。
本発明のデータベース操作契機検出プログラムは、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明のデータベース操作契機検出装置を実現するものであり、この本発明のデータベース操作契機検出装置は、レコードを格納するプライム領域と、プライム領域の空き領域が無くなった場合にレコードを格納するオーバフロー領域とを有するデータベースに格納されたレコードに対しての操作契機を検出するために、（１）データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断するとともに、新たなオーバフロー領域が作成された場合に、レコードの操作がデータベースにおける不連続領域であるフラグメンテーションを発生させる操作か、オーバフロー領域の拡張を発生させる操作か、フラグメンテーションもオーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断する第１の処理部と、（２）プライム領域とプライム領域に連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、何れの操作が行われたのかについての判断結果とに基づいて、新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新し、新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新する第２の処理部と、（３）再配置可能領域の個数と拡張方向領域の個数とを用いて、データベースの拡張実施とデータベースの再配置実施についての操作契機を検出する第３の処理部とを有する。
【００１６】
この本発明のデータベース操作契機検出プログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
【００１７】
このように構成される本発明のデータベース操作契機検出プログラムにより実現されるデータベース操作契機検出方法では、データベースに格納されたレコードを操作することにより、新たなオーバフロー領域が作成されたのか否かを判断して、新たなオーバフロー領域が作成された場合には、レコードの操作がフラグメンテーションを発生させる操作か、オーバフロー領域の拡張を発生させる操作か、フラグメンテーションもオーバフロー領域の拡張も発生させない操作の何れの操作が行われたのかを判断する。
続いて、その判断結果と、プライム領域とそれに連なるオーバフロー領域とを有する領域を１つの集合として、それぞれの集合について、フラグメンテーションを有することにより再配置可能であるか、フラグメンテーションを有しないことにより拡張方向にあるかを表す予測管理情報と、何れの操作が行われたのかについての判断結果とに基づいて、新たなオーバフロー領域の属する集合が再配置可能であることが予測される場合には、再配置可能である集合に属するオーバフロー領域の個数の総和を表す再配置可能領域の個数を更新することで算出する。一方、新たなオーバフロー領域の属する集合が拡張方向にあることが予測される場合には、拡張方向にある集合に属するオーバフロー領域の個数の総和を表す拡張方向領域の個数を更新することで算出する。
【００２０】
そして、例えば、新たに再配置可能領域の個数と拡張方向領域の個数とが算出される場合を契機にして、その算出された再配置可能領域の個数と拡張方向領域の個数とを使って、データベースに対しての操作契機を客観的に検出する。
【００２１】
例えば、オーバフロー領域の使用率と、再配置可能なオーバフロー領域の比率と、拡張方向のオーバフロー領域の比率とから、データベースに対しての操作契機を客観的に検出するのである。
【００２２】
このように、本発明では、レコード操作からデータベース内のデータ格納状態を推測することで、再配置可能な領域数と拡張方向の領域数とを算出し、それを使って、データベースに対しての操作契機を客観的に検出するように処理することから、オンライン業務に与える影響を極力少なくしつつ、正確なデータベースの再配置実施契機や容量拡張実施契機を検出できるようになる。
【００２３】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【００２４】
図１に、本発明を具備する計算機システムのシステム構成を図示する。
【００２５】
この図に示すように、本発明を具備する計算機システムは、オペレーティングシステム１と、応用プログラム２と、端末３と、ネットワークデータベース４と、ネットワークデータベース４から容量拡張された拡張ネットワークデータベース５と、オペレーティングシステム１の配下で動作して端末３を制御する端末制御機構６と、オペレーティングシステム１の配下で動作してネットワークデータベース４や拡張ネットワークデータベース５を管理するＤＢ管理機構７と、トランザクションを制御するトランザクション制御機構８とを備えている。
【００２６】
ＤＢ管理機構７は、図２に示すように、従来から備えられているデータベースアクセスプログラム１０の他に、本発明を実現すべく用意されるオーバフロー予測管理プログラム１１を備えている。
【００２７】
このオーバフロー予測管理プログラム１１は、後述するように、プライムページ内に記録される予測管理情報の更新処理や、オーバフローページの加算処理や、ネットワークデータベース４や拡張ネットワークデータベース５の再配置指示の通知処理や、拡張ネットワークデータベース５の生成指示の通知処理などを実行するものであり、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
【００２８】
ネットワークデータベース４は、レコードを単位とするアクセス構成を採るものであって、図３に示すように、プライム域４０に展開されるプライムページと、オーバフロー域４１に展開されるオーバフローページという２種類のページ（Ｉ／Ｏの入力単位）を使い、プライムページを優先させて使用しつつ、プライムページに空き領域がなくなったときにはオーバフローページ、そのオーバフローページに空き領域がなくなったときには次のオーバフローページを切り出して使っていくことで高速アクセスを可能にしている。
【００２９】
そして、ネットワークデータベース４が満杯になるときには、ネットワークデータベース４から容量拡張された拡張ネットワークデータベース５のオーバフロー域５０に展開されるオーバフローページが使われることになる。
【００３０】
図４に、ネットワークデータベース４のプライム域４０の一実施形態例を図示するとともに、ネットワークデータベース４のオーバフロー域４１の一実施形態例を図示する。
【００３１】
なお、拡張ネットワークデータベース５のオーバフロー域５０のデータ構造は、ネットワークデータベース４のオーバフロー域４１のデータ構造と同じものである。
【００３２】
この図に示すように、プライム域４０に展開される各プライムページは、本発明を実現するために、２ビットで構成される予測管理情報４００を備える構成を採っている。一方、オーバフロー域４１にはオーバフロー管理ページ４１０が設けられ、このオーバフロー管理ページ４１０は、本発明を実現するために、拡張ページ数と再配置ページ数とを管理するという構成を採っている。
【００３３】
このオーバフロー管理ページ４１０は、拡張ページ数と再配置ページ数とを管理する他に、図５に示すように、使用中のオーバフローページがどれであるのかということをリンクを使って管理する。
【００３４】
ここで、この図５では示していないが、各プライムページに連なるオーバフローページがどれであるのかということについては、プライムページに格納されるレコードがポインタを使って管理している。
【００３５】
図６に、プライムページの備える予測管理情報４００の一実施形態例を図示する。
【００３６】
この図に示すように、予測管理情報４００は、２ビットで構成されており、初期状態にあるときには“００”、再配置可能にあるときには“１０”、拡張方向にあるときには“１１”という値を管理する。
【００３７】
この予測管理情報４００の値は、それを持つプライムページとそれに連なるオーバフローページとのページ集合がフラグメンテーションを持つことで再配置可能であるとか、フラグメンテーションを持たないことで拡張方向にあるとかいうことを示している。
【００３８】
例えば、図７に示す例で説明するならば、プライムページｉの持つ予測管理情報４００に“１０”が記録されているときには、プライムページｉとそれに連なるオーバフローページとのページ集合がフラグメンテーションを持つことで再配置可能であるということを示している。また、プライムページｐの持つ予測管理情報４００に“１１”が記録されているときには、プライムページｐとそれに連なるオーバフローページとのページ集合がフラグメンテーションを持たないことで拡張方向にあるということを示している。
【００３９】
オーバフロー管理ページ４１０で管理する拡張ページ数は、この拡張方向にあるページ集合の持つオーバフローページの合計数を管理するものであり、図７の例で説明するならば“４”という値を管理することになる。
【００４０】
一方、オーバフロー管理ページ４１０で管理する再配置ページ数は、この再配置可能なページ集合の持つオーバフローページの合計数を管理するものであり、図７の例で説明するならば“３”という値を管理することになる。
【００４１】
拡張方向にあるページ集合にフラグメンテーションが発生する場合には、そのページ集合は再配置可能となるので、このときには、図６に示すように、予測管理情報４００は“１１”から“１０”にと書き換えられることになる。
【００４２】
一方、再配置可能なページ集合の持つフラグメンテーションが消滅する場合には、そのページ集合は拡張方向になるものの、そのようなことが起こることは極めて例外的なことであることからして、一度フラグメンテーションの発生したページ集合については、それ以降に新たなオーバフローページが追加される場合にも再配置可能のページ集合であるとするという構成を採っている。これから、図６に示すように、予測管理情報４００が一度“１０”にセットされた場合には、それが“１１”にと書き換えられることはない。
【００４３】
図８に、データベースアクセスプログラム１０の実行する処理フローの一実施形態例、図９及び図１０に、オーバフロー予測管理プログラム１１の実行する処理フローの一実施形態例を図示する。
【００４４】
次に、これらの処理フローに従って本発明について詳細に説明する。
【００４５】
先ず最初に、データベースアクセスプログラム１０の実行する処理について説明する。
【００４６】
データベースアクセスプログラム１０は、トランザクションが開始するときには、図８（ａ）の処理フローに示すように、初期化処理を実行することで作業域を確保する処理を行う。
【００４７】
一方、データベースアクセスプログラム１０は、トランザクションが終了するときには、図８（ｂ）の処理フローに示すように、先ず最初に、ステップ１で、そのトランザクションでのレコード操作によりプライムページの持つ予測管理情報４００が更新されたり、オーバフロー管理ページ４１０の管理する拡張ページ数や再配置ページ数が更新されたのか否かを判断する。
【００４８】
この判断処理により、そのような予測管理の更新処理（後述するように、オーバフロー予測管理プログラム１１が行う）が行われなかったことを判断するときには、ステップ２に進んで、レコード操作のマクロ命令の発行に応答して読み込んだプライムページとオーバフローページとをＤＡＳＤ上のネットワークデータベース４に書き出して、処理を終了する。
【００４９】
一方、ステップ１で、予測管理の更新処理が行われたことを判断するときには、ステップ３に進んで、更新されたプライムページの持つ予測管理情報４００をＤＡＳＤ上のネットワークデータベース４に書き出し、続くステップ４で、更新されたオーバフロー管理ページ４１０の管理する拡張ページ数及び再配置ページ数をＤＡＳＤ上のネットワークデータベース４に書き出す。
【００５０】
続いて、ステップ５で、プライムページの残り部分とオーバフローページとをＤＡＳＤ上のネットワークデータベース４に書き出して、処理を終了する。
【００５１】
このようにして、データベースアクセスプログラム１０は、トランザクションが終了するときには、レコード操作のマクロ命令の発行に応答して読み込んだプライムページやオーバフローページやオーバフロー管理ページ４１０を、ＤＡＳＤ上のネットワークデータベース４に書き出して、処理を終了するのである。
【００５２】
次に、オーバフロー予測管理プログラム１１の実行する処理について説明する。
【００５３】
オーバフロー予測管理プログラム１１は、あるトランザクションに入って、応用プログラム２の要求に応答してデータベースアクセスプログラム１０がレコード操作のマクロ命令を発行すると、図９及び図１０の処理フローに示すように、先ず最初に、ステップ１で、発行されたマクロ命令が更新系のマクロ命令であるのか否かを判断する。
【００５４】
この判断処理により、発行されたマクロ命令が更新系のマクロ命令でないことを判断するとき、すなわち、レコード検索などのマクロ命令であることを判断するときには、これから説明する予測管理を行う必要がないことを判断して、何も処理を行うことなく、そのまま処理を終了する。
【００５５】
一方、ステップ１で、発行されたマクロ命令が更新系のマクロ命令であることを判断するとき、すなわち、レコード追加やレコード更新やレコード削除といった更新系のマクロ命令であることを判断するときには、ステップ２に進んで、データベースアクセスプログラム１０から、そのマクロ命令で処理されるレコードの予測サイズ（レコード長）を取得する。
【００５６】
続いて、ステップ３で、データベースアクセスプログラム１０がマクロ命令の発行に応答してオーバフローページへレコード操作を行ったのか否かを判断して、オーバフローページへレコード操作を行ったのではないことを判断するとき、すなわち、データベースアクセスプログラム１０がプライムページへレコード操作を行ったことを判断するときには、その段階では再配置可能な状態が生成されたり、容量拡張の状態が生成される訳ではないので、これから説明する予測管理を行う必要がないことを判断して、何も処理を行うことなく、そのまま処理を終了する。
【００５７】
一方、ステップ３で、データベースアクセスプログラム１０がオーバフローページへレコード操作を行ったことを判断するときには、ステップ４に進んで、データベースアクセスプログラム１０がマクロ命令で新規にオーバフローページを切り出したのか否かを判断して、マクロ命令で新規にオーバフローページを切り出したのではないことを判断するときには、その段階では再配置可能な状態が生成されたり、容量拡張の状態が生成される訳ではないので、これから説明する予測管理を行う必要がないことを判断して、何も処理を行うことなく、そのまま処理を終了する。
【００５８】
一方、ステップ４で、データベースアクセスプログラム１０がマクロ命令で新規にオーバフローページを切り出したことを判断するときには、ステップ５に進んで、前回のレコード操作種別と、今回のレコード操作種別と、前回取得した予測サイズ（レコード長）と、今回取得した予測サイズ（レコード長）とから、データベースアクセスプログラム１０によるレコード操作がどのようなケースに相当するのかを判断する。
【００５９】
図１１に、このときに判断するレコード操作のケースの一例を図示する。この図１１では、説明の便宜上、代表的な６つのケースについて記述している。
【００６０】
この図１１に示すケースで説明するならば、前回の操作でレコードを削除して今回の操作でレコードを追加し、このとき、前回の削除レコード長と今回の追加レコード長とが等しい場合には、“変化なし”の将来予測を持つケース１であると判断する。
【００６１】
また、前回の操作でレコードを削除して今回の操作でレコードを追加し、このとき、前回の削除レコード長が今回の追加レコード長よりも大きい場合には、“拡張方向”の将来予測を持つケース２であると判断する。
【００６２】
また、前回の操作でレコードを削除して今回の操作でレコードを追加し、このとき、前回の削除レコード長が今回の追加レコード長よりも小さい場合には、フラグメンテーションの発生する“再配置可能”の将来予測を持つケース３であると判断する。
【００６３】
また、今回の操作でレコードを更新するときに、更新前のレコード長と更新後のレコード長とが等しい場合には、“変化なし”の将来予測を持つケース４であると判断する。
【００６４】
また、今回の操作でレコードを更新するときに、更新前のレコード長が更新後のレコード長よりも大きい場合には、“拡張方向”の将来予測を持つケース５であると判断する。
【００６５】
また、今回の操作でレコードを更新するときに、更新前のレコード長が更新後のレコード長よりも小さい場合には、フラグメンテーションの発生する“再配置可能”の将来予測を持つケース６であると判断する。
【００６６】
図９及び図１０の処理フローの説明に戻るならば、ステップ５で、データベースアクセスプログラム１０によるレコード操作がどのようなケースに相当するのかを判断すると、続いて、ステップ６で、その判断したケースに基づいて、プライムページの持つ予測管理情報４００を更新したり、オーバフロー管理ページ４１０の管理する拡張ページ数や再配置ページ数を更新する処理（予測管理の更新処理）を実行する。
【００６７】
すなわち、例えば、データベースアクセスプログラム１０によるレコード操作が上述のケース１，４に相当するときには、図１２に示すように、プライムページの持つ予測管理情報４００の値は更新しない。
【００６８】
そして、その予測管理情報４００の値が“１０（再配置可能）”を示すときには、オーバフロー管理ページ４１０の管理する再配置ページ数を１つインクリメントし、その予測管理情報４００の値が“１１（拡張方向）”を示すときには、オーバフロー管理ページ４１０の管理する拡張ページ数を１つインクリメントするのである。
【００６９】
また、データベースアクセスプログラム１０によるレコード操作が上述のケース２，５に相当するときには、図１２に示すように、プライムページの持つ予測管理情報４００の値が“００（初期状態）”を示すときには、その値を“１１（拡張方向）”に更新し、プライムページの持つ予測管理情報４００の値が“１０（再配置可能）”を示すときには、図６で説明した理由によりその値を更新しないとともに、プライムページの持つ予測管理情報４００の値が“１１（拡張方向）”を示すときにも、将来予測に変化がないので、その値については更新しない。
【００７０】
そして、その予測管理情報４００の値を“００（初期状態）”から“１１（拡張方向）”に更新したときには、オーバフロー管理ページ４１０の管理する拡張ページ数に初期値の“１”を登録し、その予測管理情報４００の値を更新しないときにあって、その予測管理情報４００の値が“１０（再配置可能）”を示すときには、オーバフロー管理ページ４１０の管理する再配置ページ数を１つインクリメントし、その予測管理情報４００の値が“１１（拡張方向）”を示すときには、オーバフロー管理ページ４１０の管理する拡張ページ数を１つインクリメントするのである。
【００７１】
また、データベースアクセスプログラム１０によるレコード操作が上述のケース３，６に相当するときには、図１２に示すように、プライムページの持つ予測管理情報４００の値が“００（初期状態）”を示すときには、その値を“１０（再配置可能）”に更新し、プライムページの持つ予測管理情報４００の値が“１１（拡張方向）”を示すときにも、その値を“１０（再配置可能）”に更新し、プライムページの持つ予測管理情報４００の値が“１０（再配置可能）”を示すときには、将来予測に変化がないので、その値については更新しない。
【００７２】
そして、その予測管理情報４００の値を“００（初期状態）”から“１０（再配置可能）”に更新したときは、オーバフロー管理ページ４１０の管理する再配置ページ数に初期値の“１”を登録し、その予測管理情報４００の値を更新しないときには、オーバフロー管理ページ４１０の管理する再配置ページ数を１つインクリメントし、その予測管理情報４００の値を“１１（拡張方向）”から“１０（再配置可能）”に更新したときは、オーバフロー管理ページ４１０の管理する再配置ページ数にプライムページに連なるオーバフローページの総数を登録するとともに、拡張ページ数を初期値の“０”にリセットするのである。
【００７３】
このようにして、ステップ６では、オーバフロー管理ページ４１０が図７で説明した形態で拡張ページ数及び再配置ページ数を管理することになるようにと、予測管理の更新処理を実行する。
【００７４】
続いて、ステップ７で、オーバフロー域４１に展開されるオーバフローページの総ページ数（オーバフロー管理ページ４１０に登録されている）と、オーバフロー管理ページ４１０の管理する拡張ページ数及び再配置ページ数とから、
使用率＝（拡張ページ数＋再配置ページ数）／総ページ数
という算出式に従って、オーバフローページの使用率を算出するとともに、
再配置可能な比率＝再配置ページ数／総ページ数
拡張方向の比率＝拡張ページ数／総ページ数
という算出式に従って、再配置可能なオーバフローページの比率と、拡張方向にあるオーバフローページの比率とを算出する。
【００７５】
続いて、ステップ８（図１０の処理フロー）で、オーバフローページの使用率が９０％よりも大きいのか否かを判断して、９０％よりも大きいことを判断するときには、ステップ９に進んで、ネットワークデータベース４の拡張実施を指示して、処理を終了する。
【００７６】
すなわち、オーバフローページの使用率が９０％よりも大きいときには、ネットワークデータベース４が満杯に近い状態にあるので、再配置可能なオーバフローページの比率や拡張方向にあるオーバフローページの比率に関係なく、ネットワークデータベース４の拡張実施を指示するのである。
【００７７】
一方、ステップ８で、オーバフローページの使用率が９０％よりも大きくないことを判断するときには、ステップ１０に進んで、オーバフローページの使用率が７０％〜９０％にあるのか否かということと、オーバフローページの使用率が５０％〜７０％にあるのか否かということと、オーバフローページの使用率が５０％よりも小さいのか否かということを判断する。
【００７８】
この判断処理により、オーバフローページの使用率が５０％よりも小さいことを判断するときには、ネットワークデータベース４の拡張実施や再配置実施を指示することなく、そのまま処理を終了する。
【００７９】
すなわち、オーバフローページの使用率が５０％よりも小さいときには、ネットワークデータベース４には容量的に見て十分な余裕があるので、ネットワークデータベース４の拡張実施や再配置実施を指示しないのである。
【００８０】
一方、ステップ１０で、オーバフローページの使用率が７０％〜９０％にあることを判断するときには、ステップ１１に進んで、拡張方向にあるオーバフローページの比率が８０％よりも大きいのか否かを判断して、８０％よりも大きいことを判断するときには、ステップ１２に進んで、ネットワークデータベース４の拡張実施を指示して、処理を終了する。
【００８１】
すなわち、オーバフローページの使用率が７０％〜９０％にあるとともに、拡張方向にあるオーバフローページの比率が８０％よりも大きいときには、ネットワークデータベース４が満杯に近い状態になりつつあるので、ネットワークデータベース４の拡張実施を指示するのである。
【００８２】
一方、ステップ１１で、拡張方向にあるオーバフローページの比率が８０％よりも大きくないことを判断するときと、ステップ１０で、オーバフローページの使用率が５０％〜７０％にあることを判断するときには、ステップ１３に進んで、再配置可能なオーバフローページの比率が３０％よりも大きいのか否かを判断する。
【００８３】
この判断処理により、再配置可能なオーバフローページの比率が３０％よりも大きいことを判断するときには、ネットワークデータベース４の再配置の実施を指示して、処理を終了する。一方、再配置可能なオーバフローページの比率が３０％よりも小さいことを判断するときには、ネットワークデータベース４の再配置の実施を指示することなく、処理を終了する。
【００８４】
すなわち、オーバフローページの使用率が５０％〜７０％にあるとともに、再配置可能なオーバフローページの比率が３０％よりも大きいときには、ネットワークデータベース４の再配置を行うことでオーバフローページの使用率を下げた方が好ましいので、ネットワークデータベース４の再配置実施を指示するのである。
【００８５】
そして、オーバフローページの使用率が７０％〜９０％にあるものの、拡張方向にあるオーバフローページの比率が８０％よりも小さいことで拡張実施をするまでではないものの、再配置可能なオーバフローページの比率が３０％よりも大きいときには、ネットワークデータベース４の再配置を行うことでオーバフローページの使用率を下げた方が好ましいので、ネットワークデータベース４の再配置実施を指示するのである。
【００８６】
このようにして、オーバフロー予測管理プログラム１１は、トランザクションで実行されるレコード操作からネットワークデータベース４のデータ格納状態を推測することで、オーバフローページの使用率と、再配置可能なオーバフローページの比率と、拡張方向にあるオーバフローページの比率とを算出して、それに従って、例えば図１３に示すような判断方法に従って、ネットワークデータベース４の再配置実施を指示したり、ネットワークデータベース４の拡張実施を指示するように処理するのである。
【００８７】
このオーバフロー予測管理プログラム１１の発行する再配置実施の指示を受けて、例えば、図１４に示すように再配置プログラム１００が起動されて、ネットワークデータベース４の再配置を実施することになる。このときには、再配置可能なオーバフローページに限られることなく、全てのオーバフローページと全てのプライムページとを再配置対象として、再配置を実施することが好ましい。
【００８８】
そして、このオーバフロー予測管理プログラム１１の発行する拡張実施の指示を受けて、例えば、図１４に示すようにＤＢ拡張プログラム２００が起動されて、ネットワークデータベース４から拡張される拡張ネットワークデータベース５の生成を実施することになる。
【００８９】
この図１４の実施形態例では、オーバフロー予測管理プログラム１１の発行する指示に応答して、再配置プログラム１００やＤＢ拡張プログラム２００を起動していくことで、ネットワークデータベース４の再配置や拡張を自動的に行うという構成を採っているが、端末３のディスプレイ画面に、ネットワークデータベース４の再配置や拡張の実施を指示するメッセージを出力するというように処理することもある。
【００９０】
次に、図１５ないし図１７に従って、このように構成される実施形態例の処理の一例について説明する。
【００９１】
データベースアクセスプログラム１０は、あるトランザクションの実行中に、図１５の上段に示すように、プライムページに格納されるレコード長４００のレコードＡを削除した後、レコード長４００のレコードＢの追加要求があると、図１５の中段に示すように、レコード長４００の空きを持つプライムページに、そのレコードＢを格納する。
【００９２】
データベースアクセスプログラム１０は、続いて、レコード長５００のレコードＣの追加要求があると、図１５の下段に示すように、プライムページが満杯になっているので、新規にオーバフローページを切り出して、そのレコードＣを格納する。
【００９３】
オーバフロー予測管理プログラム１１は、このときのトランザクションにおけるレコード操作のケース（追加追加と続けていくケース）を判断していくことで、ネットワークデータベース４が拡張方向にあることを判断して、図１６の上段に示すように、プライムページの持つ予測管理情報４００に“１１（拡張方向）”をセットするともに、オーバフロー管理ページ４１０の管理する拡張ページ数を１つインクリメントすることで、その拡張ページ数に“１”をセットして、そのトランザクションの終了時に、それらをＤＡＳＤ上のネットワークデータベース４に書き出す。
【００９４】
続いて、データベースアクセスプログラム１０は、いくつかのトランザクションを実行していくことで、図１６の中段に示すように、切り出したオーバフローページを満杯する。
【００９５】
続いて、データベースアクセスプログラム１０は、それに続くトランザクションの実行中に、図１６の下段に示すように、プライムページに格納されるレコード長４００のレコードＤを削除した後、それに続けて、レコード長５００のレコードＥの追加要求があると、図１７の上段に示すように、切り出したオーバフローページが満杯になっているので、新規にオーバフローページを切り出して、そのレコードＥを格納する。
【００９６】
オーバフロー予測管理プログラム１１は、このときのトランザクションにおけるレコード操作のケース（レコードの削除で空きが生じた後に、その空きよりも長いレコードを追加しているケース）を判断していくことで、ネットワークデータベース４が再配置可能になったことを判断して、図１７の下段に示すように、プライムページの持つ予測管理情報４００にセットされている“１１（拡張方向）”を“１０（再配置可能）”に更新していくとともに、オーバフロー管理ページ４１０の管理する拡張ページ数に“０”、再配置ページ数に“２”をセットして、そのトランザクションの終了時に、それらをＤＡＳＤ上のネットワークデータベース４に書き出す。
【００９７】
このようにして、オーバフロー予測管理プログラム１１は、トランザクションで実行されるレコード操作から、ネットワークデータベース４のデータ格納状態を示す拡張ページ数及び再配置ページ数を検出していくように処理するのである。
【００９８】
そして、オーバフロー予測管理プログラム１１は、図９及び図１０の処理フローで説明したように、その推測されたデータ格納状態に従って、上述したように、ネットワークデータベース４の再配置実施を指示したり、ネットワークデータベース４の拡張実施を指示するように処理するのである。
【００９９】
図示実施形態例に従って本発明を説明したが、本発明はこれに限られるものではない。例えば、実施形態例ではネットワークデータベースへの適用を具体例にして説明したが、本発明はその適用がネットワークデータベースに限られるものではない。
【０１００】
（付記１）データベースに対しての操作契機を検出するデータベース操作契機検出方法の実現に用いられるデータベース操作契機検出プログラムであって、レコード操作からデータベース内のデータ格納状態を推測することで、再配置可能な領域数と拡張方向の領域数とを算出し、それを使って、データベースに対しての操作契機を検出する処理をコンピュータに実行させるためのデータベース操作契機検出プログラム。
【０１０１】
（付記２）データベースに対しての操作契機を検出するデータベース操作契機検出方法の実現に用いられるデータベース操作契機検出プログラムであって、レコード操作により新たなオーバフロー領域が作成されたのか否かを判断する判断処理と、新たなオーバフロー領域が作成された場合に、上記レコード操作によりプライム領域又はオーバフロー領域にフラグメンテーションが発生し得るケースであるのか否かを判断して、その判断結果に基づいて、再配置可能な領域数と拡張方向の領域数とを算出する算出処理と、上記再配置可能な領域数と上記拡張方向の領域数とを使って、データベースに対しての操作契機を検出する検出処理とをコンピュータに実行させるためのデータベース操作契機検出プログラム。
【０１０２】
（付記３）データベースに対しての操作契機を検出するデータベース操作契機検出方法の実現に用いられるプログラムを記録したデータベース操作契機検出プログラムの記録媒体であって、レコード操作からデータベース内のデータ格納状態を推測することで、再配置可能な領域数と拡張方向の領域数とを算出し、それを使って、データベースに対しての操作契機を検出する処理をコンピュータに実行させるためのプログラムを記録したことを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０３】
（付記４）データベースに対しての操作契機を検出するデータベース操作契機検出方法の実現に用いられるプログラムを記録したデータベース操作契機検出プログラムの記録媒体であって、レコード操作により新たなオーバフロー領域が作成されたのか否かを判断する判断処理と、新たなオーバフロー領域が作成された場合に、上記レコード操作によりプライム領域又はオーバフロー領域にフラグメンテーションが発生し得るケースであるのか否かを判断して、その判断結果に基づいて、再配置可能な領域数と拡張方向の領域数とを算出する算出処理と、上記再配置可能な領域数と上記拡張方向の領域数とを使って、データベースに対しての操作契機を検出する検出処理とをコンピュータに実行させるためのプログラムを記録したことを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０４】
（付記５）付記４に記載のデータベース操作契機検出プログラムの記録媒体において、上記判断処理では、トランザクションを単位として新たなオーバフロー領域が作成されたのか否かを判断することを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０５】
（付記６）付記４又は５に記載のデータベース操作契機検出プログラムの記録媒体において、上記検出処理では、新たに再配置可能な領域数と拡張方向の領域数とが算出された場合に、データベースに対する操作契機を検出することを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０６】
（付記７）付記４ないし６のいずれか１項に記載のデータベース操作契機検出プログラムの記録媒体において、上記検出処理では、オーバフロー領域の使用率と、再配置可能なオーバフロー領域の比率と、拡張方向のオーバフロー領域の比率とから、データベースに対しての操作契機を検出することを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０７】
（付記８）付記４ないし７のいずれか１項に記載のデータベース操作契機検出プログラムの記録媒体において、上記算出処理では、プライム領域とそれに連なるオーバフロー領域とで構成される領域集合を１つのまとまりとして、再配置可能な領域であるのか拡張方向の領域であるのかを判断することで、再配置可能な領域数と拡張方向の領域数とを算出することを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０８】
（付記９）付記８に記載のデータベース操作契機検出プログラムの記録媒体において、上記算出処理では、一度再配置可能な領域と判断した領域集合については、新たなオーバフロー領域が作成される場合にも、そのまま再配置可能な領域と判断することを、特徴とするデータベース操作契機検出プログラムの記録媒体。
【０１０９】
（付記１０）データベースに対しての操作契機を検出するデータベース操作契機検出方法であって、レコード操作により新たなオーバフロー領域が作成されたのか否かを判断する過程と、新たなオーバフロー領域が作成された場合に、上記レコード操作によりプライム領域又はオーバフロー領域にフラグメンテーションが発生し得るケースであるのか否かを判断して、その判断結果に基づいて、再配置可能な領域数と拡張方向の領域数とを算出する過程と、上記再配置可能な領域数と上記拡張方向の領域数とを使って、データベースに対しての操作契機を検出する過程とを備えることを、特徴とするデータベース操作契機検出方法。
【０１１０】
（付記１１）データベースに対しての操作契機を検出するデータベース操作契機検出装置であって、レコード操作により新たなオーバフロー領域が作成されたのか否かを判断する手段と、新たなオーバフロー領域が作成された場合に、上記レコード操作によりプライム領域又はオーバフロー領域にフラグメンテーションが発生し得るケースであるのか否かを判断して、その判断結果に基づいて、再配置可能な領域数と拡張方向の領域数とを算出する手段と、上記再配置可能な領域数と上記拡張方向の領域数とを使って、データベースに対しての操作契機を検出する手段とを備えることを、特徴とするデータベース操作契機検出装置。
【０１１１】
【発明の効果】
以上説明したように、本発明では、レコード操作からデータベース内のデータ格納状態を推測することで、再配置可能な領域数と拡張方向の領域数とを算出し、それを使って、データベースに対しての操作契機を客観的に検出するように処理することから、オンライン業務に与える影響を極力少なくしつつ、正確なデータベースの再配置実施契機や容量拡張実施契機を検出できるようになる。
【０１１２】
このようにして、本発明によれば、データベース内のデータの格納状態を認識するためのジョブを実行することなく、データベースの再配置要否や容量拡張要否を判断できるようになるので、オンライン業務を停止させることなく、データベースの再配置要否や容量拡張要否を判断できるようになる。
【０１１３】
そして、本発明によれば、システム管理者に依らずに、データベースの再配置要否や容量拡張要否を客観的に判断できるようになるので、無駄なデータベースの再配置処理や無駄なデータベースの容量拡張処理を実行しなくても済むようになる。
【図面の簡単な説明】
【図１】本発明を具備する計算機システムのシステム構成図である。
【図２】ＤＢ管理機構のプログラム構成の説明図である。
【図３】ネットワークデータベースの説明図である。
【図４】ネットワークデータベースの一実施形態例である。
【図５】オーバフロー管理ページの管理処理の説明図である。
【図６】予測管理情報の一実施形態例である。
【図７】オーバフローページの管理処理の説明図である。
【図８】データベースアクセスプログラムの処理フローの一実施形態例である。
【図９】オーバフロー予測管理プログラムの処理フローの一実施形態例である。
【図１０】オーバフロー予測管理プログラムの処理フローの一実施形態例である。
【図１１】レコード操作のケースの一例である。
【図１２】予測管理の更新処理の説明図である。
【図１３】再配置実施契機と拡張実施契機の判断方法の説明図である。
【図１４】再配置実施と拡張実施の説明図である。
【図１５】本発明による処理の一例である。
【図１６】本発明による処理の一例である。
【図１７】本発明による処理の一例である。
【符号の説明】
１    オペレーティングシステム
２    応用プログラム
３    端末
４    ネットワークデータベース
５    拡張ネットワークデータベース
６    端末制御機構
７    ＤＢ管理機構
８    トランザクション制御機構
１０  データベースアクセスプログラム
１１  オーバフロー予測管理プログラム
【図１】
0004160279.tif 000002
【図２】
0004160279.tif 000003
【図３】
0004160279.tif 000004
【図４】
0004160279.tif 000005
【図５】
0004160279.tif 000006
【図６】
0004160279.tif 000007
【図７】
0004160279.tif 000008
【図８】
0004160279.tif 000009
【図９】
0004160279.tif 000010
【図１０】
0004160279.tif 000011
【図１１】
0004160279.tif 000012
【図１２】
0004160279.tif 000013
【図１３】
0004160279.tif 000014
【図１４】
0004160279.tif 000015
【図１５】
0004160279.tif 000016
【図１６】
0004160279.tif 000017
【図１７】
0004160279.tif 000018