1、DBLINK概念
达梦数据库的外部链接(DBLINK)是一种数据库的实体对象,记录了远程数据库的连接信息,用于建立与远程数据的联系。用户可以通过数据库的外部链接对象透明地操作远程数据库的数据,对远程数据库的表进行查询和增删改操作,也可以调用远程的存储过程。数据库的外部链接对象可以是公用的(数据库中所有用户使用),也可以是私有的(特定用户使用)。
2.1、准备过程
准备两台数据库服务器A(192.168.10.10)和B(192.168.10.12 ),两台服务器都要安装达梦数据库,并且都要关闭了防火墙和SELINUX,两台数据库机器A 、B的实例名不能一致,两个数据库的字符集必须一致,并且两个达梦数据库都打开了MAL系统。
2.2、语法格式
SQL> create public link 外部链接名称 connect '数据库类型' with 主机登录用户 identified by 主机登录密码 using '主机IP/主机系统监听TCP连接端口' |
2.2、创建过程
在A服务器上创建一个测试表TEST,用来让B主机使用外部连接进行操作,然后在B服务器上面创建外部连接LINK01,访问和操作服务器A 表TEST中的数据。 A机器: SQL> CREATE TABLE TEST(ID INT,NAME VARCHAR(13)); SQL> INSERT INTO TEST VALUES(1,’AAA’); SQL> INSERT INTO TEST VALUES(2,’BBB’); SQL> COMMIT; B机器: SQL> create public link "LINK01" connect 'DAMENG' with "SYSDBA" identified by "SYSDAB" using '192.168.10.10/5236'; SQL> select * from SYSDBA.TEST@LINK01; SQL> insert into SYSDBA.TEST@LINK01 values(1,'aaaa'); SQL> insert into SYSDBA.TEST@LINK01 values(2,'bbbb'); SQL> commit; SQL> select * from SYSDBA.TEST@LINK01; |
3、异构外部链接
DM数据库不仅支持DM数据库间的远程访问,还可以支持创建外部链接(DBLINK)来访问远程的ORACLER数据库, 在Linux环境下演示来搭建几个步骤:
3.1、准备过程
需要准备两台数据库服务器A(192.168.10.10)和B(192.168.10.12 ),两台服务器分别安装DM数据库和ORACLE数据库,并且都关闭了防火墙和SELINUX,除此之外还需要在ORACLE数据库上创建张TEST表用来测试验证。
3.2、搭建过程
(1)、配置oracle的oci客户端 因为需要远程访问oracle数据库,所以还需要安装oci客户端,可以直接从的oracle官网下载所需的客户端软件包(instantclient-basic-linux.x64-11.2.0.4.0.zip)。下载并解压软件包后, 需要将带后缀名是“so”的文件复制到安装DM数据库的Linux系统的/lib6目录下,还需要创建一个软连接,这样DM服务器就可以通过oci库连接到了oracle数据库。 [root@localhost ~]# ln -s libclntsh.so.12.1 libclntsh.so (2)、登录DM,创建DBLINK 下面的SQL命令是创建了一个名为"LINK02"的外部链接,链接类型为ORACLE的DBLINK, 用来指向远程在192.168.10.10机器上,服务名为ORCL的ORACLE服务器。 SQL> create public link "LINK02" connect 'ORACLE' with "SYSTEM" identified by "MANAGER" using '192.168.10.10/ORCL'; (3)、测试和验证创建DBLINK select * from SYSTEM.TEST@LINK02; |