您可以使用以下查询来检查 MV 上次刷新的时间。
SQL> select owner, mview_name, last_refresh_type, last_refresh_date
from dba_mviews/user_mviews;
Run Code Online (Sandbox Code Playgroud)
如果您使用DBMS_SCHEDULER
以下方法刷新这些 MV :-
SQL> select log_date, status
from dba_scheduler_job_run_details
where job_name='JOB_NAME';
LOG_DATE STATUS
-------------------------------------- ------------------------------
16-APR-17 04.42.58.546973 AM +05:45 SUCCEEDED
08-APR-17 02.38.12.843886 AM +05:45 FAILED
Run Code Online (Sandbox Code Playgroud)
如果您使用 Job Queues/DBMS_JOB` 刷新这些 MV:-
SQL> select job, last_date last_refresh,next_date next_refresh, total_time,broken, failures, what
from dba_jobs
where what like '%dbms_refresh%';
Run Code Online (Sandbox Code Playgroud)
作业失败的原因写入alert_<SID>.log
如下所示的文件以及警报日志文件中引用的跟踪文件中。
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j003_143260.trc:
ORA-12012: error on auto execute of job "SCHEMA"."JOB_NAME"
ORA-12008: error in materialized view refresh path
ORA-22992: cannot use LOB locators selected from remote tables
ORA-06512: at "SCHEMA.PACKAGE/PROCEDURE", line 70
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)