--名词说明:源——被同步的数据库
$ X# A1 B; l; T6 w! u9 h -- 目的——要同步到的数据库
5 i0 F- | {! {& l! P# Y4 H- R L /*一、创建dblink:*/
' m. w( U7 E3 ~' E3 r --1、在目的数据库上,创建dblin
. g* F; l9 T# c$ z. y. x3 |9 ?4 F, L drop database link dblink_anson;& _) a5 ]& i0 ~! q2 T" U
Create public3 }' \9 D1 N: Y
database link dblink_anson" y, A) l% R4 |, t
Connect to lg identified by lg using 'SDLGDB';6 X2 Y0 q/ o) z4 s* c# o/ E3 Y1 o7 a
--源数据库的用户名、密码、服务器名k1 q/ m% I, B( k4 l
/*二、创建快照:*/
3 O( r. Q; W6 e+ [1 H --1、在源和目的数据库上同时执行一下语句,创建要被同步的表5 C& w; g7 R% \: u1 F
drop table tb_anson;# h& j: { Z7 G7 k4 d) R
create table tb_anson(c1 varchar2(12));- k8 E4 S% p7 n; B$ ]
alter table tb_anson add constraint pk_anson primary key (C1);' a; s8 r$ Y/ P) W! W3 U0 W+ G3 f
--2、在目的数据库上,测试dblink+ t1 G0 c4 z! }! m1 m0 X
select * from tb_anson@dblink_anson;! [9 v5 m0 m5 Z$ V# I" s
select * from tb_anson;2 p, @) z% r3 m8 q
--3、在目的数据库上,创建要同步表的快照日志
4 \( J# ]9 x- O) |" r Create snapshot log on tb_anson;' f, u7 H5 c: |" P1 ^. F
--4、创建快照,快照(被同步(源)数据库服务必须启动); N q+ r5 n8 {
Create snapshot sn_anson as select * from tb_anson@dblink_anson;+ ~- {7 c0 i6 z5 w3 V- n
--5、设置快照刷新时间
: W% O0 ]! P. p# @; T. F Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60;
, Z: M: z* F) h2 |6 w --oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次' a. L$ p3 P/ }7 t4 P* u% R
Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;. D" q, ], I, {3 o
--oracle自动在30钞后进行第一次完全刷新,以后每隔1天完全刷新一次1 h2 u% `# y. U
--6、手动刷新快照
c( g/ y: P' J+ F I/ p/ h begin
$ u: U1 r/ k, U6 p1 F( b8 ] dbms_refresh.refresh('"CS"."SN_ANSON"');" {$ D" l: W8 v0 x
end; |