(57)【要約】【課題】  本発明では、項目に不一致のあった場合、そのプログラムやジョブ等の情報を自動で特定し、検証作業を効率化することを目的とする。【解決手段】  移行先の計算機のジョブがデータベースのレコードに関する処理をする場合に、前記ジョブと、前記ジョブの処理の関連情報と、前記ジョブが処理したデータベースのレコードの情報を対応づけて記憶する移行先のデータベース更新ログファイルと、マイグレーションにおいて移行元の計算機でのジョブ結果と、前記移行先の計算機でのジョブ結果を比較するデータ比較部と、前記比較に不一致があった場合に不一致のあったジョブのレコードの情報を記憶するデータ比較結果情報ファイルと、前記データ比較結果情報ファイルの不一致レコードの情報を前記移行先のデータベース更新ログファイルのレコードの情報に照合して、関連情報を特定する更新情報取得部とを有する。【選択図】図１１
2015191389.tif 000002
【特許請求の範囲】
【請求項１】
移行先の計算機のジョブがデータベースのレコードに関する処理をする場合に、前記ジョブと、前記ジョブの処理の関連情報と、前記ジョブが処理したデータベースのレコードの情報を対応づけて記憶する移行先のデータベース更新ログファイルと、
マイグレーションにおいて移行元の計算機でのジョブ結果と、前記移行先の計算機でのジョブ結果を比較するデータ比較部と、
前記比較に不一致があった場合に不一致のあったジョブのレコードの情報を記憶するデータ比較結果情報ファイルと、
前記データ比較結果情報ファイルの不一致レコードの情報を前記移行先のデータベース更新ログファイルのレコードの情報に照合して、関連情報を特定する更新情報取得部と、
を有する移行処理結果探索装置。
【請求項２】
請求項１に記載の移行処理結果探索装置であって、
前記移行先のデータベース更新ログファイルが
更に、
前記ジョブが処理するデータベースを特定する情報を対応づけて記憶し、
前記移行元の計算機のジョブがデータベースのレコードに関する処理をする場合に、当該ジョブと、ジョブが処理するデータベースを特定する情報を対応づけて記憶する移行元のデータベース更新ログファイルを有し、
前記データ比較部が、
前記移行元のデータベース更新ログファイルと、前記移行先のデータベース更新ログファイルを基に、ジョブ結果を比較する
ことを特徴とする移行処理結果探索装置。
【請求項３】
請求項２に記載の移行処理結果探索装置であって、
前記データ比較部が、
前記移行元のデータベース更新ログファイルで特定されるジョブと、前記移行先のデータベース更新ログファイルで特定されるジョブが、同一であるデータベースの項目を比較し、
前記データ比較結果情報ファイルが、
前記比較した項目に不一致がある場合に、不一致のある項目のあるレコードの情報を記憶し、
前記更新情報取得部が、
前記データ比較結果情報ファイルの不一致レコードの情報を前記データベース更新ログファイルのレコードの情報に照合して関連情報を特定する
ことを特徴とする移行処理結果探索装置。
【請求項４】
請求項１乃至請求項３のそのどちらか一項に記載の移行処理結果探索装置であって、
前記関連情報が、前記ジョブを処理するプログラム名と、当該ジョブ名である
ことを特徴とする移行処理結果探索装置。
【請求項５】
ジョブがデータベースのレコードに関する処理をする場合に、ジョブ処理の関連情報と、ジョブが処理したデータベースのレコードの結果を対応づけて移行先のデータベース更新ログファイルに記憶するステップと、
マイグレーションにおいて移行元の計算機でのジョブ結果と、移行後の計算機でのジョブ結果を比較するステップと、
前記比較に不一致があった場合に不一致のあったジョブのレコードをデータ比較結果情報ファイルに記憶するステップと、
前記データ比較結果情報ファイルの不一致レコードを前記データベース更新ログファイルのレコードの結果に照合して、関連情報を特定するステップと、
を有する移行処理結果探索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイグレーションにおける、移行システムの処理結果検証の効率化技術に関する。
【背景技術】
【０００２】
メインフレームシステムからオープンシステムへのマイグレーションサービスは、既存システムのビジネスロジックやデータを変更せずに移行することができるため、拡張性、迅速性の向上，TCOの削減が期待できる。移行システムの正当性は既存システムと移行システムで同一の処理をした場合に、処理結果が同一であることを検証することで保障する。この同一性を保証するシステムとして、例えば特許文献１に移行前のシステムのデータ処理結果のデータの項目と移行後のシステムのデータ処理結果のデータの項目を照合するテスト作業をするテスト結果照合システムの技術が知られている。
【０００３】
この特許文献１ではテスト作業を実行してデータに不一致があった場合に、更にその原因を特定する手段として、不一致となった項目と同じ項目がプログラム中にあるかどうか、複数のプログラムを検索して、不一致のあったプログラムを特定する仕組みが開示されている。これにより不一致をおこした原因となった可能性のあるプログラムを自動で特定することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2012-98870号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通常データ処理する場合、データ処理に関わるジョブが設定されており、そのジョブの中で個々の処理をするプログラムが順次呼び出され処理されることが一般的である。このプログラムは、様々な種類のジョブで呼び出されることが考えられ、プログラムとジョブは必ずしも一対一に対応しない。それ故、特許文献１の仕組みでは、プログラム内で直接不一致の項目があるものは特定できるが、それがどのジョブで呼び出されているかまでは自動で特定できない。また、そのプログラムやジョブが、いつ、誰に実行されたものか等の関連情報の特定も考慮されていない。
【０００６】
本発明では、項目に不一致のあった場合、そのプログラムやジョブ等の関連情報を自動で特定し、検証作業を効率化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、移行先の計算機のジョブがデータベースのレコードに関する処理をする場合に、前記ジョブと、前記ジョブの処理の関連情報と、前記ジョブが処理したデータベースのレコードの情報を対応づけて記憶する移行先のデータベース更新ログファイルと、マイグレーションにおいて移行元の計算機でのジョブ結果と、前記移行先の計算機でのジョブ結果を比較するデータ比較部と、前記比較に不一致があった場合に不一致のあったジョブのレコードの情報を記憶するデータ比較結果情報ファイルと、前記データ比較結果情報ファイルの不一致レコードの情報を前記移行先のデータベース更新ログファイルのレコードの情報に照合して、関連情報を特定する更新情報取得部とを有する。
【発明の効果】
【０００８】
本発明によれば、マイグレーションにおける、移行システムの処理結果検証作業を効率化できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る移行処理結果探索装置１００の全体構成例を示す図である。
【図２】ホストコンピュータ１０１のハードウェア構成例を示す図である。
【図３】ホストコンピュータ１０１のバッチ処理システムの流れを示す図である。
【図４】データベースアプリケーションサーバ１０４のハードウェア構成例を示す図である。
【図５】データベースアプリケーションサーバ１０４のバッチ処理システムの流れを示す図である。
【図６】データベースアプリケーションサーバ１０４のコード変換処理部４１２、及び処理結果比較部４１３の処理の流れを示す図である。
【図７】データベースアプリケーションサーバ１０４が具備するデータベース更新ログファイル４１９のデータ構成例を示す図である。
【図８】データベースアプリケーションサーバ１０４が具備するテーブル定義４２０のデータ構成例を示す図である。
【図９】データベースアプリケーションサーバ１０４が具備する比較対象外項目情報４２１のデータ構成例を示す図である。
【図１０】データベースアプリケーションサーバ１０４が具備するデータ比較結果情報ファイル４２２のデータ構成例を示す図である。
【図１１】データベースアプリケーションサーバ１０４が具備する不一致データ更新情報ファイル４２３のデータ構成例を示す図である。
【図１２】データベースアプリケーションサーバ１０４が具備するデータベースアクセス証跡取得部５０５のＣＯＢＯＬプログラムコーディング仕様を示す図である。
【図１３】データベースアプリケーションサーバ１０４が具備するデータ比較部４１４の処理を示すフローチャートである。
【図１４】データベースアプリケーションサーバ１０４が具備する更新情報取得部４１５の処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施例について、図面を参照して詳細に説明する。
【００１１】
図１は、本実施例に係る移行処理結果探索装置１００の全体構成例を示す図である。本発明は、ホストコンピュータとネットワークを介して接続されたデータベースアプリケーションサーバにおける、マイグレーションにおける移行前システムと移行先システムでのバッチ処理更新データベース比較検証についてのものである。移行前と移行後では、移行後のもは新しく作られたシステムであり、同じ処理をしても、コード体系が違う等、システム環境の違いから、処理されないもが当たり、誤処理により、処理の結果が変わってしまうことがある。システム移行においては処理の結果が変わらないことが保障される必要がある。
【００１２】
ホストコンピュータは、バッチ処理後のデータベースをファイルに出力し、データベースアプリケーションサーバへ転送する。データベースアプリケーションサーバは、ホストバッチ更新後ファイルのコード変換を行い、ホストコード変換後ファイルを取得する。
【００１３】
データベースアプリケーションサーバは、バッチプログラムに対し更新識別情報を設定することで、データベースを更新したジョブ名称と、ジョブ番号と、プログラム名称とをデータベース更新ログファイルに出力する。また、データベースアプリケーションサーバは、バッチ処理後のデータベースをサーババッチ更新後ファイルに出力する。データ比較プログラムは、ホストコード変換後ファイルと、サーババッチ更新後ファイルを入力し、ファイル同士の比較を行う。不一致となった場合は、ファイルのレコードと、テーブル定義とを対応付けて、レコードの項目単位に不一致データを比較結果情報ファイルに出力する。比較対象外項目情報に指定されている項目に不一致がある場合は、前記比較結果情報ファイルに出力せずに次の項目の比較を行う。
【００１４】
更新情報取得プログラムは、前記比較結果情報ファイルからテーブル名、不一致データを取得し、前記不一致データに対応するＳＱＬ実行結果情報を、前記データベース更新ログファイルから検索し、不一致データを更新したジョブ名称と、ジョブ番号と、プログラム名称等の情報を取得し、不一致データ更新情報ファイルに出力する。不一致データ更新情報ファイルに出力する場合、プログラム名やジョブ名だけでなく、そのジョブやプログラムを実行した時間や、実行したユーザ等の関連情報も一緒に出力することとしてもよい。
【００１５】
マイグレーション対象システム１００は、ホストコンピュータ１０１と、複数のユーザ端末１０３で構成される既存システム群と、データベースアプリケーションサーバ１０４と、統合監視サーバ１０５と、複数の開発端末１０６で構成される移行システム群とが、業務系ネットワーク１０２に接続されて構成される。ホストコンピュータ１０１は、複数のユーザ端末１０３の画面から処理されるオンライン処理と、夜間及び日中に一括で処理されるバッチ処理を行っている。データベースアプリケーションサーバ１０４は、ホストコンピュータ１０１からマイグレーションにより移行されるサーバであり、統合監視サーバ１０５にて、サービスの自動起動やイベント収集機能により管理される。マイグレーション作業は開発端末１０６からデータベースアプリケーションサーバ１０４に接続し行われる。
【００１６】
移行前のシステムがホストコンピュータ１０１にあり、移行後のシステムがデータベースアプリケーションサーバ１０４となる。本実施例では移行処理結果探索装置をこのような構成としているが、これに限定されるものではなく、移行処理結果探索装置をデータベースアプリケーションに組み込んだ形（処理結果の比較と不一致の関連情報の特定をデータベースアプリケーション側で処理する）にしてもよいし、独立させた装置としてもよく、設置のされかたは限定されない。
【００１７】
図２はホストコンピュータ１０１のハードウェア構成例を示す図である。ホストコンピュータ１０１は、コントローラ（制御部）２０２と、メモリ２０３と、タイマ２０４と、ネットワークインターフェース２０５と、記憶部２０１にジョブ入出力サブシステム２１０と、プログラム２１１を、具備する。また、記憶部２０１には、ジョブ制御ファイル２１２と、バッチ更新データベース２１３と、ホストバッチ更新後ファイルを２１４とデータベース更新ログファイル２１５を具備する。各部はバス（ＢＵＳ）によって接続されている。バッチ更新データベースとは、バッチプログラムにより参照、更新、追加、削除されるデータの集合体のことをいい、例えば顧客名や年齢、性別等のデータである顧客情報マスタデータベースのようなデータを想定している。またホストバッチ更新後ファイル２１４とは、バッチ更新データベースをＳＡＭファイル形式に出力したファイルで、送信し、データ比較プログラム４１４で比較するために使用するものをいう。データベース更新データベースとは、データベースがプログラムやジョブで処理された場合に、どのプログラムやジョブにいつ、どのユーザによって処理されたか等のデータベースの処理の履歴を記憶する。
【００１８】
図３は、ホストコンピュータ１０１のバッチ処理システムの流れを示す図である。ジョブ入出力サブシステムはジョブ実行部３０１と、ジョブ投入部３０２を具備し、ジョブ制御ファイル２１２を解析し、ジョブ実行を制御する。プログラム２１１はバッチプログラム３０３と、データベースアンロードプログラム３０４と、ファイル転送プログラム３０５の機能を有する。バッチプログラム３０３は、ジョブ実行部３０１から呼び出され、バッチ更新データベース２１３を更新する。そのデータベースを、データベースアンロードプログラム３０４にてホストバッチ更新後ファイル２１４に出力し、ファイル転送プログラム３０５がアプリケーションデータベースサーバ１０４へと送信する。
【００１９】
ここで、ホストバッチ更新後ファイルとはバッチ更新データベースをＳＡＭファイル形式に出力したファイルで、送信し、データ比較プログラム４１４で比較するために使用するものをいう。また、ジョブ制御ファイルは、システムに対して実行する処理（ジョブ）の名前や使用する装置などを記載したファイルで、ＯＳがこのファイルを解読して、処理を実行に移す。バッチ処理とは、一定期間、一定量のデータをまとめて一括処理を行う処理方式のことで、具体的には、売上データや受注データの集計処理、在庫更新処理など、一定期間毎に大量のデータを集めて処理するものを想定している。
【００２０】
図４は、データベースアプリケーションサーバ１０４のハードウェア構成例を示す図である。データベースアプリケーションサーバ１０４は、メモリ４０３と、タイマ４０４と、ネットワークインターフェース部４０５とを具備し、制御部４０１に、ジョブ管理制御部４１０と、プログラム実行制御部４１１と、コード変換処理部４１２とを具備し、処理結果比較部４１３として、データ比較部４１４と、更新情報取得部４１５の機能を有する。また、記憶部４０２には、ジョブ制御ファイル４１６と、バッチ更新データベース４１７と、サーババッチ更新後ファイル４１８と、データベース更新ログファイル４１９と、テーブル定義４２０と、比較対象外項目情報４２１と、データ比較結果情報ファイル４２２と、不一致データ更新情報ファイル４２３が格納される。各部はバス（ＢＵＳ）によって接続されている。
【００２１】
各制御部の詳細については図５で説明する。また、テーブル定義４２０は後述で詳細説明するが、テーブルと定義するファイルである。データ比較結果情報ファイル、不一致データ更新情報ファイルは、後述で詳細説明するが、ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８の比較によって出力される、一致、不一致を確認するファイルである。
【００２２】
図５は、データベースアプリケーションサーバ１０４のバッチ処理システムの流れを示す図である。ジョブ管理制御部４１０は、ジョブ実行部５０１と、ジョブ投入部５０２と、ジョブ番号管理部５０３とを具備し、ジョブ制御ファイル４１６を解析しジョブ実行を制御する。プログラム実行制御部４１１は、バッチプログラム５０４と、データベースアクセス証跡取得部５０５と、データベースアンロードプログラム５０８の機能を有する。データベースアクセス証跡取得部５０５は、ジョブ識別情報設定部５０６と、プログラム識別情報設定部５０７とを具備し、バッチプログラム５０４が、バッチ更新データベース４１７を更新する際にデータベース更新ログファイル４１９にジョブ名称と、ジョブ番号と、プログラム名称とを出力する。バッチプログラム５０４は、ジョブ実行部５０１から呼び出され、バッチ更新データベース４１７を更新する。そのデータベースをデータベースアンロードプログラム５０８にてサーババッチ更新後ファイル４１８に出力する。
【００２３】
ここで、バッチ更新データベースは、バッチプログラムにより参照、更新、追加、削除されるデータの集合体のことをいう。データベース更新ログファイル４１９とは、データベースに対しデータ操作（レコードの参照、更新、追加、削除）を行った履歴を格納するファイルのことであり、サーババッチ更新後ファイル４１８はバッチプログラムにより参照、更新、追加、削除された後のデータベースをＳＡＭファイル形式に出力したファイルのことをいう。
【００２４】
図６は、データベースアプリケーションサーバ１０４のコード変換処理部４１２、及び処理結果比較部４１３の処理の流れを示す図である。コード変換処理部４１２は、ホストコンピュータ１０１の文字コード体系をデータベースアプリケーションサーバ１０４の文字コード体系へ変換する、コード変換プログラム６０１の機能を有し、ホストバッチ更新後ファイル３０６からホストコード変換後ファイル６０２へコード変換を行う。データ比較部４１４は、ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８のファイル同士の比較を行う、データ比較プログラム６０３の機能を有する。データ比較プログラム６０３は、テーブル定義４２０の項目情報を基に、項目単位にデータ比較を行い、比較対象外項目情報４２１に設定されていない項目にデータ差異が発生した場合は、データ比較情報ファイル４２２に不一致情報を出力する。更新情報取得部４１５は、更新情報取得プログラム６０４の機能を有し、データ比較結果情報ファイル４２２とデータベース更新ログ４１９とを対応付け、不一致データ更新情報ファイル４２３を出力する。
【００２５】
ホストコード変換後ファイルはホストバッチ更新後ファイルの文字コード変換後のファイルのこと。例えば、ホストコンピュータが扱う文字コードはＥＢＣＤＩＫ／ＫＥＩＳもしくはＥＢＣＤＩＣ体系で、サーバが扱う文字コードはＳＪＩＳ体系である。そのため、ファイルの比較を行うためには、文字コード体系をどちらかに統一する必要がある。データ比較プログラムはサーバ上で動作するプログラムのため、ＳＪＩＳ体系のファイルしか扱うことができない。そのため、ホストバッチ更新後ファイルの文字コードをＳＪＩＳ体系に変換する必要がある。
【００２６】
ここでいう項目とはデータベースの列定義のことを言っており、例えば、顧客マスタというデータベースがあり、その列定義は従業員番号、所属、氏名、入社年度で構成されるとする。項目単位にデータ比較するとは、ホストコード変換後ファイルとサーババッチ更新後ファイルの１レコード目の従業員番号、所属、氏名、入社年度がそれぞれ一致しているか比較することである。
【００２７】
図７は、データベースアプリケーションサーバ１０４が具備するデータベース更新ログファイル４１９のデータ構成例を示す図である。データベース更新ログファイル４１９は、データベースに対しレコード操作を行った情報を格納するファイルであり、バッチ更新データベース４１７に対し、バッチプログラム５０４がレコードの参照、更新、追加、削除を行った場合に更新される。図７に示すように、データベース更新ログファイル４１９は、プログラム名称７０１と、ジョブ名称７０２と、ジョブ番号７０３と、ＳＱＬ実行結果７０４とをそれぞれ対応付けて出力する。図７は、データベースアプリケーションサーバ１０４が具備するデータベース更新ログファイル４１９のデータ構成例を示しているが、ホストコンピュータのデータベース更新ログファイル２１５も同様の構成とする。しかしながら、図７の様式に限定されるものではなく、ホストコンピュータのデータベース更新ログファイル２１５にはどのジョブが、どのデータベース（テーブル）に処理を実行したかのログ情報を記憶する。
【００２８】
データベース更新ログファイルとは、データベースに対しデータ操作（レコードの参照、更新、追加、削除）を行った履歴のこと。データ操作をするプログラムやジョブ、そのプログラムやジョブが操作された時間や、操作したユーザを特定する情報などの、履歴情報が関連情報として記憶される。ＳＱＬとはリレーショナルデータベースの操作を行うための言語のことで、ＳＱＬ実行結果とはデータ操作（レコードの参照、更新、追加、削除）行った結果のことである。つまり、データ操作を行ったレコードを特定する情報が記憶される。図７のＳＱＬ文により、どのデータベース（テーブル）に処理がされたかの情報も記憶されるが、記憶のされ方はこれに限定されるものではなく、別途、処理されるデータベース（テーブル）を特定する項目により記憶させてもよい。
【００２９】
データベース更新ログファイルを扱う理由は、このデータベースをどのジョブ、どのプログラムが、どの項目の値を何から何に更新したかという情報を取得するために使用する。更新後のデータベースの値からどの時点のどのプログラムで更新されたかを特定するために利用する。
【００３０】
図８は、データベースアプリケーションサーバ１０４が具備するテーブル定義４２０のデータ構成例を示す図である。テーブル定義４２０は、データベースの項目名、データ型、項目長が定義されているファイルであり、バッチ更新データベース４１７のテーブルを作成する際に使用される。
【００３１】
顧客(企業)により様々ですが、バッチ更新データベースは、バッチ処理で扱われるデータベースのため、何百テーブルも存在する。例えば、顧客テーブル、受注・売上テーブル、在庫管理テーブルなどを想定している。バッチ更新データベースとは例えば、顧客マスタＤＢのような、操作の対象となるデータベースをいう。
【００３２】
図９は、データベースアプリケーションサーバ１０４が具備する比較対象外項目情報４２１のデータ構成例を示す図である。比較対象外項目情報４２１は、テーブル単位に、更新日付や時刻等のデータ比較不一致になると想定される項目を定義するファイルである。図９に示すように、比較対象外項目情報４２１は、テーブル名８０１と、比較除外項目名８０２を対応付けて定義する。
【００３３】
図１０は、データベースアプリケーションサーバ１０４が具備するデータ比較結果情報ファイル４２２のデータ構成例を示す図である。データ比較結果情報ファイル４２２は、ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８のファイルの比較結果を出力するファイルであり、データ比較プログラム６０３が実行された際に更新される。図１０に示すように、データ比較結果情報ファイル４２２は、比較結果が一致した場合、テーブル名９０１と、比較結果９０２が対応付けて出力され、比較結果が不一致となった場合は、テーブル名９０１と、比較結果９０２と、レコード番号９０３と、項目９０４と、ホストデータ９０５と、サーバデータ９０６と、サーバ不一致レコード９０７とが対応付けて出力され、不一致となったレコード数分繰り返し出力される。ここで、比較結果９０２には「一致」、「不一致」のいずれかが出力される。レコード番号９０３には、データ比較プログラム６０３にて設定された、レコードの先頭からの位置番号が出力される。項目９０４には、テーブル定義４２０にて指定されたデータベースの項目名が出力される。ホストデータ９０５には、ホストコード変換後ファイル６０２のレコード番号９０３の項目９０４のデータと、そのデータを１６進数表記に変換したデータが出力される。サーバデータ９０６には、サーババッチ更新後ファイル４１８のレコード番号９０３の項目９０４のデータと、そのデータを１６進数表記に変換したデータが出力され、サーバ不一致レコード９０７には、サーババッチ更新後ファイル４１８のレコード番号９０３の１レコード分を１６進数表記に変換したデータ出力される。
【００３４】
ここで、不一致はテーブルのレコード単位に検出される。レコード単位に比較し、不一致となったレコードのどの項目が不一致となっているか特定する。テーブル名とは図１０の例では「ＴＢＬ０１」のことであり、例えば、顧客テーブル、受注・売上テーブル、在庫管理テーブルなどを想定している。
【００３５】
また、項目とはテーブルの中にある項目をいい、テーブルが顧客テーブルの場合はそのテーブルの持つ項目、例えば顧客名や性別、年齢といった情報をいう。各項目の持つデータがホストコンピュータの項目データがホストデータ９０５、データベースアプリケーションサーバの項目データがサーバデータ９０６に入る。具体的には顧客テーブルの年齢の項目の場合は、２５歳や３５歳のような年齢を示す情報が記憶される。
【００３６】
図１１は、データベースアプリケーションサーバ１０４が具備する不一致データ更新情報ファイル４２３のデータ構成例を示す図である。不一致データ更新情報ファイル４２３は、データ比較結果情報ファイル４２２に、プログラム名称と、ジョブ名称と、ジョブ番号を対応付けたファイルであり、更新情報取得プログラム６０４が実行された際に更新される。図１１に示すように、不一致データ更新情報ファイル４２３は、サーバ不一致レコード９０７を更新したプログラム名称１００１とジョブ名称１００２と、ジョブ番号１００３とをそれぞれ対応付けて出力する。
【００３７】
図１２は、データベースアプリケーションサーバ１０４が具備するデータベースアクセス証跡取得部５０５のＣＯＢＯＬプログラムコーディング仕様を示す図である。データベースアクセス証跡取得部５０５は、データベースアプリケーションサーバ１０４に対してアクセスするジョブ及びプログラムの識別情報を表示するように、バッチプログラム５０４に対し、クライアント環境定義の環境変数に識別情報を設定する。図１２に示すように、ＳＰＥＣＩＡＬ−ＮＡＭＥS句に環境変数へのアクセスを行うための指定ＥＮＶＩＲＯＮＭＥＮＴ−ＮＡＭＥ(環境変数の名称)、ＥＮＶＩＲＯＮＭＥＮＴ−ＶＡＬＵＥ(環境変数の値)を行う。ジョブ識別情報設定部５０６は、ＤＩＳＰＬＡＹ命令により「実行するジョブの識別名称を示す環境変数」をＥＮＶＩＲＯＮＭＥＮＴ−ＮＡＭＥに格納し、ＡＣＣＥＰＴ命令により「ＪＯＢ−ＩＤ」にＥＮＶＩＲＯＮＭＥＮＴ−ＶＡＬＵＥの値を設定することで、ジョブ番号を取得する。また、「実行するジョブ名称の識別名称を示す環境変数」をＥＮＶＩＲＯＮＭＥＮＴ−ＮＡＭＥに格納し、ＡＣＣＥＰＴ命令により「ＪＯＢ−ＮＡＭＥ」にＥＮＶＩＲＯＮＭＥＮＴ−ＶＡＬＵＥの値を設定することで、ジョブ名称を取得する。プログラム識別情報設定部５０７は、ＤＩＳＰＬＡＹ命令により「実行するプログラムの識別名称を示す環境変数」をＥＮＶＩＲＯＮＭＥＮＴ−ＮＡＭＥに取得し、「プログラムＩＤ」、「ＪＯＢ−ＩＤ」、「ＪＯＢ−ＮＡＭＥ」の値をＥＮＶＩＲＯＮＭＥＮＴ−ＶＡＬＵＥに設定することで、データベース更新ログファイル４１９にプログラム名称７０１と、ジョブ名称７０２と、ジョブ番号７０３を表示する。
【００３８】
図１３は、データベースアプリケーションサーバ１０４が具備するデータ比較部４１４の処理を示すフローチャートである。データ比較部４１４は、ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８を入力（ステップＳ１１０１）し、ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８を比較（ステップＳ１１０２）する。ここで、比較する場合には、ホストコンピュータ側でのデータベース更新ログファイルと、データベースアプリケーションサーバ側でのデータベース更新ログファイルのそれぞれにより、特定される同じプログラム、ジョブによって処理される同じデータベースの項目毎に比較する。各データベース更新ログファイルには、ジョブを特定する情報と、当該ジョブが処理するデータベース（テーブル）を特定する情報が記憶されている為、ジョブとデータベース（テーブル）の組み合わせが同一となるデータベース（テーブル）の項目ごとに比較する。本実施例では比較対象をデータベース更新ログファイルにより特定しているが、これに限定されるものではなく、同じプログラムやジョブによって処理される同じデータベースについて比較できるように処理するのであればよい。
【００３９】
一致する場合は、テーブル名（今回の例ではＴＢＬ０２）及び比較結果「一致」を比較結果情報ファイル４２２に出力（ステップＳ１１０８）する。一致しない場合は、テーブル定義４２０を読み込み、データ型、項目長からレコード長を計算し、配列ＣＯＬＵＭＮに（項目名、項目長）を格納（ステップＳ１１０３）する。ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８から１レコード長分読み込み、配列ＣＯＬＵＭＮから１要素取り出し、項目長分のデータを比較（ステップＳ１１０４）する。一致する場合は、配列ＣＯＬＵＭＮから次の要素を取り出し、配列ＣＯＬＵＭＮの最後の要素まで繰り返し比較する。一致しない場合は、比較対象外項目情報ファイル４２１に不一致となった項目が存在するか検索（ステップＳ１１０５）する。存在する場合は、配列ＣＯＬＵＭＮから次の要素を取り出し、配列ＣＯＬＵＭＮの最後の要素まで繰り返し比較する。存在しない場合は、比較結果情報ファイル４２２にテーブル名（今回の例ではＴＢＬ０１）と、比較結果「不一致」と、レコード番号（今回の例では１）と、不一致となった項目（今回の例ではＣ０３）と、ホストデータ（今回の例では［ＨＥＸ＝０ｘ４３４３］［ＤＡＴＡ＝ＣＣ］）と、サーバデータ（今回の例では［ＨＥＸ＝０ｘ４２４２］［ＤＡＴＡ＝ＢＢ］）を比較結果情報ファイル４２２に出力（ステップＳ１１０６）する。配列ＣＯＬＵＭＮから次の要素を取り出し、配列ＣＯＬＵＭＮの最後の要素まで比較が終了した時点で、サーバ不一致レコード（今回の例では０ｘ４１４１４１２０２０２０４２４２４３４３）を比較結果情報ファイル４２２に出力（ステップＳ１１０６）する。ホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８に次のレコードが存在する場合、次の１レコードを読み込み、ファイルの最後まで繰り返し比較（ステップＳ１１０７）する。次のレコードが存在しない場合、処理を終了する。以降次のホストコード変換後ファイル６０２と、サーババッチ更新後ファイル４１８の比較を行い、全てのファイルの比較を繰り返し行う。
【００４０】
具体的には、例えば、テーブルが顧客情報をあつかう顧客マスタであり、この顧客マスタが、従業員番号、所属、氏名、入社年度の項目をもっているとすると、ＴＢＬ０１：顧客マスタ、Ｃ０１：従業員番号、Ｃ０２：所属、Ｃ０３：氏名、Ｃ０４：入社年度となる。項目とはテーブルを構成する要素をいう。つまり、ここで比較されるのは、顧客マスタの場合、ホストコード変換後ファイル６０２とサーバ更新後ファイル４１８のＣ０１：従業員番号同士、Ｃ０２：所属同士、Ｃ０３：氏名同士、Ｃ０４：入社年度同士を比較する。
【００４１】
例えば、ホストコード変換後ファイル６０２の１レコード目が、従業員番号：１１１、所属：００１、氏名：日立、入社年度：２０００のとなっており、サーバ更新後ファイル４１８の１レコード目が、従業員番号：１１１、所属：００１、氏名：日立、入社年度：２００１となっていた場合、項目単位に比較すると入社年度が不一致となる。
【００４２】
サーバ不一致レコードとは、１レコード毎に比較した結果、不一致となったレコードがあった場合にそのレコードを示す情報が記憶される。
【００４３】
図１４は、データベースアプリケーションサーバ１０４が具備する更新情報取得部４１５の処理を示すフローチャートである。更新情報取得部４１５は、比較結果情報ファイル４２２とデータベース更新ログファイル４１９を入力（ステップＳ１２０１）し、比較結果情報ファイル４２２からテーブル名（今回の例ではＴＢＬ０１）と、サーバ不一致レコード（今回の例では０ｘ４１４１４１２０２０２０４２４２４３４３）を１件読み込む（ステップＳ１２０２）。サーバ不一致レコードをデータベース更新ログファイル４１９のＳＱＬ実行結果７０４から検索し、一致したログ出力箇所のプログラム名称（今回の例ではＰＧＭ００１）と、ジョブ名称（今回の例ではＪＯＢ０１）と、ジョブ番号（今回の例では００００１）とを特定して取得（ステップＳ１２０３）する。不一致データ更新情報ファイル４２３に、比較結果情報ファイル４２２のサーバ不一致レコード９０７までの情報を出力し、プログラム名称１００１、ジョブ名称１００２、ジョブ番号１００３を出力（ステップＳ１２０４）する。比較結果情報ファイル４２２に次のサーバ不一致レコード９０７が存在する場合、次のレコードを読み込み、ファイルの最後まで繰り返し検索（ステップＳ１２０５）する。次のサーバ不一致レコード９０７が存在しない場合、処理を終了する。以上本発明の一実施例について説明した。
【００４４】
上記実施例によれば、一度に多数のジョブが実行され、多数のプログラムからデータベースが更新されるような、規模が大きいバッチ処理において、データベースを更新したジョブ情報とプログラム情報の特定作業を自動化することで、不具合箇所を早期に発見することができ、データベースの処理結果検証作業を効率よく行うことができる。本発明では、プログラムだけでなく、ジョブや、そのプログラムが実行された時間や、ユーザ等の関連情報と特定できるので、いつ、だれが、どのジョブやプログラムに関するものかを特定することで検証作業を効率化できる。またジョブは複数のプログラムを呼び出すので、プログラムがどのジョブで呼び出されている場合に不具合が発生しているのかが分かる。
【００４５】
また、プログラムやジョブの対応は、データベース更新ログファイルで管理されており、不一致となる項目を有するプログラムを網羅的に検索するよりも、原因となるプログラムやジョブを迅速に特定することができる。
【００４６】
以上本発明の実施例を説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００４７】
１０１：ホストコンピュータ、１０２：業務系ネットワーク、１０３：ユーザ端末、１０４：データベースアプリケーションサーバ、１０５：統合監視サーバ、１０６：開発端末、２０１、４０２：記憶部、２０２、４０１：コントローラ（制御部）、２０３、４０３：メモリ、２０４、４０４：タイマ、２０５、４０５：ネットワークインターフェース部
【図１】
2015191389.tif 000003
【図２】
2015191389.tif 000004
【図３】
2015191389.tif 000005
【図４】
2015191389.tif 000006
【図５】
2015191389.tif 000007
【図６】
2015191389.tif 000008
【図７】
2015191389.tif 000009
【図８】
2015191389.tif 000010
【図９】
2015191389.tif 000011
【図１０】
2015191389.tif 000012
【図１１】
2015191389.tif 000013
【図１２】
2015191389.tif 000014
【図１３】
2015191389.tif 000015
【図１４】
2015191389.tif 000016