2012-01-26 13 views
0

私は15分ごとに実行されるOracleバッチジョブを持っています。何らかの理由で、バッチジョブで実行されるビジネスロジックが15分以上かかる可能性があります。バッチジョブがまだ処理中であるかどうかを確認する方法はありますか?バッチジョブが実行されているかどうかを知る方法

すなわち

バッチジョブの実行(プロセス1)15分後、20分 をとり、同じバッチジョブの実行(工程2)この名前のバッチjobnが実行中の場合..私は確認したいですか否か。

procedureあるレコードから大きなレコードを他のレコードにコピーします。この手順はselect * from [dba_scheduler_jobs][1];を試してみて、あなたの仕事のための状態欄をご覧DBMS_SCHEDULER.CREATE_JOB

+0

この「バッチジョブ」の詳細については、詳細を説明すると役立ちます。これは、DBMS_JOBまたはDBMS_SCHEDULERを介してデータベースにスケジュールされていますか? 'V $ SESSION'テーブルに、セッションをバッチジョブに属するものとして識別する何かがありますか?クエリ可能なテーブルがありますか?これらのいずれかを行うようにバッチジョブを変更できますか? –

+0

大きな手書きのデータをあるレコードから他のレコードにコピーする「手続き」があります。このプロシージャは、dbms_schedulerを使用してスケジュールされた 'dbms_job'によって15分ごとに実行されます。 –

+0

'dbms_job'と' dbms_scheduler'は、Oracleデータベース内の2つの異なるスケジューリングパッケージです( 'dbms_scheduler'はより新しい、より高度なバージョンです)。両方のパッケージを使用してジョブを実行することはほとんどありません。どちらか一方を使用する方がはるかに意味があります。あなたは実際に両方を使用していると確信していますか?もしそうなら、それはどのくらい正確に実装されていますか? –

答えて

0

DBMS_SCHEDULER.CREATE_PROGRAMを使用し、これらの2を使用してプログラムを作成し、dbms_schedulerすなわちDBMS_SCHEDULER.CREATE_SCHEDULERを使用して15分ごとに実行されています。

+0

質問:DBSM_SCHEDULERは、同じジョブの2番目のインスタンスが実行されないことを確認していませんか? –

3
select * from all_scheduler_running_jobs; 
関連する問題