oracle跨实例数据同步.docx

上传人:小飞机 文档编号:3162502 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.88KB
返回 下载 相关 举报
oracle跨实例数据同步.docx_第1页
第1页 / 共4页
oracle跨实例数据同步.docx_第2页
第2页 / 共4页
oracle跨实例数据同步.docx_第3页
第3页 / 共4页
oracle跨实例数据同步.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle跨实例数据同步.docx》由会员分享,可在线阅读,更多相关《oracle跨实例数据同步.docx(4页珍藏版)》请在三一办公上搜索。

1、oracle跨实例数据同步Oracle 快照及 dblink使用 跨ORACLE实例数据同步 名词说明:源被同步的数据库 - 目的要同步到的数据库 /*一、创建dblink:*/ -1、在目的数据库上,创建dblin drop public database link dblink_anson; Create public database link dblink_anson Connect to lg identified by lg using SDLGDB; -源数据库的用户名、密码、服务器名k /*二、创建快照:*/ -1、在源和目的数据库上同时执行一下语句,创建要被同步的表 drop

2、 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_ansondblink_anson; select * from tb_anson; -3、在目的数据库上,创建要同步表的快照日志 Create snapshot log on tb_anson; -4、创建快照,快照(被同步数据库服务必须启动) Create snapshot sn_a

3、nson as select * from tb_ansondblink_anson; -5、设置快照刷新时间 Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60; -oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次 Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1; -oracle自动在30钞后进行第一次完全刷新,以后每隔1天完全刷新一次

4、 -6、手动刷新快照 begin dbms_refresh.refresh(CS.SN_ANSON); end; eg: drop public database link dblink_e3nfjj; Create public database link dblink_e3nfjj Connect to e3nfjj identified by e3nfjj using ORCL10_192.168.20.26; create table template as select * from templatedblink_e3nfjj; 两台oracle数据库之间数据同步 在两台oracle

5、数据库之间测试成功,下面就总结一下吧: 需求: 现有两台oracle数据库服务器A和B(A,B可以是在同一内网,也可以是在互联网上的两台独立机器)。A和B里有都有testable表,结构一样,现需要当A库中的testable表变化时,B库里的testable也相应变化数据 我的解决方案: 在A中建立到B库的链接,然后对要同步的表做一个同义synonym,最后建一个触发器,就可以完成了。当然,你所用的当前的用户要有相应的权限去执行这些操作。 当从A向B同步数据时,应该在A上做所有的设置: 1 为保证连接到另一台远程服务器的数据库 你需要建立一个DB Link,但是,这里要注意语法格式,using

6、 +connect string,这个connect string应该是存在于oracle服务器的TNSNAMES.ORA文件里,监听程序将从这里获取远方服务器 的ip地址等信息,我定义了一个251的connect string如下: 251 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.251)(PORT = 1521) ) (CONNECT_DATA = (SERVICE_NAME = mychoice) ) ) 把它存到你的TNSNAMES.ORA文件里。 2 然后就可以定义DB

7、 Link了: create public database link TEST2.US.ORACLE.COM connect to 用户名 identified by 密码 using 251; 2.1 建立synonym(同义) create or replace synonym TEST01 for MYCHOICE.TESTABLETEST2.US.ORACLE.COM; 建立完了以后,你可以通过: select * from test01 上面的语句相当于在B服务器上执行: select * from testable 2.2 封建触发器: 当A中的testable表变化时,就会触发向远程的B库的testable也插入相应的数据: create or replace trigger rtest after insert on testable for each row begin insert into test01 (something) values (:new.something); end; ok,现在我们可以测试一下,你在库中往testable表中插入一条记录,看看库中是不是也相应的增加了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号