A partir da origem:
select d1.mview_id,d1.owner,d1.master,d1.mview_last_refresh_time,d2.snapshot_site from dba_base_table_mviews d1,dba_registered_snapshots d2 where d1.mview_id=d2.snapshot_id;
Note que a query acima relaciona a dba_registered_snapshots, ou seja, caso o snapshot não esteja registrado, você não consegue essa informação.
Para identificar todos os snapshots não registrados da base:
A partir da origem:
select * from
(
select distinct d.log_owner, d.log_table, d.master snapname, snapid,
nvl(r.snapshot_site, 'not registered') snapsite,
snaptime,
(select count(*) from
sys.slog$ s1, dba_registered_snapshots r1, dba_snapshot_logs d1
where
d1.log_owner = s1.mowner (+)
and d1.master = s1.master (+)
and s1.snapid=r1.snapshot_id(+)
and (snaptime <= trunc(sysdate - 7) or snaptime is null)
and d.log_owner = d1.log_owner
and d.master = d1.master
and s.snapid = s1.snapid
) as total
from sys.slog$ s, dba_registered_snapshots r, dba_snapshot_logs d
where
d.log_owner = s.mowner (+)
and d.master = s.master (+)
and s.snapid=r.snapshot_id(+)
and (snaptime <= trunc(sysdate - 7) or snaptime is null)
) where total < 1;
Nenhum comentário:
Postar um comentário