Přikládám seznam dotazů, které mohou být napomocny při správě materializovaných pohledů a jejich refreshe.

Část dotazu je z metalinku, kde jsem je našel, když jsem je potřeboval.

258252.1 MATERIALIZED VIEW REFRESH: Locking, Performance, Monitoring

Kdy byl MVIEW naposledny úspěšně aktualizovaný

column last_refresh_type format a18
column owner format a7
column mview_name format a12
select owner, mview_name, last_refresh_type, last_refresh_date
from dba_mviews;

OWNER MVIEW_NAME LAST_REFRESH_TYPE LAST_REFRESH_DATE
——- ———— —————— ——————
SCOTT CREF_DEPT COMPLETE 24-JAN-03 22:17:25
SCOTT MYDEPT FAST 23-JAN-03 15:44:24
SCOTT MY_EMP FAST 27-JAN-03 21:40:13
SCOTT UPSNP_DEPT COMPLETE 24-JAN-03 14:35:37

Zjištění stavu za pomocí tabulky dba_jobs

Zjistite, kdy byl naposledy refresh spuštěn, kolikrát s chybou a jak dlouho trval.

column broken format a6
alter session set nls_date_format=’DD-MON-YY hh24:MI:SS‘;

select job, last_date last_refresh,
next_date next_refresh, total_time,
broken, failures, what
from dba_jobs
where what like ‚%dbms_refresh%‘;

JOB LAST_REFRESH NEXT_REFRESH TOTAL_TIME BROKEN FAILURES
—– —————— —————— ———- —— ———-
WHAT
————————————————————————
1 05-FEB-03 16:37:57 05-FEB-03 16:47:57 2 N 0
dbms_refresh.refresh(‚“SYS“.“REFRESHG1″‘);

Právě běžící refreshe

select r.job, r.this_date, r.failures
from all_jobs_running r, all_jobs j
where j.job = r.job
and j.what like ‚%dbms_refresh%‘;

JOB THIS_DATE FAILURES
———- —————— ———-
1 05-FEB-03 16:37:57 0

Jestli daný materializovaný pohled patří do refresh group, pak můžete použít i tabulky all_refreshall_refresh_children.

select r.rowner, r.rname, r.job, c.name,
r.next_date next_refresh, r.broken
from all_refresh r, all_refresh_children c
where r.job = c.job;

ROWNER RNAME JOB NAME NEXT_REFRESH BROKEN
———- ————— —– ———- —————— ——
SYS REFRESHG1 1 MYDEPT 05-FEB-03 16:47:57 N



Komentáře