ITPub博客

首页 > 数据库 > 国内数据库 > 配置达梦数据库同构DBLINK

配置达梦数据库同构DBLINK

原创 国内数据库 作者:zhaobw_0626 时间:2022-04-12 21:23:35 0 删除 编辑

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正常。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69978967/viewspace-2886767/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-13

  • 博文量
    6
  • 访问量
    7257