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