06-10
22

谈 数据库链路 方法

试想如果把DB1上的表数据放入DB2中,常用的应该有几种方法:

1. 做备份,用EXP、IMP。(提前数据库必须都是oracle,且版本需要统一)

2. 用spool工具,把DB2的表转换成文本,然后导入DB1.

3. sqlloader工具来实现。

4. 就是orcale本身带的DBlink功能,也就是数据库链路。这种方法操作简易,且跨版本。

首要需给DB1上的tnsnames.ora文件配置好net8协议,前面的文章中有提到过配置方法。主要需要配置的地方,一是本地服务名,此例中为AA,链接对方机器可用SQL>CONN SCOTT/TIGER @ AAA。二是DB2的IP地址。

分析数据库链路关系图.

http://huac.blogbus.com/files/1161452829.jpg

指令步骤:

链接DB1,在system下授权:

SQL>GRANT Create DATABASE LINK TO SCOTT;

SQL>GRANT Create PUBLIC DATABASE LINK TO SCOTT;

SQL>CONN SCOTT/TIGER     //切换用户

SQL>CREAT PUBLIC DATEBASE LINK aaa CONNECT TO SCOTT IDENTIFIED BY TIGER USING 'AAA';  

这句是建立链路,SCOTT和TIGER是对方的用户名、密码。AAA是net8协议的设置。aaa是给链路起的名称。

测试链路是否成功:

SQL>Select * FROM SCOTT.EMP@ aaa;

SQL>Insert INTO SCOTT.XYZ@ aaa VALUES('进入成功');

SQL>CREAT TABLE ABCD AS Select * FROM EMP @ aaa;

取消链路:

SQL>Drop DATA LINK aaa;

最后值得一提的是,开启链路的同时就开启了RECO进程(分布式进程),此进程用户把断开的网络自动重连。



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 数据库链路
相关日志:
评论: 0 | 引用: 0 | 查看次数: 837
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭