(57)【特許請求の範囲】
【請求項１】
データベースの表領域に設定されている記憶容量の空き容量を監視するデータベース容量監視装置であって、
前記データベースの前記表領域の連続した前記空き容量の最大サイズを算出する空き容量算出手段と、
前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズを抽出するエクステントサイズ抽出手段と、
前記空き容量算出手段により算出された前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記エクステントサイズ抽出手段により抽出された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較する容量比較手段と、
該容量比較手段による前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとの比較結果を出力する比較結果出力手段とを具備することを特徴とするデータベース容量監視装置。
【請求項２】
前記比較結果出力手段は、前記データベースの前記表領域の連続した前記空き容量の最大サイズよりも前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズが大きくなった場合に警告メッセージを出力させることを特徴とする請求項１記載のデータベース容量監視装置。
【請求項３】
前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知するエクステント割り当て検知手段を具備し、
該エクステント割り当て検知手段により前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことが検知されたときに前記空き容量算出手段と前記エクステントサイズ抽出手段とを起動させることを特徴とする請求項１又は２記載のデータベース容量監視装置。
【請求項４】
前記データベースの前記表領域が複数ある場合には、前記空き容量算出手段は、新たに前記エクステントが割り当てられた前記セグメントの配置されている前記データベースの前記表領域のみの連続した前記空き容量の最大サイズを算出させることを特徴とする請求項１乃至３のいずれかに記載のデータベース容量監視装置。
【請求項５】
前記エクステントサイズ抽出手段により抽出された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズを記憶するエクステントサイズ記憶手段を具備し、
前記データベースの前記表領域に新たな前記セグメントが作成されるまでは、前記エクステントサイズ抽出手段を起動させず、前記容量比較手段において前記空き容量算出手段により算出された前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記エクステントサイズ記憶手段に記憶された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較させることを特徴とする請求項１乃至４のいずれかに記載のデータベース容量監視装置。
【請求項６】
データベースの表領域に設定されている記憶容量の空き容量を監視するデータベース容量監視方法であって、
前記データベースの前記表領域の連続した前記空き容量の最大サイズを算出し、
前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズを抽出し、
前記算出した前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記抽出した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較し、
前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとの比較結果を出力することを特徴とするデータベース容量監視方法。
【請求項７】
前記データベースの前記表領域の連続した前記空き容量の最大サイズよりも前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズが大きくなった場合に警告メッセージを出力することを特徴とする請求項６記載のデータベース容量監視方法。
【請求項８】
前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知し、
該検知により前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知したときに、前記データベースの前記表領域の連続した前記空き容量の最大サイズの算出と前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズの抽出とを実行することを特徴とする請求項６又は７記載のデータベース容量監視方法。
【請求項９】
前記データベースの前記表領域が複数ある場合に、新たに前記エクステントが割り当てられた前記セグメントの配置されている前記データベースの前記表領域のみの連続した前記空き容量の最大サイズを算出することを特徴とする請求項６乃至８のいずれかに記載のデータベース容量監視方法。
【請求項１０】
前記抽出した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントサイズの中の最大サイズを記憶し、
前記データベースの前記表領域に新たな前記セグメントが作成されるまでは、前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズの抽出を実行しないで、前記算出した前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記記憶した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントサイズの中の最大サイズとを比較することを特徴とする請求項６乃至９のいずれかに記載のデータベース容量監視方法。
【請求項１１】
請求項６乃至１０のいずれかに記載のデータベース容量監視方法を実行可能なプログラムが記憶されている記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースの空き容量を監視するデータベース容量監視装置およびデータベース容量監視方法に関し、特にデータベースの表領域に配置されているセグメント毎にデータの増加に伴い随時新たなエクステントを割り当てることによりデータを書き込むデータベースの空き容量を監視するデータベース容量監視装置およびデータベース容量監視方法に関する。
【０００２】
【従来の技術】
従来、データベースでは、限られた記憶容量の中で効率良く運用するために、データベースの各表領域毎に最低限の記憶容量を設定し、各表領域に設定された記憶容量が不足してきた場合に新たな記憶容量を設定するようにしており、Ｏｒａｃｌｅ（Ｏｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標）に則したデータベースの場合、データベースの表領域の各セグメントにおいて、各セグメントの中のＯｒａｃｌｅが書き込むデータが増加し、各セグメントに割り当てられている連続するデータが書き込まれる最小単位のデータブロックの集まりであるエクステントが満杯になると、満杯になったセグメントに対して新たなエクステントが割り当てられる。
【０００３】
このようなデータベースにおいては、データベースの各表領域毎の空き容量と表領域の各セグメントのエクステントの数の変化とを監視することで、データベースの状況を監視していた。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来技術では、データベースの表領域の各セグメントに対して新たに割り当てられるエクステントサイズ、すなわちエクステントに新たに割り当てられる記憶容量が各セグメント毎に異なっているため、データベースの各表領域毎の空き容量と表領域の各セグメントのエクステントの数の変化とを監視するのみでは、データベースの表領域の各セグメントに対する新たなエクステントの割り当てに際する記憶容量不足を事前に察知することができないという問題点があった。
【０００５】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、データベースの表領域の各セグメントに対する新たなエクステントの割り当ての際の記憶容量不足を事前に察知することで障害を未然に防ぐことができ、システム全体の可用性を高め、信頼性も向上することができるデータベース容量監視装置およびデータベース容量監視方法を提供する点にある。
【０００６】
【課題を解決するための手段】
本発明は上記課題を解決すべく、以下に掲げる構成とした。
請求項１記載の発明の要旨は、データベースの表領域に設定されている記憶容量の空き容量を監視するデータベース容量監視装置であって、前記データベースの前記表領域の連続した前記空き容量の最大サイズを算出する空き容量算出手段と、前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズを抽出するエクステントサイズ抽出手段と、前記空き容量算出手段により算出された前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記エクステントサイズ抽出手段により抽出された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較する容量比較手段と、該容量比較手段による前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとの比較結果を出力する比較結果出力手段とを具備することを特徴とするデータベース容量監視装置に存する。
また請求項２記載の発明の要旨は、前記比較結果出力手段は、前記データベースの前記表領域の連続した前記空き容量の最大サイズよりも前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズが大きくなった場合に警告メッセージを出力させることを特徴とする請求項１記載のデータベース容量監視装置に存する。
また請求項３記載の発明の要旨は、前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知するエクステント割り当て検知手段を具備し、該エクステント割り当て検知手段により前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことが検知されたときに前記空き容量算出手段と前記エクステントサイズ抽出手段とを起動させることを特徴とする請求項１又は２記載のデータベース容量監視装置に存する。
また請求項４記載の発明の要旨は、前記データベースの前記表領域が複数ある場合には、前記空き容量算出手段は、新たに前記エクステントが割り当てられた前記セグメントの配置されている前記データベースの前記表領域のみの連続した前記空き容量の最大サイズを算出させることを特徴とする請求項１乃至３のいずれかに記載のデータベース容量監視装置に存する。
また請求項５記載の発明の要旨は、前記エクステントサイズ抽出手段により抽出された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズを記憶するエクステントサイズ記憶手段を具備し、前記データベースの前記表領域に新たな前記セグメントが作成されるまでは、前記エクステントサイズ抽出手段を起動させず、前記容量比較手段において前記空き容量算出手段により算出された前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記エクステントサイズ記憶手段に記憶された前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較させることを特徴とする請求項１乃至４のいずれかに記載のデータベース容量監視装置に存する。
また請求項６記載の発明の要旨は、データベースの表領域に設定されている記憶容量の空き容量を監視するデータベース容量監視方法であって、前記データベースの前記表領域の連続した前記空き容量の最大サイズを算出し、前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズを抽出し、前記算出した前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記抽出した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとを比較し、前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズとの比較結果を出力することを特徴とするデータベース容量監視方法に存する。
また請求項７記載の発明の要旨は、前記データベースの前記表領域の連続した前記空き容量の最大サイズよりも前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズが大きくなった場合に警告メッセージを出力することを特徴とする請求項６記載のデータベース容量監視方法に存する。
また請求項８記載の発明の要旨は、前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知し、該検知により前記データベースの前記表領域に配置されている前記セグメントに対して前記エクステントが新たに割り当てられたことを検知したときに、前記データベースの前記表領域の連続した前記空き容量の最大サイズの算出と前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントの中の最大サイズの抽出とを実行することを特徴とする請求項６又は７記載のデータベース容量監視方法に存する。
また請求項９記載の発明の要旨は、前記データベースの前記表領域が複数ある場合に、新たに前記エクステントが割り当てられた前記セグメントの配置されている前記データベースの前記表領域のみの連続した前記空き容量の最大サイズを算出することを特徴とする請求項６乃至８のいずれかに記載のデータベース容量監視方法に存する。
また請求項１０記載の発明の要旨は、前記抽出した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントサイズの中の最大サイズを記憶し、前記データベースの前記表領域に新たな前記セグメントが作成されるまでは、前記データベースの前記表領域に配置されているセグメント毎の次に割り当てられるエクステントの中の最大サイズの抽出を実行しないで、前記算出した前記データベースの前記表領域の連続した前記空き容量の最大サイズと前記記憶した前記データベースの前記表領域に配置されている前記セグメント毎の次に割り当てられる前記エクステントサイズの中の最大サイズとを比較することを特徴とする請求項６乃至９のいずれかに記載のデータベース容量監視方法に存する。
また請求項１１記載の発明の要旨は、請求項６乃至１０のいずれかに記載のデータベース容量監視方法を実行可能なプログラムが記憶されている記憶媒体に存する。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【０００８】
図１は、本発明に係るデータベース容量監視装置の実施の形態の構成を示すブロック図である。
【０００９】
本実施の形態は、データベース１の各表領域の連続未使用領域を算出する空き容量算出部２と、空き容量算出部２により算出されたデータベース１の各表領域の連続未使用領域の容量を記憶する空き容量記憶部３と、データベース１の各表領域に配置されている各セグメント毎の次に割り当てられるエクステントサイズの最大のサイズを抽出するエクステント抽出部４と、エクステント抽出部４により抽出された次に割り当てられるエクステントサイズの最大のサイズを記憶するエクステント記憶部５と、空き容量記憶部３に記憶された連続未使用領域の容量とエクステント記憶部５に記憶された次に割り当てられるエクステントのサイズの最大のサイズとをデータベース１の各表領域毎に比較する容量比較部６と、容量比較部６による比較結果を出力する出力部７とからなる。
【００１０】
空き容量算出部２は、Ｏｒａｃｌｅのデータディクショナリのｄｂａ＿ｆｒｅｅ＿ｓｐａｃｅを参照することで、各表領域の最大のバイト数を抽出し、連続未使用領域、すなわち連続した空き容量の最大のサイズを各表領域毎に算出し、算出した各表領域毎の連続未使用の最大のサイズを空き容量記憶部３に記憶する。
【００１１】
エクステント抽出部４は、Ｏｒａｃｌｅのデータディクショナリのｄｂａ＿ｓｅｇｍｅｎｔｓを参照することで、各表領域に配置されている各セグメント毎の次エクステントサイズ、すなわち次に割り当てられるエクステントサイズの最大のサイズを各表領域毎に抽出し、抽出した各表領域毎の次エクステントサイズの最大のサイズをエクステント記憶部５に記憶する。
【００１２】
容量比較部６は、空き容量記憶部３に記憶された各表領域毎の連続未使用の最大のサイズとエクステント記憶部５に記憶された各表領域毎の次エクステントサイズの最大のサイズとを各表領域毎に比較し、各表領域毎の比較結果を出力部７により出力する。なお、比較結果の出力に際し、新たなエクステントが割り付けられる際に容量不足となる可能性があるのは、空き容量記憶部３に記憶された連続未使用の最大のサイズよりもエクステント記憶部５に記憶された次エクステントサイズの最大のサイズが大きくなる場合であるため、各表領域毎の全ての比較結果を出力しないで、空き容量記憶部３に記憶された連続未使用の最大のサイズよりもエクステント記憶部５に記憶された次エクステントサイズの最大のサイズが大きくなった表領域のみを指定した警告メッセージを出力するようにするとより効率的である。
【００１３】
次に、本実施の形態の動作を図２を参照して詳細に説明する。
図２は、本発明に係るデータベース容量監視装置の実施の形態の動作を説明するためのフローチャートである。
【００１４】
本実施の形態のデータベース容量監視装置は、所定の時間毎に自動的に起動される様になっており、起動の時間間隔は、図示しない入力部により指定できる。
【００１５】
本実施の形態のデータベース容量監視装置は、起動されるとまず空き容量算出部２は、Ｏｒａｃｌｅのデータディクショナリのｄｂａ＿ｆｒｅｅ＿ｓｐａｃｅを参照し、各表領域毎の最大のバイト数をｍａｘ（ｂｙｔｅｓ）で抽出することで各表領域毎の連続未使用領域の最大のサイズを算出し（Ｓ１）、算出した各表領域毎の連続未使用領域の最大のサイズを空き容量記憶部３に記憶する。具体的には、データディクショナリのｄｂａ＿ｆｒｅｅ＿ｓｐａｃｅを参照してＳＱＲ（構造化照会言語）であるｓｅｌｅｃｔ  ｍａｘ（ｆｒｅｅ＿ｓｐａｃｅ）  ｆｒｏｍ  ｄｂａ＿ｆｒｅｅ＿ｓｐａｃｅを実行することにより、各表領域毎の連続未使用領域の最大のサイズを算出する。
【００１６】
次にエクステント抽出部４は、Ｏｒａｃｌｅのデータディクショナリのｄｂａ＿ｓｅｇｍｅｎｔｓを参照して、各表領域に配置されている各セグメント毎の次エクステントサイズ、すなわち次に割り当てられるエクステントサイズの最大のサイズを各表領域毎に抽出し（Ｓ２）、抽出した各表領域毎の次エクステントサイズの最大のサイズをエクステント記憶部５に記憶する。具体的には、データディクショナリのｄｂａ＿ｓｅｇｍｅｎｔｓを参照してＳＱＲ（構造化照会言語）であるｓｅｌｅｃｔ  ｍａｘ（ｎｅｘｔ＿ｅｘｔｅｎｔ）  ｆｒｏｍ  ｄｂａ＿ｓｅｇｍｅｎｔを実行することにより、各表領域毎の次エクステントサイズの最大のサイズを抽出する。
【００１７】
次に容量比較部６は、空き容量記憶部３に記憶された各表領域毎の連続未使用の最大のサイズとエクステント記憶部５に記憶された各表領域毎の次エクステントサイズの最大のサイズとを各表領域毎に比較し（Ｓ３）、空き容量記憶部３に記憶された各表領域毎の連続未使用領域の最大のサイズよりもエクステント記憶部５に記憶された各表領域毎の次エクステントサイズの最大のサイズが大きくなった表領域に対して警告メッセージをディプレイ等からなる出力部７から出力し（Ｓ４）、全ての表領域において空き容量記憶部３に記憶された各表領域毎の連続未使用領域の最大のサイズがエクステント記憶部５に記憶された各表領域毎の次エクステントサイズの最大のサイズよりも大きい場合には、処理動作を終了する。
【００１８】
以上説明したように、本実施の形態によれば、各表領域毎の連続未使用領域の最大のサイズと各表領域毎の次エクステントサイズの最大のサイズとを各表領域毎に比較することにより、データベースの表領域の各セグメントに対する新たなエクステントの割り当ての際の記憶容量不足を事前に察知することで障害を未然に防ぐことができ、システム全体の可用性を高め、信頼性も向上することができるという効果を奏する。
【００１９】
また、本実施の形態では、所定時間毎に起動するように構成したが、データベースの表領域に配置されているセグメントに対して新たにエクステントが割り当てられたことを検知する図示しないエクステント割り当て検知部を設け、エクステント割り当て検知部によりデータベースの表領域に配置されているセグメントに対して新たにエクステントが割り当てられたことを検知した際に起動するように構成することもできる。すなわち、データベースの表領域に配置されているセグメントに対して新たにエクステントが割り当てられた場合には、データベースの表領域の連続未使用領域が変化するため、変化したタイミングでデータベースの表領域の連続未使用領域と次エクステントサイズの最大のサイズとを比較することにより、確実にデータベースの表領域の各セグメントに対する新たなエクステントの割り当ての際の記憶容量不足を事前に察知することができる。
【００２０】
また、本実施の形態をデータベースの表領域に配置されているセグメントに対して新たにエクステントが割り当てられたときに起動するように構成した場合には、セグメントに対して新たにエクステントが割り当てられたデータベースの表領域のみの連続未使用領域を算出すれば良く、データベースの全ての表領域の連続未使用領域を算出する必要はない。
【００２１】
さらに、本実施の形態では、起動毎にデータベースの各表領域毎に次エクステントサイズの最大のサイズを抽出するように構成したが、エクステントサイズは、セグメントを作成するときに定義したＮＥＸＴパラメータにより指定するものであるため、新たなセグメントが作成されない限り、エクステント記憶部５に記憶された次エクステントサイズの最大のサイズを更新する必要がなく、新たなセグメントが作成された場合のみ、データベースの各表領域毎に次エクステントサイズの最大のサイズを抽出するように構成しても良い。
【００２２】
なお、本発明が上記各実施形態に限定されず、本発明の技術思想の範囲内において、各実施形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。
【００２３】
【発明の効果】
本発明のデータベース容量監視装置およびデータベース容量監視方法は、各表領域毎の連続未使用の最大のサイズと各表領域毎の次エクステントサイズの最大のサイズとを各表領域毎に比較することにより、データベースの表領域の各セグメントに対する新たなエクステントの割り当ての際の記憶容量不足を事前に察知することで障害を未然に防ぐことができ、システム全体の可用性を高め、信頼性も向上することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明に係るデータベース容量監視装置の実施の形態の構成を示すブロック図である。
【図２】本発明に係るデータベース容量監視装置の実施の形態の動作を説明するためのフローチャートである。
【符号の説明】
１  データベース
２  空き容量算出部
３  空き容量記憶部
４  エクステント抽出部
５  エクステント記憶部
６  容量比較部
７  出力部
【図１】
0003620385.tif 000002
【図２】
0003620385.tif 000003