Difference between revisions of "Materialized views"

From dbawiki
Jump to: navigation, search
(Created page with "From [http://www.shutdownabort.com/dbaqueries/Structure_Materialized_view.php shutdownabort.com] Create a view log for the master table This is required for fast refresh <pr...")
(No difference)

Revision as of 22:49, 23 January 2013

From shutdownabort.com

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');