(57)【要約】      （修正有）【課題】システム運用中に新たなスクリプトを安全かつ簡便に定期的に起動する手段を提供する。【解決手段】データベースを参照および更新するアプリケーションサーバ装置１０１において、スクリプト記憶部１１４Ｂと定期起動部１１５Ｂとアクセス部１１５Ｃとを有する。スクリプト記憶部１１４Ｂは、データベースへのアクセス手順を示すスクリプトファイルを記憶する。定期起動部１１５Ｂは、アクセス部１１５Ｃをサーバ起動時より定期的に起動する。アクセス部１１５Ｃは、起動されることにより、スクリプト記憶部１１４Ｂに記憶されているスクリプトファイル１１４Ｄに従ってデータベースをアクセスする。【選択図】図１
2013145425.tif 000002
【特許請求の範囲】
【請求項１】
データベースを参照および更新するアプリケーションサーバ装置において、
前記データベースへのアクセス手順を示すスクリプトファイルを記憶するスクリプト記憶部と、
起動されることにより、前記スクリプト記憶部に記憶されている前記スクリプトファイルに従って前記データベースをアクセスするアクセス部と、
前記アクセス部をサーバ起動時より定期的に起動する定期起動部と
を有するデータベースアクセス装置。
【請求項２】
前記スクリプト記憶部に１以上の前記スクリプトファイルが記憶されているか否かを示すフラグを有し、
前記アクセス部は、起動されることにより、速やかに前記フラグを参照し、前記フラグが前記スクリプト記憶部に１以上の前記スクリプトファイルが記憶されていないことを示すときは速やかに処理を終了する
請求項１に記載のデータベースアクセス装置。
【請求項３】
前記定期起動部は、クローン（ｃｒｏｎ）である
請求項１または２に記載のデータベースアクセス装置。
【請求項４】
前記アクセス部は、前記スクリプトファイルのファイル名から、前記スクリプトファイルの実行間隔を決定する
請求項１乃至３の何れかに記載のデータベースアクセス装置。
【請求項５】
前記スクリプトファイルは、前記スクリプトファイルのファイル名から、前記スクリプトファイルの実行によって前記データベースから収集したデータを保存するログファイルの保存タイプを決定する
請求項１乃至４の何れかに記載のデータベースアクセス装置。
【請求項６】
システム運用中に、新たな前記スクリプトファイルを前記スクリプト記憶部に記憶し、あるいは前記スクリプト記憶部に記憶された前記スクリプトファイを削除するスクリプト作成部を有する
請求項１乃至５の何れかに記載のデータベースアクセス装置。
【請求項７】
データベースへのアクセス手順を示すスクリプトファイルを記憶するスクリプト記憶部と、定期起動部と、アクセス部とを有するアプリケーションサーバ装置が実行するデータベースアクセス方法であって、
前記定期起動部が、前記アクセス部をサーバ起動時より定期的に起動し、
前記アクセス部が、起動されることにより、前記スクリプト記憶部に記憶されている前記スクリプトファイルに従って前記データベースをアクセスする
データベースアクセス方法。
【請求項８】
データベースへのアクセス手順を示すスクリプトファイルを記憶するスクリプト記憶部を有するアプリケーションサーバ装置を構成するコンピュータを、
起動されることにより、前記スクリプト記憶部に記憶されている前記スクリプトファイルに従って前記データベースをアクセスするアクセス部と、
前記アクセス部をサーバ起動時より定期的に起動する定期起動部と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセス手順を示すスクリプトに従ってデータベースをアクセスするアプリケーションサーバ装置に関する。
【背景技術】
【０００２】
この種のサーバ装置の一例が特許文献１に記載されている。特許文献１に記載される技術では、サーバコンピュータと、リレーショナルデータベースと、クライアントコンピュータと、これらを接続するネットワークとから構成されるデータベース管理システムにおいて、ＳＱＬスクリプトを生成するスクリプト生成手段と生成されたＳＱＬスクリプトを実行するＳＱＬ実行用ソフトウェアとをサーバコンピュータに備え、ＳＱＬスクリプトを生成すると同時に、その生成したＳＱＬスクリプトを実行するようにしている。
【０００３】
またスクリプトに記述された処理を定期的に実行する技術として、特許文献２に記載の技術がある。特許文献２に記載される技術では、スクリプトは、クローン（ｃｒｏｎ）のような一定時間毎に処理を行うタイマープロセスにより定期的に起動される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−５４７１４号公報
【特許文献２】特開平９−８１４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載される技術によれば、スクリプトの生成後に速やかに当該スクリプトを実行することができる。しかし、生成したスクリプトを定期的に起動するためには、２度目以降のスクリプトの起動はオペレータがその都度、手動で行う必要がある。
【０００６】
特許文献２に記載されるように、スクリプトをクローン等のタイマープロセスにより一定時間毎に起動すれば、スクリプトの定期的な起動を自動化することができる。しかし、クローン等のタイマープロセスによって或るスクリプトを起動するためには、そのタイマープロセスが使用するコントロールファイル（ｃｒｏｎｔａｂ等）に、起動すべきスクリプトのファイル名を設定する必要がある。従って、システムの運用中に、新たなスクリプトを作成して定期的に起動するためには、そのスクリプトのファイル名をシステム運用中にタイマープロセスのコントロールファイルに書き込む作業が別途必要になる。運用中におけるｃｒｏｎｔａｂ等のコントロールファイルへの設定は、設定誤りや設定漏れによる操作、手順ミスによる悪影響が懸念されると共に、オペレータの作業工数の増大を招く。
【０００７】
本発明の目的は、上述したような課題、すなわちシステム運用中に新たなスクリプトを安全かつ簡便に定期的に起動することは困難である、という課題を解決することにある。
【課題を解決するための手段】
【０００８】
本発明の一形態にかかるアプリケーションサーバ装置は、
データベースを参照および更新するアプリケーションサーバ装置において、
前記データベースへのアクセス手順を示すスクリプトファイルを記憶するスクリプト記憶部と、
起動されることにより、前記スクリプト記憶部に記憶されている前記スクリプトファイルに従って前記データベースをアクセスするアクセス部と、
前記アクセス部をサーバ起動時より定期的に起動する定期起動部と
を有する。
【発明の効果】
【０００９】
本発明は、上述したような構成を有するため、システム運用中に新たなスクリプトを安全かつ簡便に定期的に起動することが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態のブロック図である。
【図２】本発明の第１の実施形態の動作説明図である。
【図３】本発明の第２の実施形態の構成説明図である。
【図４】本発明の第２の実施形態の動作環境条件の一例を示す図である。
【図５】本発明の第２の実施形態におけるフォルダ構造の一例を示す図である。
【図６】本発明の第２の実施形態におけるスクリプト／シェルファイル名の命名規則の一例を示す図である。
【図７】本発明の第２の実施形態における定期起動データベースアクセスの動作を示すフローチャートである。
【図８】本発明の第２の実施形態におけるｃｒｏｎｔａｂの設定例を示す図である。
【発明を実施するための形態】
【００１１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかるアプリケーションサーバ装置１０１は、データベースサーバ装置１０２およびクライアント装置１０３に図示しないＬＡＮ等のネットワークを介して接続されている。アプリケーションサーバ装置１０１は、クライアント装置１０３から送られてくる処理要求に対して業務処理を実行し、必要であればデータベースサーバ装置１０２に対してデータの参照や更新を要求する機能を有している。また、アプリケーションサーバ装置１０１は、業務処理とは独立に、業務処理と並行して、データベースサーバ装置１０２を定期的にアクセスして所望のデータを収集する機能を有している。
【００１２】
アプリケーションサーバ装置１０１は、ハードウェアとして、通信インターフェース部（以下、通信Ｉ／Ｆ部という）１１１、操作入力部１１２、画面表示部１１３、記憶部１１４、およびプロセッサ１１５を有する。
【００１３】
通信Ｉ／Ｆ部１１１は、専用のデータ通信回路からなり、図示しない通信回線を介して接続されたデータベースサーバ装置１０２やクライアント装置１０３などの各種装置との間でデータ通信を行う機能を有している。操作入力部１１２は、キーボードやマウスなどの操作入力装置からなり、オペレータの操作を検出してプロセッサ１１５に出力する機能を有している。画面表示部１１３は、ＬＣＤやＰＤＰなどの画面表示装置からなり、プロセッサ１１５からの指示に応じて、操作メニューなどの各種情報を画面表示する機能を有している。
【００１４】
記憶部１１４は、ハードディスクやメモリなどの記憶装置からなり、プロセッサ１１５での各種処理に必要な処理情報やプログラム１１４Ｐを記憶する機能を有している。プログラム１１４Ｐは、プロセッサ１１５に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信Ｉ／Ｆ部１１１などのデータ入出力機能を介して外部装置（図示せず）や記憶媒体（図示せず）から予め読み込まれて記憶部１１４に保存される。記憶部１１４で記憶される主な処理情報として、コントロールファイル１１４Ａ、スクリプト記憶部１１４Ｂ、およびフラグ１１４Ｃがある。
【００１５】
コントロールファイル１１４Ａは、後述する定期起動部１１５Ｂの動作を規定する情報を記憶するファイルである。具体的には、コントロールファイル１１４Ａには、起動すべきものとして後述するアクセス部１１５Ｃの情報とその起動周期の情報とが記述（設定）されている。コントロールファイル１１４Ａは、例えばｃｒｏｎｔａｂで実現することができる。
【００１６】
スクリプト記憶部１１４Ｂは、１以上のスクリプトファイル１１４Ｄを記憶する機能を有する。スクリプトファイル１１４Ｄは、データベースサーバ装置１０２へのアクセス手順を記述したプログラムの一種である。スクリプト記憶部１１４Ｂは、例えばアプリケーションサーバ装置１０１に構築されるファイルシステムのフォルダで実現することができる。
【００１７】
フラグ１１４Ｃは、スクリプト記憶部１１４Ｂに１以上のスクリプトファイル１１４Ｄが存在するか否かを示すフラグである。
【００１８】
プロセッサ１１５は、ＭＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部１１４からプログラム１１４Ｐを読み込んで実行することにより、上記ハードウェアとプログラム１１４Ｐとを協働させて各種処理部を実現する機能を有している。プロセッサ１１５で実現される主な処理部として、業務処理部１１５Ａ、定期起動部１１５Ｂ、アクセス部１１５Ｃ、およびスクリプト作成部１１５Ｄがある。
【００１９】
業務処理部１１５Ａは、通信Ｉ／Ｆ部１１１を通じてクライアント装置１０３から送られてくる処理要求に対して所定の業務処理を実行し、必要であればデータベースサーバ装置１０２に対して通信Ｉ／Ｆ部１１１を通じてデータの参照や更新を要求する機能を有している。この業務処理部１１５Ａで実行される処理が、アプリケーションサーバ装置１０１における主たる処理となる。
【００２０】
これに対して、定期起動部１１５Ｂ、アクセス部１１５Ｃ、およびスクリプト作成部１１５Ｄは、業務処理部１１５Ａよりは重要度の低いサブ的な処理に関連する。サブ的な処理の例としては、業務処理部１１５Ａの実行時に発生した障害の原因を究明するために障害原因の究明に役立つ種類のデータをデータベースサーバ装置１０２から定期的に収集する処理がある。また、障害原因の解析のためでなく、何らかの統計情報を採取したり、或いはデータベースの容量を圧迫する原因となる不要なデータを定期的に削除するために、データベースサーバ装置１０２を定期的にアクセス処理も考えられる。サブ的な処理であるため、業務処理部１１５Ａで実行されるメインの処理である業務処理を中断させたり、悪影響を及ぼすことは避ける必要がある。
【００２１】
定期起動部１１５Ｂは、コントロールファイル１１４Ａに設定された情報に従って、アクセス部１１５Ｃをサーバ起動時より定期的に起動する機能を有する。定期起動部１１５Ｂは、例えばクローン等のタイマープロセスにより実現することができる。
【００２２】
アクセス部１１５Ｃは、定期起動部１１５Ｂによって起動されることにより、スクリプト記憶部１１４Ｂに記憶されているスクリプトファイル１１４に従ってデータベースサーバ装置１０２を業務処理部１１５Ａとは独立にアクセスする機能を有する。アクセス部１１５Ｃは、スクリプト記憶部１１４Ｂ内に実行すべきスクリプトファイル１１４Ｄが１以上存在する場合、実行すべき全てのスクリプトファイル１１４Ｄを実行し終えた時点で、今回の起動に伴う動作を終了する。またアクセス部１１５Ｃは、実行すべきスクリプトファイル１１４Ｄが一つもスクリプト記憶部１１４Ｂ内に存在しない場合、そのことを認識した時点で今回の起動に伴う動作を速やかに終了する。アクセス部１１５Ｃは、スクリプト記憶部１１４Ｂ内に実行すべきスクリプトファイル１１４Ｄが１以上存在するか否かを、スクリプト記憶部１１４Ｂの内容から判断してもよいし、フラグ１１４Ｃがオンになっているか否かで判断するようにしてもよい。
【００２３】
スクリプト作成部１１５Ｄは、操作入力部１１２および画面表示部１１３を介したオペレータとの対話処理に基づき、スクリプトファイル１１４Ｄを生成する機能を有する。またスクリプト作成部１１５Ｄは、操作入力部１１２および画面表示部１１３を介したオペレータとの対話処理に基づき、フラグ１１４Ｃをオンまたはオフに切り替える機能を有する。スクリプト作成部１１５Ｄは、例えばテキスト編集ソフトウェアで実現することができる。
【００２４】
次に本実施形態の動作を説明する。
【００２５】
アプリケーションサーバ装置１０１は、起動すると、業務処理部１１５Ａによる業務処理の実行を開始する。またアプリケーションサーバ装置１０１は、システム起動時に定期起動部１１５Ｂを起動する。起動した定期起動部１１５Ｂは、以後、コントロールファイル１１４Ａに記述された情報に従って、アクセス部１１５Ｃを定期的に起動する。
【００２６】
図２は、定期起動部１１５Ｂ、アクセス部１１５Ｃ、スクリプト作成部１１５Ｄ、コントロールファイル１１４Ａ、スクリプト記憶部１１４Ｂ、フラグ１１４Ｃ、およびオペレータの関連を示す動作説明図である。
【００２７】
今、スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが一つも存在していないものとする。このとき、フラグ１１４Ｃはオフになっている。
【００２８】
定期起動部１１５Ｂによって起動されたアクセス部１１５Ｃは、スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが一つも存在していないことを、スクリプト記憶部１１４Ｂの内容自体から判別するか、あるいはフラグ１１４Ｃがオフになっていることによって判別すると、直ちに処理を終了する。スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが一つも存在していない場合、アクセス部１１５Ｃは、起動される毎に同様の動作を行う。
【００２９】
次に、システム運用中に業務処理部１１５Ａとは独立にデータベースサーバ装置１０２からデータを定期的に収集する必要が生じた際の動作を説明する。
【００３０】
まずオペレータは、スクリプト作成部１１５Ｄを使用して、データ収集の手順を示すスクリプトファイル１１４Ｄを作成し、スクリプト記憶部１１４Ｂに保存する。このとき、オペレータは、フラグ１１４Ｃをオフからオンに変更しておく。なお、複数のスクリプトファイル１１４Ｄを作成して、スクリプト記憶部１１４Ｂに保存するようにしてもよい。
【００３１】
これらの処理が行われた後、定期起動部１１５Ｂによってアクセス部１１５Ｃが起動されると、アクセス部１１５Ｃは、スクリプト記憶部１１４Ｂから実行すべきスクリプトファイル１１４Ｄを取り出し、スクリプトファイル１１４Ｄに記載された手順に従ってデータベースサーバ装置１０２をアクセスし、収集したデータを例えばデータベースサーバ装置１０２のログファイルに保存する。スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが存在する限り、アクセス部１１５Ｃは、起動される毎に同様の動作を行う。
【００３２】
次に、データベースサーバ装置１０２からデータを定期的に収集する動作を中断あるいは停止する際の動作を説明する。
【００３３】
オペレータは、スクリプト作成部１１５Ｄを使用して、スクリプト記憶部１１４Ｂからスクリプトファイル１１４Ｄを削除する。この際、一部のスクリプトファイル１１４Ｄだけを削除してもよいし、全てのスクリプトファイル１１４Ｄを削除してもよい。全てのスクリプトファイル１１４Ｄを削除した場合には、フラグ１１４Ｃをオフにしておく。
【００３４】
これらの処理が行われた後、定期起動部１１５Ｂによってアクセス部１１５Ｃが起動されると、アクセス部１１５Ｃは、スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが存在すれば、当該スクリプトファイル１１４Ｄに記載された手順に従ってデータベースサーバ装置１０２をアクセスする処理を実行した後に動作を停止し、また、実行すべきスクリプトファイル１１４Ｄが一つも存在しなければ、直ちに動作を停止する。
【００３５】
このように本実施形態によれば、新たなスクリプトの起動時、ｃｒｏｎｔａｂ等のコントロールファイル１１４Ａの書き換えを必要としないので、新たなスクリプトを安全かつ簡便に定期的に起動することが可能である。
【００３６】
また本実施形態によれば、スクリプト記憶部１１４Ｂに１以上のスクリプトファイル１１４Ｄが存在するか否かを示すフラグ１１４Ｃを設けてあるため、アクセス部１１５Ｃは、スクリプト記憶部１１４Ｂに実行すべきスクリプトファイル１１４Ｄが存在するか否かをスクリプト記憶部１１４Ｂの内容自体から判別する必要がなく、フラグ１１４Ｃの値によって直ちに判別できる。このため、実行すべきスクリプトファイル１１４Ｄが一つも存在しない状況下でのアクセス部１１５Ｃに起因するオーバーヘッドを軽減することが可能である。
【００３７】
本実施形態では、スクリプトファイル１１４Ｄは、データベースサーバ１０２からデータを収集するプログラムとしたが、データベースサーバ装置１０２のデータを更新するプログラム等、他の機能を有するスクリプトファイルであってもよい。
【００３８】
[第２の実施形態]
[本実施形態の特徴]
本実施形態では、データベースに対して定期的にアクセスする仕組みをシステムとして準備しておき、問題発生時には必要なデータ収集等の処理を実施するスクリプトファイルのみを追加格納することにより、新規に追加したツールを運用状態で定期的に起動させるようにする。定期的に起動させる仕組みがシステムで予め組み込まれているので、後は障害の状況に応じたデータ収集やデータ変更のスクリプトファイルを作成して、スクリプトファイルを指定の格納場所に配置することで必要な情報を得ることが可能となる。また、定期的に起動される仕組みは共通的に動作する仕組みとなっているため、各障害状況に応じたスクリプトファイルの作成と検証のみの対応となり、個々のツールで定期起動処理の作成工数と評価工数を削除することが可能となる。既に運用で動作しているソフトウェア環境においても、定期起動の仕組みを外部ツールとして提供することにより、ソフトウェア本体に影響なくツールの適用が可能となる。
【００３９】
[本実施形態の構成]
本実施形態における構成を、図３の定期起動ツール適用イメージを参照して説明する。
【００４０】
図３において、２０１は業務処理を実行するソフトウェア、Ａ、Ｂ、…ｘはソフトウェア２０１の機能、２０２はソフトウェア２０１によって参照および更新されるデータベース、２０３、２０４はデータベース２０２の内部処理管理情報およびログ情報、２０５は定期データベースアクセス処理、２０６はスクリプトファイル格納場所、２０７はスクリプトファイル、２０８は収集された詳細管理情報、２０９は出力されたログ情報である。
【００４１】
図３に示すように、本実施形態では、定期的にデータベースへアクセスする処理２０５を仕組みとして組み込んでおき、データベース２０２に対して定期的に情報を収集したり、データの更新が必要となった場合に、各処理に対応した対応ツールとしてのスクリプトファイル２０７を指定された格納場所２０６に保存することにより、定期的に対象ツールを起動させることが可能となる。
【００４２】
本実施形態の主たる特徴は、定期的にデータベース２０２へアクセスする処理を起動させる仕組みを共通処理として組み込んだことにある。
【００４３】
実際のデータベース２０２に対するアクセス処理は、障害の状況によって収集すべき情報２０８や設定条件等が異なるため、目的に応じた対応ツール２０７を作成する必要がある。しかし、定期的に起動させる機能については共通的に処理できる為、個々の対応ツール２０７で考慮して作り込む必要はない。
【００４４】
定期的に対応ツール２０７を起動させる仕組みとしては、ソフトウェア２０１本体の機能の一部として組み込むことも可能である。しかし、運用中の環境へ適用する場合はソフトウェア２０１の更新作業が伴うため、外部ツールとして提供する方式が望ましい。また、定期起動の仕組みをソフトウェア２０１本体と切り離して外出しにすることで、仕組み自体の改善や問題対処もソフトウェア２０１本体に影響なく実施することが可能となる。
【００４５】
[本実施形態の動作]
以下、本実施形態のより詳しい構成および動作を各図を参照して説明する。なお、本実施形態では、第１の実施形態と同様にサーバ上で起動されるアプリケーションソフトウェア環境を想定して仕組みの構成と動作を説明する。また、動作環境条件は、図４を参照して説明する。各種のファイルを格納するフォルダ構造は、図５の構造を参照して説明する。スクリプト／シェルファイル名の命名規則は、図６の命名規則を参照して説明する。定期データベースアクセス処理２０５の動作は、図７のフローチャートと図８のクローン（ｃｒｏｎｔａｂ）設定例と図５、図６を使用して説明する。
【００４６】
まず図４を参照すると、本実施形態では、サーバ上で稼働するソフトウェアの動作環境でツール（スクリプトファイル）が適用されることを前提とする。ツールとしては、ｓｏｌａｒｉｓ上で使用可能なｓｈシェルにて作成され、ソフトウェア２０１本体で使用するデータベース２０２の管理ソフトは、ｏｒａｃｌｅ又はＭｙＳＱＬを使用して管理されている情報でも対応できるように、データベース２０２はＳＱＬＰｌｕｓでアクセス可能な環境を動作条件とする。
【００４７】
次に、ツールを起動させるための各種ファイルを格納するフォルダ構造を図５を参照して説明する。
【００４８】
ツールは開発サイドの情報収集等が目的となるため、運用で使用されるフォルダとは別のフォルダを作成する。必要なフォルダ定義として、大きく分類すると二つに分けられる。
【００４９】
一つは、情報収集したときにログ情報として出力したファイルを格納する場所（ログ出力フォルダ（図５の３０１））である。
【００５０】
二つ目は、実行ツールを格納する場所（定期起動ツールフォルダ（図３の３０２））である。実行ツールが格納されるフォルダ３０２配下には、定期的に各種ツールを起動する本体ツール（定期起動ツールシェル３０３）と本体ツールを削除する時に使用するアンインストールシェル３０４と各目的に対応した実行ファイルを格納する場所（実行スクリプトフォルダ３０５）とが存在する。
【００５１】
実行スクリプトフォルダ３０５配下は、データベースの管理ソフトに対応して、ｏｒａｃｌｅ用スクリプト／シェルフォルダ３０６と、ＭｙＳＱＬ用スクリプト／シェルフォルダ３０７とに分けておくと管理しやすい。
【００５２】
また、実行スクリプトフォルダ３０５配下のフォルダ３０６、３０７から検出した起動対象ツールのリスト一覧（起動すべきスクリプトの一覧）は、処理用作業フォルダ３０８上に作成される。
【００５３】
次に、図６を参照してスクリプト／シェルファイル名の命名規則について説明する。
【００５４】
定期起動ツールシェル３０３は、各実行スクリプトファイル３０６、３０７の処理内容については一切関知しない為、当該実行スクリプトファイルの実行間隔や、当該実行スクリプトファイルが使用するログファイルの保存方法は、ファイル名の命名規則から識別する仕組みを採用する。
【００５５】
図６を参照すると、ファイル名は４０１〜４０５の部分から構成される。“０１”等の部分４０１は、実行シーケンス番号を示し、スクリプトやシェルを実行する順序を２桁の数字で指定する。実行順序はファイル名のソート順になる。“０１Ｍ”等の部分４０２は、実行間隔を示し、後ろ１桁は、Ｍのとき分を、Ｈのとき時間を示す。前２桁は、時間／分の間隔を示す。“Ｒ”等の部分４０３は、ログファイル保存タイプを示し、Ｒのとき、５ＭＢを超えた場合に最大５ファイルまでサイクリックに保存する方法を示す。Ｄのときは、日付が変わった時に前日の日付をログファイル名に付加して保存する。４０４の部分は、処理内容がわかるようにユーザが付与した部分である。４０５の部分は拡張子であり、ＳＱＬスクリプトの場合は「.ｓｑｌ」、シェルの場合は「.ｓｈ」になる。
【００５６】
なお、図６に示すファイル命名の規則に反したファイル名で作成された実行ツールは、実行スクリプトフォルダ３０５配下に格納されても、ファイルとしては対象外として扱われ、起動されない。
【００５７】
また、各種実行スクリプト３０６、３０７が起動された場合にログファイルとして出力されるログファイルの命名規則は、ログファイル保存タイプ（図４の４０３）の指定によって命名される。例えば、ログファイル保存タイプ４０３が“Ｒ”指定の場合は、拡張子（図４の４０５）を除くファイル名＋シーケンス番号（１〜５）を付与し、拡張子として”．ｌｏｇ“をつけて保存される。ログファイル保存タイプ４０３が”Ｄ“指定の場合は、拡張子４０５を除くファイル名＋日付（ＹＹＹＹＭＭＤＤ）を付与し、拡張子として”．ｌｏｇ“をつけて保存される。
【００５８】
次に、定期データベースアクセスツールの処理動作フローについて説明する。
【００５９】
まず定期データベースアクセスツール本体の動作について、図７および図８を参照して説明する。定期データベースアクセスツール本体は、外部ツールとして単独で実装されるために、定期データベースアクセスツール本体を起動させるには、Ｓｏｌａｒｉｓ
ＯＳのｃｒｏｎ機能（図７の５０１）を使用する。具体的には、図８に記載してあるように、ｃｒｏｎへの設定をするために、ｃｒｏｎｔａｂに必要な起動の設定を行うことで定期データベースアクセスツール本体を定期的に起動させる。
【００６０】
図８を参照すると、ｃｒｏｎｔａｂの設定情報は、６０１〜６０６の部分から構成される。６０１の部分には、実行する分を指定する。６０２の部分には、実行する時間を指定する。６０３の部分には、実行する日を指定する。６０４の部分には、実行する月を指定する。６０５の部分には、実行する曜日を指定する。これらの部分で具体的な数値を指定しない場合、何れも＊を指定する。６０６の部分は、実行するコマンド、シェルを指定する。本実施形態では、６０６の部分で定期起動データベースアクセス本体２０５を指定することになる。例えば、図５のフォルダ構造より、定期データベースアクセスツール本体を、１０分間隔で起動させる場合のｃｒｏｎｔａｂの設定は、以下のようになる。
0,10,20,30,40,50＊＊＊＊＜xxxx_USER_ROOT/Starting_tool/Starting_DBaccess_tool
【００６１】
さて、ｃｒｏｎにより定期的に起動されたら（図７のステップＳ１）、定期データベースアクセスツール本体は、実行環境の設定ステップＳ２の処理を実施する。実行環境の設定では、図６の４０３で指定されたログファイルの保存タイプにより、ログファイルを保存する処理の制限としてデフォルトの値を共通変数に設定する。また、共通変数への設定情報は、プロファイル（図７の５０２）として外出しにすることで、ファイルサイズ上限値、ファイルの世代数、ファイル保存日数を状況に応じて変更することを可能とする。またプロファイル５０２には、第１の実施形態におけるフラグ１１４Ｃに相当するフラグ、すなわちスクリプトフォルダ２０６に１以上のスクリプトファイル２０７が存在しているか否かを示すフラグが存在する。実行環境の設定ステップＳ２の処理において、当該フラグの値から１以上のスクリプトファイル２０７が存在していないことを検出すると、定期起動データベースアクセス本体は、速やかに処理を終了するようになっている。
【００６２】
次に、実行環境チェック（図７のステップＳ３）の処理を実施する。実行環境のチェックでは、図５に示す各フォルダ構成の存在や実際にデータベースへアクセスする各種実行ツールに対して実行権限が設定されていることを確認する。実行可能な環境であることが確認されたら、参照データベースの情報を取得する（図７のステップＳ４）。参照データベースの情報とは、データベースへアクセスする為のユーザアカウント、パスワード、データベースタイプのことであり、これらをシステムの管理情報から取得する。データベースが二重化されている場合は、プライマリとして動作している情報も必要となる。
【００６３】
ツールを起動できる環境情報が揃ったら、実際に実行するスクリプトファイル／シェルの実行リスト５０３を作成する（図７のステップＳ５）。実行スクリプトファイルのリスト５０３は、図５の実行スクリプトフォルダ３０５配下に格納されているファイルをファイル名順にソートしたファイル名一覧リストから、図６のファイル名命名規則に則したパターンのファイル名だけをリストアップしたものであり、このリストは、処理用作業フォルダ（図５の３０８）上に生成する。
【００６４】
次に、生成されたスクリプトファイルのリストの先頭から順に、起動対象スクリプトリストを読み込み（図７のステップＳ６）、該当するスクリプト／シェルのファイルをスクリプトフォルダ２０６から読み出す。このとき、“ＥＯＦ”を検出したら処理を終了する。
【００６５】
起動対象スクリプトを読み出すと、それを起動する前に、図７のステップＳ４で取得した参照データベース情報を基にデータベースへアクセスして、ＳＱＬスクリプトが実行可能かどうかを確認して参照先データベースを検出する（図７のステップ８）。
【００６６】
参照先データベースが検出されたら、実行するスクリプト／シェルファイルのファイル名で指定されているログファイル保存タイプ（図６の４０３）にしたがって、過去のログファイル５０４の保存を以下のように行う（図７のステップＳ９）。
【００６７】
ログ保存タイプ“Ｒ”の場合は、ファイルサイズが図７のステップＳ２で設定した共通変数のファイルサイズ上限値を超えている時に、保存ログファイル名のパターンに合致するファイルが存在しない場合は、シーケンス番号”１“でログファイル５０４を保存する。また、保存ログファイル名のパターンに合致するログファイル５０４が存在する場合は、最終更新日が最新の過去ログファイルのシーケンス番号の次の番号をシーケンス番号としてログファイル５０４を保存する。但し、最終更新日が最新の過去ログファイル５０４のシーケンス番号が世代管理の最終番号（範囲が１−５の場合は、最終番号は”５“となる。）と同じ場合は、シーケンス番号を”１“にしてログファイル５０４を保存する。保存した場合はログファイル５０４を空にして再作成する(図７のステップＳ９)。
【００６８】
ログ保存タイプ“Ｄ”の場合は、前回実行日と今回実行日が異なる場合に、前日の日付を保存ログファイル５０４に付加してログファイル５０４を保存する。保存した場合は、ログファイル５０４を空にして再作成する。更に、保存ログファイル名のパターンに合致するファイルの中で保存日数以前に作成された過去ログファイル５０４は削除する。
【００６９】
過去ログファイルの保存（図７のステップＳ９）が終了したら、実行するスクリプト／シェルファイルのファイル名で指定（図６の４０２）されている実行間隔を、当該スクリプト／シェルファイルの前回実行日時に加算して、その日より現在の日時が新しい（大きい）場合に、ログ出力ファイル（図５の３０１）のフルパスを引数として、該当する実行スクリプト／シェル２０７を起動させる（図７のステップＳ１０）。これにより、或るスクリプトファイル２０７がファイル名の命名規則によって２０分間隔で実行すべきことが指定されており、定期起動データベースアクセス本体２０５がｃｒｏｎ５０１によって１０分間隔で起動される場合、定期起動データベースアクセス本体２０５は、自身が２回起動される毎に当該スクリプトファイル２０７を１回起動することになる。
【００７０】
定期データベースアクセスの本体ツールから各種実行スクリプト／シェル２０７への起動により、制御が、該当スクリプト／シェル２０７へ移され、目的とする各種データベースへのアクセスが実施されると共に、収集したログがログファイルに保存される。
【００７１】
[本実施形態の効果]
第１の効果は、アプリケーションソフトとは独立して定期的にツールを実行させる仕組みを組み込むことにより、障害等により調査用のスクリプトファイルをツールとして作成するときに、各ツール毎に定期的に起動する処理を作らなくても済むことである。また、目的とするツールを指定した格納場所へ配置するだけで容易に定期的に対象ツールを起動させることが可能となる。
【００７２】
第２の効果は、ツールは、アプリケーションソフトとは独立してインストールされる為、運用を停止させることなくバージョンアップすることが可能である。また、定期的に実行させる仕組みとして、実際にデータベースへアクセスする処理の中身には依存させずにファイル名の命名規則により動作条件を認識することが可能なため、実行ツールはファイル名の命名規則を守れば容易に実行させることができる。
【００７３】
本実施形態では、サーバで起動するソフトウェア環境で提案しているが、その他組み込みソフトウェアの環境においても、仕組みとして実装することができれば問題調査の都度、調査用のソフトを作成すること無く必要な情報を収集することができる。
【符号の説明】
【００７４】
１０１…アプリケーションサーバ装置
１０２…データベースサーバ装置
１０３…クライアント装置
１１１…通信Ｉ／Ｆ部
１１２…操作入力部
１１３…画面表示部
１１４…記憶部
１１４Ａ…コントロールファイル
１１４Ｂ…スクリプト記憶部
１１４Ｃ…フラグ
１１４Ｄ…スクリプトファイル
１１５…プロセッサ
１１５Ａ…業務処理部
１１５Ｂ…定期起動部
１１５Ｃ…アクセス部
１１５Ｄ…スクリプト作成部
【図１】
2013145425.tif 000003
【図２】
2013145425.tif 000004
【図３】
2013145425.tif 000005
【図４】
2013145425.tif 000006
【図５】
2013145425.tif 000007
【図６】
2013145425.tif 000008
【図７】
2013145425.tif 000009
【図８】
2013145425.tif 000010