• ベストアンサー

PL/SQLで作成したストアドの起動方法について(バッチ処理)

業務システムにおいて、夜間バッチ用のストアドプログラム(PL/SQL)を作成するのですが、そもそもバッチの起動方法等が理解できていません。 PL/SQL関連の書籍はいくつか読み、プログラム自体は理解できるのですが、具体的にどのような仕組みで起動をかけるかがわかりません。 (スケジューラで起動させて、後に照会画面で実施結果を確認できるとは聞きました) もし、バッチ処理に関して詳しく解説された書籍をご存知であれば、ご紹介いただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • omomuz
  • ベストアンサー率40% (4/10)
回答No.2

直接の回答(書籍)は存じません、すみません。 PL/SQL起動は、大きく分けて (a)Oracle内蔵のジョブスケジューラで起動する (b)外部プログラムからPL/SQLを起動する のどちらかになるかと思います。一般には(b)が多いです。 (a)については、PL/SQLの組み込みパッケージ DBMS_JOB や DBMS_SCHEDULER を使用してジョブを組むことになるかと思います。 組み込みなので環境的にはお手軽ですが、あまりきめ細かなことはできません。 Oracleマニュアル「データベース管理者ガイド」スケジューラの項や PL/SQLの組み込みパッケージの項をご覧ください。 Oracle Enterprise Managerを使えばGUIで管理できるそうです。 (b)は、簡単にはcronなどのスケジューラでPL/SQLを定期実行するのが多いのでは。呼び出し方法は #1さんの方法ですね。 これは「ただ起動するだけ」ですから、ジョブ照会画面的な機能は自作する場合も多いように思います。 複数バッチの連携などきめ細かい管理を求められるのでしたら、規模/予算/求められる信頼性 によっては別途運用管理サーバを立てて、JP1(日立)などの運用管理アプリケーションを導入することになろうかと思います。 なお、これらを入手するのであれば、マニュアル等でバッチ処理そのものの情報も読めるのではないかと。 蛇足ですが、「実施結果を確認できる」の粒度はプログラムに依存しますので、設計時から考慮に入れる必要があります。バッチ起動OK/NGぐらいなら外部プログラムでも確認できますが、その他(正常終了/異常終了、業務エラー、どこでこけたのか など詳細情報)はPL/SQL側で明示的にメッセージを残す必要があります。

hopefulman
質問者

お礼

丁寧なご回答ありがとうございます。 やはりそのシステムの規模や要望によって方法も様々なのですね。 今回開発に携わるシステムの規模は大きい方ですので、JP1ではないと思いますが、何らかの運用管理ツールを使う予定です。 そういう意味で、バッチのハンドリングはツールで行うことになりそうです。 (ツールのマニュアルを入手できれば読んでみます。)

その他の回答 (1)

  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.1

1.バッチファイルを作成します。   内容は、sqlplus ユーザー名/パスワード @test.sql 2.そのバッチファイルをスケジューラに登録します。

参考URL:
http://www.jurapun.com/Knowledge/Oracle10g/SQLPlus.html
hopefulman
質問者

お礼

お返事が遅れて申し訳ありません。 記載していただきましたURLを参考にさせていただいます。 ありがとうございます。

関連するQ&A