1 、 DBLINK 的概念:
DBLINK(Database Link) 数据库链接:顾名思义就是数据库的链接,就像电话线一样,是一个通道。当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须创建远程数据库的 DBLINK。 本地数据库通过 DBLINK 可以像访问本地数据库一样访问远程数据库表中的数据。
2 、达梦数据库 DBLINK 的分类:
2.1 、 按照访问权限, 达梦数据库 DBLINK可以分为普通 DBLINK 和公用 DBLINK 两类:
–普通 DBLINK :只有创建语句中标识的用户才可以访问远程数据库
–公用 DBLINK :本地数据的所有用户都可以访问远程数据库
2.2 、 按照源库和目标库的类型,达梦数据库常用的 DBLINK 又可以分为同构 DBLINK(DM-DM) 和异构 DBLINK( ORACLE- DM) 两类:
同构 DBLINK(DM-DM) :源端和目标端使用的数据库均为达梦数据库;
异构 DBLINK(ORACLE- DM) :源端数据库为ORACLE,目标端数据库为DM
今天,我们先来了解一下同构数据库的 DBLINK(DM-DM) 配置方式,异构 DBLINK( ORACLE- DM) 将在下节来介绍。目前,达梦数据库 DBLINK 只支持相同平台,不支持跨平台创建 。
2.3 、配置同构 DBLINK(DM-DM)
2.3.1 、前置条件
准备两台数据库服务器 A(IP : 192.168.56.101 ,实例: DM01), 和数据库服务器 B(IP : 192.168.56.102 ,实例: DM02) ,
两个服务器都已安装好达梦数据库。且 A 和 B 的实例名不能相同。
2.3.2 、操作步骤:
1>在服务器 B 上创建普通 DBLINK, 访问服务器 A 表中的数据:
create link “SYSDBA”.“LINK_TEST01” connect ‘DAMENG’ with “SYSDBA” identified by “SYSDBA” using ‘192.168.56.101/5236’;
2> 在服务器 B 上创建公用 DBLINK, 访问服务器 A 表中的数据: create public link “LINK_TEST02” connect ‘DAMENG’ with “SYSDBA” identified by “SYSDBA” using ‘192.168.56.101/5236’;
3 > 分别在两台服务器上修改 dm.ini : MAL_INI=1
cat /dm8/data/DAMENG/dm.ini |grep MAL_INI
4 > 分别在两台服务器上修改配置 dmmal.ini ,注意: A 和 B 的实例名不能相同。
vim /dm8/data/DAMENG/dmmal.ini
[MAL_INST1]
MAL_INST_NAME =DM01
MAL_HOST = 192.168.56.101
MAL_PORT = 5251
MAL_INST_HOST = 192.168.56.101
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DM02
MAL_HOST = 192.168.56.102
MAL_PORT = 5250
MAL_INST_HOST = 192.168.56.102
MAL_INST_PORT = 5236
5 > 两台主机的 dmmal.ini 文件相同,将 A 机器上的 dmmal.ini 文件 SCP 到 B 机器:
scp /dm8/data/DAMENG/dmmal.ini dmdba@192.168.56.102:/dm8/data/DAMENG
6 > 配置成功后分别重启 A 和 B 机器的数据库实例:
cd /dm8/bin
./DmServiceDM01 restart
./DmServiceDM02 restart
7 > 测试同构 DBLINK:
– 在 192.168.56.101 上创建一张表 TEST_LINK_A :
create table TEST_LINK_A(id int,name varchar2(10));
insert into TEST_LINK_A values(1,‘xm1’);
commit;
select * from TEST_LINK_A;
– 在 192.168.56.102 上查此表:
select * from TEST_LINK_A;
– 在 192.168.56.102 上使用 LINK_TEST01 查此表:
select * from TEST_LINK_A@LINK_TEST01;
– 在 192.168.56.102 上使用 LINK_TEST02 查此表:
select * from TEST_LINK_A@ LINK_TEST02;
– 在 192.168.56.102 上 测试插入数据:
insert into TEST_LINK_A@LINK_TEST01 values(2,‘xm2’);
commit;
insert into TEST_LINK_A@LINK_TEST01 values(3,‘xm3’);
commit;
–在 192.168.56.102 上 检查 数据:
select * from TEST_LINK_A@ LINK_TEST0 1 ;
select * from TEST_LINK_A@ LINK_TEST02 ;
–在 192.168.56.10 1 上 检查 数据:
select * from TEST_LINK_A;
192.168.56.10 1和 192.168.56.102两台机器上验证均没有问题,说明创建的两种达梦数据库同构DBLINK正常。
文章
阅读量
获赞