您的位置:首页 > 其它

DBSNMP用户的BSLN_INTERNAL出现ORA-12012和ORA-6502错误的解决方法

2012-11-27 09:01 1016 查看
检查日志发现出现下述错误:

[sql]
view plaincopy

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。

[sql]
view plaincopy

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]
view plaincopy

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]
view plaincopy

SQL> grant EXECUTE on SYS.DBMS_JOB to DBSNMP;

Grant succeeded

[sql]
view plaincopy

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐