Tuesday, 9 September 2014

Mlog refresh status and Mlog segment space details

Mlog refresh status and Mlog segment details.


col SEGMENT_TYPE for a8
col SEGMENT_NAME for a40
col TABLESPACE_NAME for a16
col MEG for 999999
col MASTER for a30
col MEG_SEGMENT for 99999999
col OWNER for a10
col MVIEWNAME for a30
col LAST_REFRESH for a20

select  distinct a.SEGMENT_TYPE,
        a.OWNER||'.'||a.SEGMENT_NAME SEGMENT_NAME,
        a.TABLESPACE_NAME,
        a.BYTES/1048576 MEG,
        nvl(b.master,'null') Master,
        e.bytes/1048576 MEG_SEGMENT,
        nvl(d.owner,'null') MVIEW_Owner,
        nvl(d.name,'null') MVIEWNAME,
        d.last_refresh
from DBA_SEGMENTS a
LEFT OUTER  join
      (select distinct LOG_OWNER,
                       master,
                      LOG_TABLE
          from dba_snapshot_logs) b
on (a.OWNER = B.LOG_OWNER
    and a.SEGMENT_NAME = B.LOG_TABLE)
LEFT OUTER join DBA_DEPENDENCIES C
on (C.REFERENCED_NAME = B.master
   and c.REFERENCED_OWNER = B.LOG_OWNER
   and C.type = 'MATERIALIZED VIEW')
LEFT outer join
          (select name,
                  Owner, max(last_refresh) last_refresh
           from DBA_SNAPSHOT_REFRESH_TIMES
         group by owner,name) D
on (C.name = D.name
   and c.owner = d.owner)
left outer join dba_segments e
on (b.master=e.segment_name
 and b.log_owner = e.owner)
where a.SEGMENT_NAME like 'MLOG$%'
and a.OWNER = '&SCHEMA_NAME'
order by MEG desc;

No comments: