利用Oracle DBLink进行表同步


场景:从Oracle A  同步表到Oracle B

一、创建database link(B端)

Sql代码
  1. create public database link dblink_name   
  2.  connect to A_user_name identified by A_user_password   
  3.  using '(DESCRIPTION =   
  4.     (ADDRESS_LIST =   
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = aa.bb.com)(PORT = 1521))   
  6.     )   
  7.     (CONNECT_DATA =   
  8.       (SERVICE_NAME = orcl)   
  9.     )   
  10.   )';  

 

二、创建snapshot(B端)

Sql代码
  1. Create snapshot tb_name as select * from tb_name@dblink_name;  
 

三、修改snapshot刷新时间(B端)

Sql代码
  1. Alter snapshot tb_name refresh complete Start with sysdate next trunc(sysdate+1)+20/24;   
  2. --每天20点刷新  

要手动刷新的话

Sql代码
  1. dbms_refresh.refresh('"B"."TB_NAME"');  

  查看最后一次刷新时间

Sql代码
  1. SELECT NAME,LAST_REFRESH FROM ALL_SNAPSHOT_REFRESH_TIMES;  

相关内容