ORA-06512 DBSNMP.BSLN_INTERNAL

检查日志发现出现下述错误: 
ORA-12012: error on auto execute of job "SYS"."BSLN_MAINTAIN_STATS_JOB"
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "DBSNMP.BSLN_INTERNAL", line 2073
ORA-06512: at line 1

一个临时的解决方案是禁用这个job。
BEGIN
sys.dbms_scheduler.disable( '"SYS"."BSLN_MAINTAIN_STATS_JOB"' ); 
END;


查询MOS后发现原来是权限的问题:

【参考文档】AlertLog Errors: ORA-12012: Error On Auto Execute Of Job, ORA-06512: at "DBSNMP.BSLN_INTERNAL" [ID 1329618.1]

需要授予DBSNMP用户对SYS.DBMS_JOB 有EXECUTE的权限。

 

SQL> select * from dba_tab_privs where table_name = 'DBMS_JOB';
 
GRANTEE         OWNER    TABLE_NAME    GRANTOR   PRIVILEGE     GRANTABLE HIERARCHY
--------------- -------- ------------- --------- ------------- --------- ---------
SYSMAN          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
OWBSYS          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
APEX_030200     SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
EXFSYS          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO     
PUBLIC          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO


 

SQL> grant EXECUTE on SYS.DBMS_JOB to DBSNMP;
 
Grant succeeded


 

SQL> select * from dba_tab_privs where table_name = 'DBMS_JOB';
GRANTEE         OWNER    TABLE_NAME    GRANTOR   PRIVILEGE     GRANTABLE HIERARCHY
--------------- -------- ------------- --------- ------------- --------- ---------
SYSMAN          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
OWBSYS          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
APEX_030200     SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
EXFSYS          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO
DBSNMP          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO     
PUBLIC          SYS      DBMS_JOB      SYS       EXECUTE       NO        NO




 


 

你可能感兴趣的:(sql,NoSQL,table,文档)