答案 0 :(得分:5)
你可以尝试:
SELECT CURRMVOWNER, CURRMVNAME FROM V$MVREFRESH
立即刷新视图列表。
答案 1 :(得分:4)
您可以通过查看进程是否已获取锁定来间接查看是否正在刷新实例化视图:只有在刷新时才应修改实例化视图(除了用于双向复制的FOR UPDATE实体化视图)。
此查询应仅在刷新实例化视图时返回行:
SELECT sid
FROM v$lock
WHERE type = 'TX'
AND id1 = (SELECT object_id
FROM all_objects
WHERE owner = :owner
AND object_name = :object_name)
答案 2 :(得分:4)
定义为按照计划刷新的物化视图,其中“...... START WITH ... NEXT ...”作为其DDL的一部分,将在DBMS_JOB控制下执行。如果正在刷新这些MV,您将在USER_JOBS(或DBA_JOBS)视图中看到相应作业和/或DBA_JOBS_RUNNING中的行的THIS_DATE和THIS_SEC值。
如果您已根据需要定义了MV并且正在外部启动刷新,那么Vincent的答案是确定状态的一种方法。