对于oracle10g简单方法:
1. 先建立一个物化视图,不用指明刷新参数,只要create materialized view,如
CREATE MATERIALIZED VIEW mv_emp
AS SELECT * FROM scott.emp;
2. 建立一个用来刷新物化视图的存储过程,如
CREATE OR REPLACE PROCEDURE auto_refresh_mview_job_proc
AS
BEGIN
dbms_mview.REFRESH('mv_emp');
END;
/
3. 用ORACLE 10g的scheduler每天12:00和19:00定期刷新物化视图
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'auot_refresh_mview_job',
job_type => 'STORED_PROCEDURE',
job_action => 'scott.auto_refresh_mview_job_proc',
start_date => SYSDATE,
repeat_interval => 'FREQ=DAILY; BYHOUR=12,19',
enabled => TRUE,
comments => 'Refresh materialized view mv_emp'
);
END;
/
4. 删除scheduler对象的方法
BEGIN
DBMS_SCHEDULER.DROP_JOB(
job_name => 'auot_refresh_mview_job'
);
END;
/