Oracle的jobs执行报错,DBMS_JOBS定时之后未执行问题处理,执行后的错误:ORA-12011,ORA-06512...

数据库里写了个存储过程,写为定时job,到定时时间未执行,定时任务一直报错,单独执行存储过程正常,

begin

sys.dbms_job.submit(job => :job,

what => 'P_DATA_LOG_DAY;',

next_date => to_date('16-07-2016 08:30:00', 'dd-mm-yyyy hh24:mi:ss'),

interval => 'TRUNC(SYSDATE+1)+(860+30)/(2460)');

commit;

end;

重新执行job后的错误:ORA-12011,ORA-06512,仔细查看当前用户具有DBA权限,检查当前用户有create table ,insert 等权限

CREATE OR REPLACE PROCEDURE P_DATA_LOG_DAY authid current_user

is

V_SQL VARCHAR2(10000);

BEGIN

--如果当天数据已生成,删除后重新插入数据

DELETE ASPT.TB_DATA_LOG_DAY WHERE TO_CHAR(INSERT_TIME,'YYYYMMDD')=DATE_NO;

COMMIT;

--省厅

V_SQL:='INSERT INTO ASPT.TB_DATA_LOG_DAY

SELECT ''省厅'' DQ,A.REG_ID,B.NAME REG_NAME,SUBSTR(OPERATE_TIME,1,8) XZ_TIME,COUNT(1) XZ_CN,SYSDATE INSERT_TIME FROM (

SELECT * FROM ASPT.SNAM_CP_OPERATE_LOG WHERE OPERATE_TIME BETWEEN 'DATE_NO_START' AND 'DATE_NO_END') A,

CLOUD.SNAM_CP_APP_SYS_RESOURCE B

WHERE A.REG_ID=B.REG_ID GROUP BY A.REG_ID,B.NAME,SUBSTR(OPERATE_TIME,1,8)';

EXECUTE IMMEDIATE V_SQL;

COMMIT;

最后核查竟然发现是CLOUD.SNAM_CP_APP_SYS_RESOURCE 这张表由于同库CLOUD用户,没有给ASPT用户赋select权限,而导致的JOBS报错。

赋权限后,重新运行jobs正常。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值