pdb ORA-27476: "SYS"."DEFAULT_JOB_CLASS" does not exist

AlexVin
Дата: 09.10.2015 15:04:18
oracle 12.1.0.2.4

в одной из pdb для 4х апексовых джобов дает ошибку на енабле
джобы других юзеров с таким же дефолтным классом - при дизабле-енабле ошибки нет
BEGIN sys.dbms_scheduler.enable( name => 'APEX_050000.ORACLE_APEX_DAILY_MAINTENANCE' ); END;

*
ERROR at line 1:
ORA-27476: "SYS"."DEFAULT_JOB_CLASS" does not exist
ORA-06512: at "SYS.DBMS_ISCHED", line 4553
ORA-06512: at "SYS.DBMS_SCHEDULER", line 2989
ORA-06512: at line 1

если удалить эту pdb и склонировать pdb, где все норм с апексовыми джобами, в pdb c этим именем - ошибка повторяется
в какую сторону копнуть?
SeaGate
Дата: 09.10.2015 16:39:53
AlexVin,

AlexVin
в какую сторону копнуть?

DBMS_ISCHED реврапнул, но там через сишные функции уже, не видно, в чем причина 27476.
Я это воспроизвожу, если у пользователя нет прав на JOB CLASS.
Т.к. это DEFAULT_JOB_CLASS и EXECUTE должен быть у PUBLIC, то:
я бы проверил контрольно, кому даны права на DEFAULT_JOB_CLASS.
Если PUBLIC даны, то сравнить права пользователей у кого работает с тем, у кого не работает.
Выдать явно юзеру права на EXECUTE DEFAULT_JOB_CLASS в целях эксперимента.
Если и дальше ясности не будет, то событие 27402 на уровне 4 можно применить перед ENABLE.
В трассировочном файле будет расширенная информация.
Например, часть моего трассировочного файла, когда я делаю ENABLE, но нет прав:
SCHED 10-09 06:24:55.740 1 00 7533 ora 0(jsiCheckObjPrivInt):Exiting jsiCheckObjPriv with exception 27476
AlexVin
Дата: 12.10.2015 07:44:15
паблику в проблемной pdb грант execute на SYS.DEFAULT_JOB_CLASS есть
в трейсе при enable - "jsiCheckObjPriv with exception 27476"
если выдавать грант явно, приходит опа
SQL> grant execute on sys.DEFAULT_JOB_CLASS to APEX_050000;
grant execute on sys.DEFAULT_JOB_CLASS to APEX_050000
                     *
ERROR at line 1:
ORA-00600: internal error code, arguments: [12869], [17350], [17352], [], [],
[], [], [], [], [], [], []


походу, для этой pdb бага засела в словаре и не уходит даже с ее удалением, потому как при пересоздании из другой пдб проявляется снова
если сказать CREATE PLUGGABLE DATABASE любой_нью_нейм FROM пдб_с_проблема, то в получившейся enable проходит на ура без ошибки
SeaGate
Дата: 12.10.2015 09:58:51
AlexVin,

Да, очень похоже. 2-3 аргументы ошибки, вероятно, идентификаторы объектов, т.к. 17350 у меня в одной PDB как раз совпало, что DEFAULT_JOB_CLASS.
По идее, его бы пересоздать, но я что-то не вижу подходящей ноты и ни разу не пересоздавал.
На incident trace file можно посмотреть?
+

SQL> exec print_table( 'select * from sys.obj$ where obj# in (17350, 17352)')
OBJ#                          : 17350
DATAOBJ#                      :
OWNER#                        : 0
NAME                          : DEFAULT_JOB_CLASS
NAMESPACE                     : 1
SUBNAME                       :
TYPE#                         : 68
CTIME                         : 08.07.2014 08:23:37
MTIME                         : 12.10.2015 12:33:44
STIME                         : 08.07.2014 08:23:37
STATUS                        : 1
REMOTEOWNER                   :
LINKNAME                      :
FLAGS                         : 4194304
OID$                          :
SPARE1                        : 6
SPARE2                        : 65535
SPARE3                        : 0
SPARE4                        :
SPARE5                        :
SPARE6                        :
SIGNATURE                     :
SPARE7                        : 0
SPARE8                        : 0
SPARE9                        : 0
-----------------
OBJ#                          : 17352
DATAOBJ#                      :
OWNER#                        : 0
NAME                          : DBMS_JOB$
NAMESPACE                     : 1
SUBNAME                       :
TYPE#                         : 68
CTIME                         : 08.07.2014 08:23:37
MTIME                         : 08.07.2014 08:23:37
STIME                         : 08.07.2014 08:23:37
STATUS                        : 1
REMOTEOWNER                   :
LINKNAME                      :
FLAGS                         : 4194304
OID$                          :
SPARE1                        : 6
SPARE2                        : 65535
SPARE3                        : 0
SPARE4                        :
SPARE5                        :
SPARE6                        :
SIGNATURE                     :
SPARE7                        : 0
SPARE8                        : 0
SPARE9                        : 0
-----------------
Elic
Дата: 12.10.2015 10:23:22
SeaGate
SQL> exec print_table( 'select * from sys.obj$ where obj# in (17350, 17352)')
SQL> select xmltype(cursor(select * from sys.obj$ where rownum = 1)) from dual;

XMLTYPE(CURSOR(SELECT*FROMSYS.OBJ$WHEREROWNUM=1))
--------------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <OBJ_x0023_>20</OBJ_x0023_>
  <DATAOBJ_x0023_>2</DATAOBJ_x0023_>
  <OWNER_x0023_>0</OWNER_x0023_>
  <NAME>ICOL$</NAME>
  <NAMESPACE>1</NAMESPACE>
  <TYPE_x0023_>2</TYPE_x0023_>
  <CTIME>30.06.12 15:15:58</CTIME>
  <MTIME>30.06.12 15:15:58</MTIME>
  <STIME>30.06.12 15:15:58</STIME>
  <STATUS>1</STATUS>
  <FLAGS>0</FLAGS>
  <SPARE1>0</SPARE1>
  <SPARE2>1</SPARE2>
 </ROW>
AlexVin
Дата: 13.10.2015 08:35:48
помог рестарт инстанса
вот ведь...
вчера трейс инцидента я грохнул, инстанс стопнул
сделал новый, туда залил non-cdb-12ю базу, разпдбэшил заново апексы
потом решил поднять обратно проблемную - и обана, ошибок больше нет
и грант дается-отбирается без ора-600, и джоба енаблится без проблем в той "проблемной" pdb-шке

[spoiler ]
SQL> select xmltype(cursor(select * from sys.obj$ where  obj# in (17350, 17352))) k from dual;

K
--------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
  <ROW>
    <OBJ_x0023_>17350</OBJ_x0023_>
    <OWNER_x0023_>0</OWNER_x0023_>
    <NAME>SCHEDULER$_CDB_GLOBAL_ATTRIB</NAME>
    <NAMESPACE>1</NAMESPACE>
    <TYPE_x0023_>4</TYPE_x0023_>
    <CTIME>07-JUL-14</CTIME>
    <MTIME>07-OCT-15</MTIME>
    <STIME>07-JUL-14</STIME>
    <STATUS>1</STATUS>
    <FLAGS>5308416</FLAGS>
    <SPARE1>6</SPARE1>
    <SPARE2>65535</SPARE2>
    <SPARE3>0</SPARE3>
    <SIGNATURE>DCEC3134AC7A6A30AD50168C5C64CE4B</SIGNATURE>
    <SPARE7>0</SPARE7>
    <SPARE8>0</SPARE8>
    <SPARE9>0</SPARE9>
  </ROW>
  <ROW>
    <OBJ_x0023_>17352</OBJ_x0023_>
    <OWNER_x0023_>0</OWNER_x0023_>
    <NAME>DEFAULT_JOB_CLASS</NAME>
    <NAMESPACE>1</NAMESPACE>
    <TYPE_x0023_>68</TYPE_x0023_>
    <CTIME>07-JUL-14</CTIME>
    <MTIME>13-OCT-15</MTIME>
    <STIME>07-JUL-14</STIME>
    <STATUS>1</STATUS>
    <FLAGS>4194304</FLAGS>
    <SPARE1>6</SPARE1>
    <SPARE2>65535</SPARE2>
    <SPARE3>0</SPARE3>
    <SPARE7>0</SPARE7>
    <SPARE8>0</SPARE8>
    <SPARE9>0</SPARE9>
  </ROW>
</ROWSET>
[/spoiler ]