Oracle快照及dblink使用(两台服务器数据同步)
--名词说明: 源——被同步的数据库; 目的——要同步到的数据库; 一、创建dblink: 1、在目的数据库上,创建dblink: -- Drop existing database link drop database link DLINKMYTEST; -- Create database link create database link DLINKMYTEST connect to MYTEST identified by MYTEST using 'ORCL'; 二、创建快照: 1、在源和目的数据库上同时执行一下语句,创建要被同步的表, drop table tb_anson; create table tb_anson(c1 varchar2(12)); alter table tb_anson add constraint pk_anson primary key (C1); 2、在目的数据库上,测试dblink连接是否成功: select * from tb_anson@DLINKMYTEST; select * from tb_anson; 3、在目的数据库上,创建要同步表的快照日志 Create snapshot log on tb_anson; 4、创建快照,快照(被同步(源)数据库服务必须启动) Create snapshot sn_anson as select * from tb_anson@DLINKMYTEST; 5、设置快照刷新时间: Alter snapshot sn_anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60;--oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次 Alter snapshot sn_anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;--oracle自动在30钞后进行第一次完全刷新,以后每隔1天完全刷新一次 6、手动刷新快照: begin dbms_refresh.refresh("SN_ANSON"); end; 根据需要修改快照刷新的间隔时间; Alter snapshot sn_test1 refresh fast Start with sysdate+1/1440 next sysdate+1/144;--{ 此SQL语句的意思为:设定oracle自动在1分钟 (1/24*60)后进行第一次快速刷新,以后每隔10分钟 (10/24*60)快速刷新一次。} Alter snapshot sn_test1 refresh complete Start with sysdate+1/2880 next sysdate+1;--{ 此SQL语句的意思为:设定oracle自动在30钞 (30/24*60*60)后进行第一次完全刷新, 以后每隔1天完全刷新一次。} -------END-------- 参考: 1:http://www.2cto.com/database/201309/244063.html 2:http://www.51itstudy.com/35329.html 3:http://blog.chinaunix.net/uid-9789791-id-3351605.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |