web-dev-qa-db-ja.com

データベースで実行されているスケジュールされたジョブを一覧表示するにはどうすればよいですか?

私はOracleが初めてです。データベースでスケジュールされたジョブを取得する必要があります。

質問した

DBA_SCHEDULER_JOBS, 
DBA_SCHEDULER_SCHEDULES, DBA_SCHEDULER_PROGRAMS,
 DBA_SCHEDULER_JOB_CLASSES, DBA_JOBS.

しかし、Oracleはエラーを発行します

"ORA-00942: table or view does not exist".

ALL_JOBSおよびUSER_JOBSを照会すると、行は取得されません。どのテーブルを見るべきかを教えてください。

12
988875

DBAビューは制限されています。したがって、DBAまたは同様の特権ユーザーとして接続していない限り、クエリを実行できません。

ALLビューには、表示を許可されている情報が表示されます。通常は、追加の特権がない限り、送信したジョブになります。

必要な特権は、管理者ガイドで定義されています。 詳細を検索

そのため、DBAアカウントが必要か、必要な情報へのアクセスについてDBAチームとチャットする必要があります。

12
APC

Dba_schedulerテーブルを表示するにはSCHEDULER_ADMINロールが必要だと思います(ただし、これにより権限が付与される場合もあります)

参照: http://download.Oracle.com/docs/cd/B28359_01/server.111/b28310/schedadmin001.htm

3
Kevin Burton

なぜなら SCHEDULER_ADMIN roleは、被付与者が任意のユーザーとしてコードを実行できるようにする強力なロールです。代わりに、個々のスケジューラシステム権限の付与を検討する必要があります。オブジェクトとシステムの権限は、通常のSQL付与構文を使用して付与されます。例は、データベース管理者が次のステートメントを発行した場合です。

scottにジョブを付与;

このステートメントの実行後、scottは自分のスキーマにジョブ、スケジュール、またはプログラムを作成できます。

http://docs.Oracle.com/cd/B19306_01/server.102/b14231/schedadmin.htm#i1006239 からコピー

2
tramper