目的: 把A机dept表同步到B机的mv_dept物化视图中.
step1. 在A机创建物化视图日志 SQL> create materialized view log on scott.dept;
step2. 在B机修改作业队列最大并行进行数 SQL> alter system set job_queue_processes=10; --不能为0
step3. 创建从B机连接到A机的DBLink SQL> create database link db_link_144 connect to scott identified by tiger using 'orcl144';
step4. 在B机创建物化视图 SQL>create materialized view mv_dept
refresh fast on demand
as
select * from dept@db_link_144;
step5. 设定定时刷新数据作业(此时作业已进入队列,但不一定马上执行.)
SQL> BEGIN
2 DBMS_REFRESH.MAKE (
3 name => 'dept_ref',
4 list => 'MV_DEPT',
5 next_date => SYSDATE,
6 interval => 'SYSDATE + 1/1440'); --每分钟刷新一次
7 END;
8 /
SQL> commit; --记得commit; 否则没有job.
step6. 查看job作业运行情况
SQL> select * from dba_jobs_running;
or
SQL> select * from user_jobs;
step7. 在A机插入数据: SQL> insert into scott.dept values(90, 'SERVICE', 'CANTON');
SQL> commit;
step8. 在B机验证物化视图刷新情况:
SQL> select * from mv_dept;
DEPTNO DNAME LOC
------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SERVICE CANTON
如果能看到上面结果,就证明从A机的dept同步到B机的mv_dept已经成功了.