ITPub博客

首页 > 数据库 > Oracle > 创建job进行刷新物化视图,job执行失败。

创建job进行刷新物化视图,job执行失败。

原创 Oracle 作者:pineapple_lch 时间:2014-06-20 16:21:01 0 删除 编辑
创建了一个JOB,作用是刷新物化视图MV_D515_LQ,成功创建了,但是一些天后,发现此物化视图并没有刷新,后来才发现
JOB并没有成功运行,在日志中发现了如下的错误提示


ORA-12012: 自动执行作业 "SXXNH"."JOB_MV_D515_LQ" 出错
ORA-06550: 第 1 行, 第 776 列: 
PLS-00357: 在此上下文中不允许表, 视图或序列引用 'MV_D515_LQ'
ORA-06550: 第 1 行, 第 756 列: 

仔细检查了下创建后的job与创建job的语句:

SELECT * FROM USER_SCHEDULER_JOBS

发现是创建的时候出了点小问题,创建语句如下:

BEGIN
  DBMS_SCHEDULER.create_job( 
  job_name      => 'JOB_TJ_D506', 
  schedule_name => 'NINE_SCHEDULE',  
  job_type      => 'PLSQL_BLOCK',
  job_action    => 'BEGIN DBMS_REFRESH.REFRESH('TJ_D506'); END;',
  comments      => '每天刷新物化视图JOB_TJ_D506',
  auto_drop     => false,
  enabled       => false);
END;


问题就出在了job_action这里了:TJ_D506应该用两个单引号括起来才对(''TJ_D506'')

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27661381/viewspace-1190107/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-07-22

  • 博文量
    10
  • 访问量
    40747