Mview refresh progress
Summary
You can find the refresh progress of a Mview with this script
You can find the refresh progress of a Mview with this script
SELECT CURRMVOWNER_KNSTMVR || '.' || CURRMVNAME_KNSTMVR "MVIEW BEING REFRESHED", DECODE( REFTYPE_KNSTMVR, 1, 'FAST', 2, 'COMPLETE', 'UNKNOWN' ) REFTYPE, DECODE(GROUPSTATE_KNSTMVR, 1, 'SETUP', 2, 'INSTANTIATE', 3, 'WRAPUP', 'UNKNOWN' ) STATE, TOTAL_INSERTS_KNSTMVR INSERTS, TOTAL_UPDATES_KNSTMVR UPDATES, TOTAL_DELETES_KNSTMVR DELETES FROM X$KNSTMVR X WHERE type_knst=6 AND EXISTS (SELECT 1 FROM v$session s WHERE s.SID=x.sid_knst AND s.serial#=x.serial_knst); SELECT l.SID, DECODE( COUNT(*), 0, 'No purge in progress', 'Purge is in progress' ) State FROM v$lock l, DBMS_LOCK_ALLOCATED la WHERE l.TYPE='UL' AND l.lmode=6 AND l.id1=la.lockid AND la.NAME='ORA$DEF$EXE$PurgeCommonLock' GROUP BY l.SID; SELECT l.SID, DECODE( COUNT(*), 0, 'No propagation in progress', 'Propagation in progress' ) State FROM v$lock l, DBMS_LOCK_ALLOCATED la WHERE l.TYPE='UL' AND l.lmode=4 AND l.id1=la.lockid AND la.NAME='ORA$DEF$EXE$PushCommonLock' GROUP BY l.SID; SELECT /*+ RULE */ o.owner, o.object_name mview, username, s.SID FROM v$lock l, dba_objects o, v$session s WHERE o.object_id=l.id1 AND l.TYPE='JI' AND l.lmode=6 AND s.SID=l.SID AND o.object_type='TABLE';
Comments
Post a Comment