Как использовать DBA_JOBS в процедуре - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу сделать sendmsg, когда deadjob.Поэтому мне нужно DBA_JOBS выбрать в процедуре Как я могу использовать DBA_JOBS в процедуре, которую я пытаюсь получить для этого кода:

SELECT COUNT(*)
  FROM DBA_JOBS
 WHERE JOB in('539','639','679','719','919','1359');

Но эта ошибка блокирует мою новую процедуру

ORA-00942 таблица или представление не существует

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вам не нужно предоставлять dba_jobs представление, необходимое для использования через всю базу данных.Вместо этого используйте user_jobs view:

SELECT COUNT(*) as count
  FROM USER_JOBS
 WHERE JOB in('539','639','679','719','919','1359');
0 голосов
/ 04 декабря 2018

Вам необходимо явно дать разрешение на чтение для этого представления.

oracle@esmd:~> sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 4 08:15:47 2018

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production

SQL> grant select on dba_jobs to scott;

Grant succeeded.

SQL>
...