SQL> shutdown abort .com

About DBA Queries DBA Scripts Quick Guides Nooleus Other Stuff Contact
Andy only 
 

Structure - Materialized view


Create a view log for the master table
This is required for fast refresh
create materialized view log on <table>
/
or...
create materialized view log on <table>
tablespace <tablespace_name>
/
List all materialized view logs
select 	log_owner
,	log_table
from	dba_mview_logs
/
Create a simple materialized view
create materialized view andy_mview
refresh [fast | complete | force]
start with sysdate
next sysdate + 1/24
with primary key
as select * from test_table
/
Fast = update changes only
Complete = wipe and repopulate the mview
Force = fast if possible, complete if not.
Show all materialized and resfresh times
set lines 100 pages 999
col last_refresh format a20
select	owner
,	mview_name
,	to_char(last_refresh_date, 'dd/mm/yy hh24:mi') last_refresh
from	dba_mviews
order by owner, last_refresh
/
Show materialized view tables and masters
set lines 100
col mview format a40
col master format a40
select	owner || '.' || name mview
,	master_owner || '.' || master master
from	dba_mview_refresh_times
/
Show refresh jobs in dba_jobs
This is useful for spotting failures
set lines 100
col job format 9999
col log_user format a15
col last format a15
col next format a15
col fail format 9999
col what format a20
select	job
,	log_user
,	to_char(last_date, 'dd/mm/yy hh24:mi') last
,	to_char(next_date, 'dd/mm/yy hh24:mi') next
,	failures fail
,	replace(what, '"') what
from	dba_jobs
where	what like '%dbms_refresh.refresh%'
/
Manually start a refresh
execute dbms_mview.refresh ('<owner.mv_table>');
Force a complete refresh
execute dbms_mview.refresh ('<owner.mv_table>','C');
Copyright© 2007-2010 Andrew Barry