建立job進行重新整理物化檢視,job執行失敗。

pineapple_lch發表於2014-06-20
建立了一個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部落格 ” ,連結:http://blog.itpub.net/27661381/viewspace-1190107/,如需轉載,請註明出處,否則將追究法律責任。

相關文章