この記事では、Oracleに関する関連知識を提供します。システム データが更新されていないことがわかります。Oracle のスケジュールされたタスクを確認すると、実行されていないと推定されます。次のとおりです。オラクルのスケジュールされたタスクのタイミングが無効である理由の分析とその解決策が、皆様のお役に立てば幸いです。
推奨チュートリアル: 「Oracle ビデオ チュートリアル」
プロジェクトは他のシステム データベースを同期する必要があるため、dblink とストアド プロシージャを作成した後、新しい dbm_job タスクが作成されました。仕事を早く終えることを十分に期待していたとき、スケジュールされたタスクが予定どおりに実行されていないことがわかりました。時間。
おそらくデータベースにJOB の機能をオンにして、解決策を見つける方向に導きます。
情報を調べた結果、job_queue_processes パラメータの数値が 0 であることがわかりました。これは、スケジュールされたタスクが実行されないことを意味します。クエリ SQL は次のとおりです。
select value from v$parameter where name like '%job_queue_processes%';
パラメータ job_queue_processes を変更します。0 より大きいので、ここでは 10 に設定します (適切に増やすことができます)
alter system set job_queue_processes =10;
再テスト:
補足:パラメータ job_queue_processes はスケジュールされたタスクキューのプロセスのようです。情報を確認し、以下を追加しました:
1. job_queue_processes の値の範囲は 0 ~ 1000 です。作成できるジョブプロセスの総数は、job_queue_processes パラメータによって決まります。
2. job_queue_processes が 1 より大きい場合、ジョブが並列実行される場合、少なくとも 1 つは調整プロセスになります。合計数は job_queue_processes の値を超えません。
3. job_queue_processes パラメータの値は であり、DBMS_JOB は DBMS_SCHEDULER と共有されます。
4. Job_queue_processes パラメーターの値が 0 に設定されている場合、どのような方法で作成されたジョブも実行されません。
5. ゼロ以外の値 job_queue_processes の場合、ジョブのサブプロセスの数は、利用可能なリソース、リソースの構成方法、および現在実行中のジョブの数によって異なります。
6. さらに、スケジューラのジョブ方法は、スケジューラ属性 MAX_JOB_SLAVE_PROCESSES の設定によっても制限されます。
7. DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
を通じて max_job_slave_processes を設定できます。推奨チュートリアル: 「Oracle Video Tutorial」
以上がOracle のスケジュールされたタスクのタイミングが無効である理由の分析と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。