1

1 つの手順と 1 つのジョブを記述しました。ジョブからプロシージャを実行しています。以下は、ジョブを作成するためのスクリプトです

DBMS_SCHEDULER.create_job  (job_name  => 'IBPROD2.RUN_FETCH_ACCT_ALERTS',
job_type        => 'STORED_PROCEDURE',
job_action      => 'FETCH_ACCT_ALERTS',
start_date      => sysdate,
repeat_interval => 'FREQ=HOURLY;INTERVAL=2;',
enabled         => TRUE,
auto_drop       => FALSE
);

ジョブを作成した後、次のコマンドを実行して所有者 IBPROD2 のジョブの詳細を取得します。ここで、RUN_FETCH_ACCT_ALERTS ジョブの failure_count 列の値が 1 であることを確認できます。プロシージャ FETCH_ACCT_ALERTS を手動で実行しても問題ありません。

仕事が失敗する理由を誰か助けてもらえますか? 何か不足していますか?

4

1 に答える 1

8

ALL_SCHEDULER_JOB_RUN_DETAILSビュー (またはおそらく DBA と同等のもの) を クエリします。

select *
from all_scheduler_job_run_details
where job_name = 'IBPROD2.RUN_FETCH_ACCT_ALERTS'

error#調べることができる Oracle エラー番号が表示される に特に関心があります。また、additional_info列には追加情報が含まれている場合があります。


エラーコードはこれを意味します:

ORA-28179: クライアント・ユーザー名がプロキシによって
提供されていません 原因: プロキシ・ユーザーによってクライアント・ユーザーのユーザー名が提供されませんでした。
アクション: クライアント・データベースのユーザー名、識別名、または X.509 証明書のいずれかを指定してください。

したがって、それはセキュリティの設定に関係しています。何らかの理由で認証が失敗しています。私はあなたのアーキテクチャに関する詳細な知識が不足しているため (そして私はセキュリティの専門家ではありません)、私はあなたを助ける立場にありません。

同じ所有者でさまざまな手順を実行するために、すでに多くのジョブを作成しているためです。すべて正常に実行されています。

では、この手順は他のすべての手順とどのように異なるのでしょうか?

于 2011-12-14T10:27:36.613 に答える