(57)【要約】      （修正有）【課題】データベースの先日付のテストに必要な処理を自動化し、テストの効率を向上することにある。【解決手段】データベースのテスト方法において、サーバ１０１は、先日付テストで指定される日付に基づきテーブル定義を生成するテーブル定義生成処理１０４と、先日付テストの自動実行を登録する自動実行登録処理１０６と、を有する。先日付テストの自動実行において、ＤＢバックアップ処理１０５は、データベースをバックアップし、テーブル生成処理１０８は、テーブル定義に基づきテーブルを生成し、自動拡張設定処理１０３は、表領域を拡張し、データロード処理１０９は、データをロードし、ＤＢ監視処理１１０は、データベースを監視し、不要ファイル削除処理１０７は、不要となったバックアップを削除する。【選択図】図１Ｂ
2015172865.tif 000002
【特許請求の範囲】
【請求項１】
データベースのテスト方法において、
先日付テストで指定される日付に基づきテーブル定義を生成するステップと、
前記先日付テストの自動実行を登録するステップと、
を有し、
前記先日付テストの自動実行において、
前記データベースをバックアップするステップと、
前記テーブル定義に基づきテーブルを生成するステップと、
表領域を拡張するステップと、
データをロードするステップと、
前記データベースを監視するステップと
不要となった前記バックアップを削除するステップと、
を有することを特徴とするデータベースのテスト方法。
【請求項２】
前記テーブル定義を生成するステップは、パーティション名とパーティション上限値と格納先表領域名を設定して生成することを特徴とする請求項１に記載のデータベースのテスト方法。
【請求項３】
前記自動実行を登録するステップは、前記テストを実行する日付と時間に基づき登録されることを特徴とする請求項１に記載のデータベースのテスト方法。
【請求項４】
前記バックアップするステップは、２世代のバックアップファイルを保持することを特徴とする請求項１に記載のデータベースのテスト方法。
【請求項５】
前記テーブルを生成するステップは、生成の対象に代わられる既存のテーブルを削除し、前記テーブル定義に基づきテーブルを生成することを特徴とする請求項１に記載のデータベースのテスト方法。
【請求項６】
前記拡張するステップは、実レコード件数が最大格納件数を超える場合に自動拡張設定を自動へ変更することを特徴とする請求項１に記載のデータベースのテスト方法。
【請求項７】
前記データベースを監視するステップは、前記拡張の対象の容量が所定の閾値を超えるか判定し、閾値を超える場合は異常のメッセージを出力することを特徴とする請求項１に記載のデータベースのテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベースのテスト方法に関するものである。
【背景技術】
【０００２】
データベースの運用においては、データベースのパーティション表（テーブル）の定義を時間の経過とともに修正する必要が生じるものもある。また、データベースシステムを構築する際にはテストを行う必要があり、時間の経過とともに変化するデータベースが常に正しいものとなっていることを確認する必要がある。
【０００３】
例えば特許文献１には、データベースのレンジパーティション表の既存のパーティションから追加する新たなパーティションの定義情報を抽出し、新たなパーティションを追加することにより、時間の経過とともに自動修正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０４１３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された技術を使用すれば、レンジパーティション表を時間の経過とともに自動修正することは可能である。しかしながら、レンジパーティション表の修正だけでは特定の時間（日付）のデータベースそのものではなく、データベースの将来の特定の日付すなわち先日付のテストには利用できない。
【０００６】
そこで、本発明の目的は、データベースの先日付のテストに必要な処理を自動化し、テストの効率を向上することにある。
【課題を解決するための手段】
【０００７】
本発明に係るデータベースのテスト方法は、先日付テストで指定される日付に基づきテーブル定義を生成するステップと、前記先日付テストの自動実行を登録するステップと、を有し、前記先日付テストの自動実行において、前記データベースをバックアップするステップと、前記テーブル定義に基づきテーブルを生成するステップと、表領域を拡張するステップと、データをロードするステップと、前記データベースを監視するステップと不要となった前記バックアップを削除するステップと、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データベースの先日付のテストに必要な処理を自動化し、テストの効率を向上することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】先日付テストの状態の例を示す図である。
【図１Ｂ】サーバの構成の例を示す図である。
【図２】作業前の処理のフローの例を示す図である。
【図３】作業時（自動実行時）の処理のフローの例を示す図である。
【図４】ＤＢバックアップ処理のフローの例を示す図である。
【図５】テーブル定義生成処理のフローの例を示す図である。
【図６】自動拡張設定処理のフローの例を示す図である。
【図７】自動実行登録処理のフローの例を示す図である。
【図８】不要ファイル削除処理のフローの例を示す図である。
【図９】テーブル生成処理のフローの例を示す図である。
【図１０】データロード処理のフローの例を示す図である。
【図１１】ＤＢ監視処理のフローの例を示す図である。
【図１２】メッセージログファイルの例を示す図である。
【図１３】自動拡張ファイルの例を示す図である。
【図１４】先日付ファイルの例を示す図である。
【図１５】テーブル件数ファイルの例を示す図である。
【図１６】テーブル構成情報ファイルの例を示す図である。
【図１７】自動実行ファイルの例を示す図である。
【図１８】環境定義ファイルの例を示す図である。
【図１９】テーブル定義生成処理の生成内容の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて好ましい実施の形態を説明する。
【００１１】
図１Ａは先日付テストの状態の例を示す図である。現在が１月であり、現在のデータベースとして１月ＤＢ１０が存在し、１月ＤＢ１０は３か月分のデータを１月１１と１２月１２と１１月１３として保存する。データベースを操作するジョブとして日ごとに実行されるＪｏｂＡ２０と週ごとに実行されるＪｏｂＢ２１と月ごとに実行されるＪｏｂＣ２２とが存在し、各ジョブはどの日に実行されるかが予め設定されている。なお、各ジョブは多数のスクリプトから構成される。
【００１２】
これに対し、例えば実際の日にテストを実行することが難しい閏年の２月２９日という日付でテストをする場合、２月２９日を先日付として設定する。まず、１月ＤＢ１０の１月１１を１月１４のように各月をそれぞれバックアップする。そして、２月２８日３０に実行されるべきＪｏｂＡ２０とＪｏｂＢ２１をそれぞれバックアップしたデータベースに対して実行し、２月２９日３１に実行されるべきＪｏｂＡ２０とＪｏｂＣ２２をデータベースに対して更に実行することにより、２月２９日付けの２月ＤＢ１５を得ることができる。ここで、各ジョブが正常に終了すればテストは成功であり、さらに２月ＤＢ１５の内容を検査してテストを成功としてもよい。また、データベースの容量をチェックしてテストを成功としてもよい。
【００１３】
さらに、１２月３１日という先日付でテストをする場合、２月ＤＢ１５に対して同様に処理を行う。すなわち、１２月３１日３２に実行されるべきＪｏｂＡ２０とＪｏｂＢ２１とＪｏｂＣ２２をデータベースに対して実行し、１２月ＤＢ１６を得る。そして、１月１日という先日付でテストをする場合、１２月ＤＢ１６に対して同様に処理を行うが、１月１日３３には実行すべきジョブが無いため、ジョブを実行せず、１月ＤＢ１７を得る。ここで、パーティション表（テーブル）は各ジョブの実行のために生成してもよく、データは現在のデータから生成したデータをロードしてもよく、データを予め１２か月分用意して、現在のデータから生成できないデータは１２か月分の中からロードしてもよい。
【００１４】
図１Ｂはサーバ１０１のソフトウェアとデータの構成の例を示す図である。サーバ１０１のハードウェアの構成はプロセッサやメモリなどを備えた一般的なコンピュータの構成であるが、以下で説明する各処理ごとに専用の処理プロセッサを設けたり、各データを記憶するために内蔵の記憶装置、外付けの記憶装置、ネットワーク接続の記憶装置などを備えたりしてもよい。
【００１５】
自動拡張設定処理１０３はサーバ１０１で実行される処理であって、データベースの領域が不足した場合に自動的に領域を拡張する処理であり、具体的な処理の内容は図６を用いて後で説明する。テーブル定義生成処理１０４はテーブル定義を生成してＯｕｔテーブル定義ファイル１１７へ出力する処理であり、具体的な処理の内容は図５、図１９を用いて後で説明する。ＤＢバックアップ処理１０５はデータベース（ＤＢ）をバックアップする処理であり、具体的な処理の内容は図４を用いて後で説明する。自動実行登録処理１０６は所定の日時にジョブを自動実行するための登録を行う処理であり、具体的な処理の内容は図７を用いて後で説明する。
【００１６】
不要ファイル削除処理１０７はテスト終了後などに不要となったファイルを削除する処理であり、具体的な処理の内容は図８を用いて後で説明する。テーブル生成処理１０８はＯｕｔテーブル定義ファイル１１７の定義に基づいてテーブルを生成する処理であり、具体的な処理の内容は図９を用いて後で説明する。データロード処理１０９はＤＢバックアップファイル１１９などからデータをロードする処理であり、具体的な処理の内容は図１０を用いて後で説明する。ＤＢ監視処理１１０はデータベースの容量を定期的に監視し、容量が過剰に増加している場合は警告する処理であり、具体的な処理の内容は図１１を用いて後で説明する。
【００１７】
入力ファイル１１６は各処理へ入力するファイルであり、先日付ファイル１１１、Ｉｎテーブル定義ファイル１１２、テーブル構成情報ファイル１１３、環境定義ファイル１１４、自動実行ファイル１１５をファイルとして含む。出力ファイル１２５は各処理から出力されるファイルであり、Ｏｕｔテーブル定義ファイル１１７、ＤＢバックアップファイルＯｌｄ１１８、ＤＢバックアップファイルＮｅｗ１１９、ＤＢバックアップ実行結果ファイル１２０、ＤＢバックアップ実行結果ファイルＮｅｗ１２１、テーブル件数ファイル１２２、メッセージログファイル１２３、自動拡張ファイル１２４をファイルとして含む。さらにデータベース本体としてＴＢＬ＿ＭＡＩＬ１２６、ＴＢＬ＿ＰＲＯＣ１２７などの複数のデータを格納する。
【００１８】
図２は作業前の処理のフローの例を示す図である。この処理フローは先日付のテストでジョブ（Ｊｏｂ）を実行するための事前準備の全体処理であり、ステップ２０５で実行される自動実行登録処理１０６によりジョブの実行が登録されて、この処理フロー終了後の登録された所定の日時にジョブが実行され、先日付のテストが行われる。まず、ステップ２０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。次に、ステップ２０２にてテーブル定義生成処理１０４を実行し、ステップ２０３にてＤＢバックアップ処理１０５を実行する。さらに、ステップ２０４にて自動拡張設定処理１０３を実行し、ステップ２０５にて自動実行登録処理１０６を実行する。最後にステップ２０６にてメッセージログファイル１２３へ処理終了のメッセージを出力して作業前の処理を終了する。
【００１９】
図３は作業時の処理のフローの例を示す図である。すなわち、先日付のテストとしてジョブを実際に自動実行する時点の処理である。まず、ステップ３０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ３０２では自動実行時にジョブへ与える引数をチェックする。ここで、引数のチェックの結果が異常な場合は処理を中止してもよいし、正常な引数へ変更できるのであれば、正常な引数へ変更してもよい。ステップ３０３ではシステムログ領域の空き容量を取得する。テストの結果はシステムログ領域へ格納されるため、テストの結果を格納するのに十分な空き容量がないと、テストを実行する意味がない。ここでは、システムログ領域の使用率が７０％未満であるかを判定し、７０％未満でないときは、空き容量が不十分であるので、ステップ３０５へ進んでシステムログ領域をメンテナンスし、空き容量を確保する。
【００２０】
使用率が７０％未満であるときは、空き容量が十分であるので、ステップ３０６へ進み、Ａｕｔｏ引数としてＤＢバックアップ処理１０５を実行する。Ａｕｔｏ引数を引数により指定される操作を自動化するものであってテストなどに利用し、実際に使用されるデータベースとは別のものとして扱う。このためのＡｕｔｏ引数に対する処理は図４を用いたＤＢバックアップ処理１０５で説明する。ステップ３０７にてテーブル生成処理１０８を実行し、ステップ３０８にて自動拡張ファイル１２４を読み込み、対象となるデータベースの表領域名を取得して、表領域の自動拡張設定を自動へ変更する。ステップ３０９にてデータロード処理１０９を実行してテストを行い、ステップ３１０にてテスト中のＤＢ監視処理３１０を実行する。ステップ３１１にてＡｕｔｏ引数としてＤＢバックアップ処理１０５を実行し、ステップ３１２にてデータベースのテーブルのメンテナンスを実行するが、ここでメンテナンス前のテーブルの件数とメンテナンス後のテーブルの件数を取得する。最後にステップ３１３にてメッセージログファイル１２３へ処理終了のメッセージを出力して作業時の処理を終了する。
【００２１】
図４はＤＢバックアップ処理１０５のフローの例を示す図である。まず、ステップ４０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ４０２ではＤＢバックアップ処理１０５の引数をチェックする。ステップ４０３にて図１８に示す環境定義ファイル１１４を読み込み、ｅｘｐｄｐコマンドと保存先ディレクトリとテーブル件数ファイル名を取得する。ステップ４０４にてＤＢバックアップ保存先の空き容量を取得し、ステップ４０５にて保存に必要な容量と取得した空き容量とを比較する。比較の結果として保存に必要な容量が取得した空き容量より小さい場合は、ステップ４０６へ進み、保存先ディレクトリを変更する。
【００２２】
ステップ４０７にて１世代前のＤＢバックアップファイルＯｌｄ１１８とＤＢバックアップ実行結果ファイルＯｌｄ１２０を削除し、ステップ４０８にて最新のＤＢバックアップファイルＮｅｗ１１９とＤＢバックアップ実行結果ファイルＮｅｗ１２１をそれぞれ１世代前のファイルとなるようにリネームする。ステップ４０９にてデータベースをバックアップする。ここで、引数にＡｕｔｏが付与されている場合はファイル名の先頭に「ｔｅｍｐ」を付与する。すなわち、それぞれのファイル名を「ｔｅｍｐ＿ＤＢバックアップＮｅｗ＿［取得した年月日（時分秒）］．ｄｐ」と「ｔｅｍｐ＿ＤＢバックアップ実行結果Ｎｅｗ＿［取得した年月日（時分秒）］．ｌｏｇ」とする。なお、引数にＡｕｔｏが付与されていない場合のそれぞれのファイル名を「ＤＢバックアップＮｅｗ＿［取得した年月日（時分秒）］．ｄｐ」と「ＤＢバックアップ実行結果Ｎｅｗ＿［取得した年月日（時分秒）］．ｌｏｇ」とする。
【００２３】
ステップ４１０にてＤＢバックアップ実行結果Ｎｅｗ１２１を読み込み、ＤＢバックアップの処理結果を取得して、ステップ４１１にて正常にＤＢバックアップが取得されたか否かを判定する。正常にＤＢバックアップが取得されなかった場合は、ステップ４１２へ進み、メッセージログファイル１２３へ異常終了のメッセージを出力してＤＢバックアップ処理１０５を終了する。正常にＤＢバックアップが取得された場合は、ステップ４１３へ進み、ＤＢバックアップ実行結果ファイルＮｅｗ１２１を読み込み、各テーブルの件数を取得し、取得した件数をテーブル件数ファイル１２２へ出力する。最後にステップ４１４にてメッセージログファイル１２３へ正常終了のメッセージを出力してＤＢバックアップ処理１０５を終了する。
【００２４】
図５はテーブル定義生成処理１０４のフローの例を示す図である。まず、ステップ５０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ５０２にて先日付ファイル１１１を読み込み、先日付ファイル１１１に格納されているレコード件数すなわち先日付テストの回数でもある先日付の個数を取得する。この数が以下で説明するループの回数となる。ループ開始前に変数である処理回数を０に初期化し、ステップ５０３にて処理回数に１を加算する。ステップ５０４にて先日付ファイルを読み込み、先日付を１つ取り出す。ステップ５０５にてＩｎテーブル定義ファイル１１２を読み込み、ステップ５０４で取り出して指定された先日付でテーブル定義を生成し、Ｏｕｔテーブル定義ファイル１１７へ出力する。このテーブル定義の生成に関しては図１９を用いて後でさらに説明する。ステップ５０６にて処理回数とステップ５０２で取得した先日付のテストの回数とを比較し、処理回数が先日付テストの回数以下であれば、ステップ５０３へ戻る。ステップ５０７にてＯｕｔテーブル定義ファイル１１７の個数が正常に作成されたか否かを判定し、正常に作成されなかった場合はステップ５０８へ進み、メッセージログファイル１２３へ異常終了のメッセージを出力してテーブル定義生成処理１０４を終了する。正常に作成された場合は、ステップ５０９へ進み、メッセージログファイル１２３へ正常終了のメッセージを出力してテーブル定義生成処理１０４を終了する。
【００２５】
図６は自動拡張設定処理１０３のフローの例を示す図である。まず、ステップ６０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ６０２からステップ６０７まではテーブル構成定義ファイル１１３のレコード数を回数とするループであり、ステップ６０２にてテーブル構成定義ファイル１１３から１つのレコードを順次特定する。ここで１つのレコードが１つのテーブルに対応している。特定されたレコードをステップ６０３にてテーブル構成情報ファイル１１３から読み出し、読み出したレコードの最大格納件数を取得する。また、ステップ６０４にてＤＢバックアップ実行結果ファイルＮｅｗ１２１から実レコード件数を取得する。ここで、実レコード件数はＤＢバックアップ処理で出力されたデータベースのレコード件数に対応する。
【００２６】
ステップ６０５にて最大格納件数が実レコード件数以上であるかを判定し、最大格納件数が実レコード件数未満である場合は、実レコードを格納できないためステップ６０６へ進み、自動拡張ファイル１２４へ対象となる表領域を書き込む。テーブル構成定義ファイル１１３の全てのレコードの処理が完了すると、ステップ６０８にてメッセージログファイル１２３へ終了のメッセージを出力して自動拡張設定処理１０３を終了する。
【００２７】
図７は自動実行登録処理１０６のフローの例を示す図である。まず、ステップ７０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ７０２からステップ７０５までは自動実行ファイル１１５のレコード数を回数とするループであり、ステップ７０２にて自動実行ファイル１１５から１つのレコードを順次特定する。ここで１つのレコードが１つの日付、時間に対応する。特定されたレコードをステップ他７０３にて自動実行ファイル１１５から読み出し、読み出したレコードのテスト日付、テスト時間を取得する。そして、取得したテスト日付、テスト時間に基づきステップ７０４にてＬｉｎｕｘ（登録商標）などのＯＳ標準提供のジョブ自動実行設定をする。自動実行ファイル１１５の全てのレコードの処理が完了すると、ステップ７０６にてメッセージログファイル１２３へ終了のメッセージを出力して自動実行登録処理１０６を終了する。
【００２８】
図８は不要ファイル削除処理１０７のフローの例を示す図である。まず、ステップ８０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ８０２にて引数をチェックし、ステップ８０３にてＤＢ容量監視プロセスを停止する。ステップ８０４にてテスト期間中に生成、取得したＤＢバックアップファイル１１８、１１９とＤＢバックアップ実行結果ファイル１２０、１２１を削除する。そして、削除によりテストではない状態へ戻すため、ステップ８０５にてテーブル生成処理１０８を実行し、ステップ８０６にてデータロード処理１０９を実行する。最後にステップ８０７にてメッセージログファイル１２３へ終了のメッセージを出力して不要ファイル削除処理１０７を終了する。
【００２９】
図９はテーブル生成処理１０８のフローの例を示す図である。まず、ステップ９０１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ９０２にてＯｕｔテーブル定義ファイル１１７を読み込み、テーブルを生成する前に削除するため、ステップ９０３にてＯｕｔテーブル定義ファイル１１７に定義されたテーブル単位にデータベースに対する削除コマンドを作成する。作成した削除コマンドをステップ９０４にて実行し、テーブルを削除する。ステップ９０５にて削除コマンドの実行結果が成功したか否かを判定し、失敗した場合はステップ９０８へ進み、メッセージログファイル１２３へ異常終了のメッセージを出力してテーブル生成処理１０８を終了する。成功した場合はステップ９０６にてＯｕｔテーブル定義ファイル１１７に基づいてデータベースに対する生成コマンドを作成して実行し、テーブルを生成する。ステップ９０７にて生成コマンドの実行結果が成功したか否かを判定し、失敗した場合はステップ９０８へ進み、メッセージログファイル１２３へ異常終了のメッセージを出力してテーブル生成処理１０８を終了する。成功した場合はステップ９０９にてメッセージログファイル１２３へ正常終了のメッセージを出力してテーブル生成処理１０８を終了する。
【００３０】
図１０はデータロード処理１０９のフローの例を示す図である。まず、ステップ１５１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ１５２にてデータロードすべき対象テーブル（パーティション）が全て存在するか否かを判定し、全て存在するのでなければステップ１５７へ進み、メッセージログファイル１２３へ異常終了のメッセージを出力してデータロード処理１０９を終了する。全て存在する場合はステップ１５３にてＤＢバックアップファイル１１９のファイル名の先頭に「ｔｅｍｐ」が付与されているかを判定し、「ｔｅｍｐ」の無い場合はステップ１５７へ進む。「ｔｅｍｐ」が付与されている場合はステップ１５４にて最新のＤＢバックアップファイル１２１のファイル名を取得し、取得したファイル名に基づきステップ１５５にてデータベースに対するデータロードコマンドを実行する。ステップ１５６にてデータロードコマンドの実行結果が成功したか否かを判定し、失敗した場合はステップ１５７へ進む。成功した場合はステップ１５８にてメッセージログファイル１２３へ正常終了のメッセージを出力してデータロード処理１０９を終了する。
【００３１】
図１１はＤＢ監視処理のフローの例を示す図である。まず、ステップ２５１にてメッセージログファイル１２３へ処理開始のメッセージを出力する。ステップ２５２にて自動拡張ファイル１２４を読み込み、監視対象の表領域名を取得する。ステップ２５３からステップ２５７までは１０分ごとに繰り返されるループである。そして、毎時００分、１０分、２０分、３０分、４０分、５０分にステップ２５４でＤＢ容量コマンドを実行し、データベースの容量を取得する。取得した容量の中で閾値を超えるデータベースが存在するかをステップ２５５にて判定し、閾値を超えるデータベースが存在する場合はステップ２５６へ進み、メッセージログファイル１２３へ異常のメッセージを出力する。閾値を超えるデータベースが存在しない場合はステップ２５３へ戻り、１０分後にステップ２５４を実行する。ここでは毎時００分、１０分、２０分、３０分、４０分、５０分としたが、間隔は１０分に限定するものではなく、毎時の何分であるかもこれらに限定されるものではない。
【００３２】
図１２はメッセージログファイル１２４の例を示す図である。メッセージログファイル１２４は図１２に示したフォーマットであり、各項目を以下に説明する。日付３５１と時間３５２はログを記録した処理日付と処理時間である。アクション３５３は対応の必要なエラーか対応なし「−」かを示す情報である。区分コード３５４は処理ごとのコードである。重要度３５５はエラー「（Ｅ）」、警告「（Ｗ）」、情報「（Ｉ）」を示す情報である。メッセージＩＤ３５６は処理単位で採番される番号である。メッセージ３５７はメッセージの内容となるテキストである。そして、各項目の情報を一組として時系列的に記録される。
【００３３】
図１３は自動拡張ファイル１２４の例を示す図である。自動拡張ファイル１２４は図１３に示すフォーマットであって、表領域名３５８は対象とする表領域の名称であり、テーブル名３５９は対象とするテーブルの名称である。表領域名３５８とテーブル名３５９とは組を成し、複数の組が格納される。
【００３４】
図１４は先日付ファイル１１１の例を示す図である。先日付４５１はテストの実行対象となる年月であり、複数の先日付のテストをする場合は、それぞれの年月が格納される。
【００３５】
図１５はテーブル件数ファイル１２２の例を示す図である。テーブル件数ファイル１２２は図１５に示すフォーマットであって、表領域名５５１は対象とする表領域の名称であり、テーブル名５５２は対象とするテーブルの名称であり、件数５５３はテーブル名５５２で特定される該当テーブルの件数である。
【００３６】
図１６はテーブル構成定義ファイル１１３の例を示す図である。テーブル構成定義ファイル１１３は図１６に示すフォーマットであって、すべての項目の一組（図１６の水平方向１行）で１レコードを構成し、各項目を以下に説明する。スキーマ名６５１は格納先のスキーマの名称であり、テーブル名６５２は格納先のテーブルの名称であり、表領域名６５３は格納先の表領域の名称である。スキーマ名６５１とテーブル名６５２と表領域名６５３で特定される１レコードに関して、最大格納件数６５４はデータベースのレコードが最大で何件格納できるかの件数であり、保持期間６５５はデータの保持期間であり、パーティション数６５６はパーティションの個数であり、パーティション名６５７はパーティションの名称である。
【００３７】
図１７は自動実行ファイル１１５の例を示す図である。自動実行ファイル１１５は図１７に示すフォーマットであって、日付７５１と時間７５２はテストの自動実行を開始する年月日と時分であり、メンテナンス有無７５３は自動実行時にメンテナンスを実行する（「１」）実行しない（「０」）の情報である。
【００３８】
図１８は環境定義ファイル１１４の例を示す図である。環境定義ファイル１１４は図１８に示すフォーマットであって、Ｅｘｐ８５１からＢａｃｈ１  ８６３までの項目があり、各項目を以下に説明する。Ｅｘｐ８５１はｅｘｐｏｒｔコマンドラインであり、コマンドのｅｘｐｄｐとファイルを設定されるものである。Ｄｉｒ１  ８５２は作業基本ディレクトリをフルパスで設定されるものである。Ｄｉｒ２  ８５３は変更先の保存先ディレクトリをフルパスで設定されるものである。Ｄｉｒ３  ８５４はテーブル定義ディレクトリ名をフルパスで設定されるものであって、入力用である。Ｄｉｒ４  ８５５はテーブル定義保存先ディレクトリ名をフルパスで設定されるものであって、出力用である。Ｄｉｒ５  ８５６はＤＢバックアップ保存先ディレクトリ名をフルパスで設定されるものである。Ｄｉｒ６  ８５７はＤＢバックアップ実行結果保存先ディレクトリ名をフルパスで設定されるものである。
【００３９】
Ｆｉｌｅ１  ８５８はメッセージログファイル名をフルパスで設定されるものである。Ｆｉｌｅ２  ８５９はテーブル件数ファイル名をフルパスで設定されるものである。Ｆｉｌｅ３  ８６０は先日付ファイル名をフルパスで設定されるものである。Ｆｉｌｅ４  ８６１はテーブル構成情報ファイル名をフルパスで設定されるものである。Ｆｉｌｅ５  ８６２は自動拡張ファイル名をフルパスで設定されるものである。Ｂａｃｈ１  ８６３はメンテナンスプログラム名をフルパスで設定されるものである。以上の各項目を参照して必要なディレクトリ、ファイル名を取得し各ファイルへアクセスできる。
【００４０】
図１９はテーブル定義生成処理１０４の生成内容の例を示す図である。テーブル定義生成処理１０４では図５を用いて説明したように入力ファイル１１６の中のＩｎテーブル定義ファイル１１２を読み込み、データベースそのものの情報に基づき先日付ファイル１１１で設定された先日付でパーティション名、パーティション上限値、格納先表領域名を設定してテーブル定義を生成し、出力ファイル１２５の中のＯｕｔテーブル定義ファイル１１７として出力する。
【００４１】
以上で説明したように、データベースの先日付のテストに必要な処理を自動化し、テストの効率を向上することができる。
【符号の説明】
【００４２】
１０３  自動拡張設定処理
１０４  テーブル定義生成処理
１０５  ＤＢバックアップ処理
１０６  自動実行登録処理
１０７  不要ファイル削除処理
１０８  テーブル生成処理
１０９  データロード処理
１１０  ＤＢ監視処理
１１１  先日付ファイル
１１２  Ｉｎテーブル定義ファイル
１１３  テーブル構成情報ファイル
１１４  環境定義ファイル
１１５  自動実行ファイル
１１７  Ｏｕｔテーブル定義ファイル
１１８  ＤＢバックアップファイルＯｌｄ
１１９  ＤＢバックアップファイルＮｅｗ
１２０  ＤＢバックアップ実行結果ファイルＯｌｄ
１２１  ＤＢバックアップ実行結果ファイルＮｅｗ
１２２  テーブル件数ファイル
１２３  メッセージログファイル
１２４  自動拡張ファイル
【図１Ａ】
2015172865.tif 000003
【図１Ｂ】
2015172865.tif 000004
【図２】
2015172865.tif 000005
【図３】
2015172865.tif 000006
【図４】
2015172865.tif 000007
【図５】
2015172865.tif 000008
【図６】
2015172865.tif 000009
【図７】
2015172865.tif 000010
【図８】
2015172865.tif 000011
【図９】
2015172865.tif 000012
【図１０】
2015172865.tif 000013
【図１１】
2015172865.tif 000014
【図１２】
2015172865.tif 000015
【図１３】
2015172865.tif 000016
【図１４】
2015172865.tif 000017
【図１５】
2015172865.tif 000018
【図１６】
2015172865.tif 000019
【図１７】
2015172865.tif 000020
【図１８】
2015172865.tif 000021
【図１９】
2015172865.tif 000022