目的: 把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已經成功了.