达梦到达梦的外部链接dblink(DM-DM DBLINK)

一. 使用场景:

部链接对象(LINK)是 DM 中的一种特殊的数据库实体对象,它记录了远程数据库的连接和路径信息,用于建立与远程数据的联系。通过多台数据库主库间的相互通讯,用户可以透明地操作远程数据库的数据,使应用程序看起来只有一个大型数据库。用户远程数据库中的数据请求,都被自动转换为网络请求,并在相应结点上实现相应的操作。用户可以建立一个数据库链接,以说明一个对象在远程数据库中的访问路径。这个链接可以是公用的(数据库中所有用户使用),也可以是私有的(只能被某个用户使用)。

用户可以通过外部链接对远程数据库的表进行查询和增删改操作,以及本地调用远程的存储过程。

二 前置条件:
准备两台数据库服务器 A、B(目前只支持同平台,不支持跨平台建数据库连接),均安装了 DM 数据库,网络必须互通。
两个服务器间网络互通
两个服务器都已安装好达梦数据库。且 A 和 B 的实例名不能相同。两台数据库字符集要一致。
在这里插入图片描述

三 配置:

  1. 在两台机器的数据库实例下面创建dmmal.ini 文件
[dmdba@10-8-148-9 DAMENG1]$ vi dmmal.ini
[dmdba@10-8-148-9 DAMENG1]$ cat dmmal.ini
[DMSERVER1]     #自定义
MAL_INST_NAME = DMSERVER1       #实例名和dm.ini中的INSTANCE_NAME保持一致
MAL_INST_HOST = 10.8.148.9      #对外开放的服务IP地址
MAL_INST_PORT = 52336            #对外开放的服务端口和dm.ini中的PORT_NUM保持一致
MAL_HOST = 10.8.148.9           #系统监听TCP连接IP地址
MAL_PORT = 15252                        #系统监听TCP连接端口

[DMSERVER]      #自定义
MAL_INST_NAME = DMSERVER
MAL_INST_HOST = 10.8.148.7
MAL_INST_PORT = 52336
MAL_HOST = 10.8.148.7
MAL_PORT = 15253
[dmdba@10-8-148-7 DAMENG]$ vi dmmal.ini
[dmdba@10-8-148-7 DAMENG]$ cat dmmal.ini
[DMSERVER1]     #自定义
MAL_INST_NAME = DMSERVER1       #实例名和dm.ini中的INSTANCE_NAME保持一致
MAL_INST_HOST = 10.8.148.9      #对外开放的服务IP地址
MAL_INST_PORT = 52336            #对外开放的服务端口和dm.ini中的PORT_NUM保持一致
MAL_HOST = 10.8.148.9           #系统监听TCP连接IP地址
MAL_PORT = 15252                        #系统监听TCP连接端口

[DMSERVER]      #自定义
MAL_INST_NAME = DMSERVER
MAL_INST_HOST = 10.8.148.7
MAL_INST_PORT = 52336
MAL_HOST = 10.8.148.7
MAL_PORT = 15253

[dmdba@10-8-148-7 DAMENG]$
  1. 分别切换到数据库实例的目录,修改dm.ini文件
    在这里插入图片描述
    3:验证
[dmdba@10-8-148-9 DAMENG1]$ more /home/dmdba/data/DAMENG1/dm.ini|grep -E "INSTANCE_NAME|MAL_INI"
                INSTANCE_NAME                   = DMSERVER1                                     #Instance name
                MAL_INI                         = 1                     #dmmal.ini
[dmdba@10-8-148-9 DAMENG1]$
[dmdba@10-8-148-7 bin]$ more /data/DAMENG/dm.ini|grep -E "INSTANCE_NAME|MAL_INI"
                INSTANCE_NAME                   = DMSERVER                                    #Instance name
                MAL_INI                         = 1                     #dmmal.ini
[dmdba@10-8-148-7 bin]$
  1. 重启服务
 [dmdba@10-8-148-9 bin]$ ./DmServiceDMSERVER1 restart
DmServiceCATHY_S service is stopped.
Starting DmServiceCATHY_S:                                 [ OK ]
[dmdba@10-8-148-9 bin]$
[dmdba@10-8-148-7 bin]$ ./DmServiceDMSERVER2 restart
DmServiceDMSERVER2 service is stopped.
Starting DmServiceDMSERVER2:                               [ OK ]
  1. 创建测试表
    在A主机创建一个表test用来让B主机用外部连接进行操作
[dmdba@10-8-148-9 bin]$ ./disql SYSDBA/SYSDBA@LOCALH

服务器[LOCALHOST:52336]:处于普通打开状态
登录使用时间 : 1.677(ms)
disql V8
SQL> Create table test(c1 int,c2 int);
操作已执行
已用时间: 16.136(毫秒). 执行号:55200.
SQL>
  1. 创建dblink

在B主机建立外部连接操作A主机
create public link 外部连接名 connect with A主机登录用户 identified by A主机登录用户密码 using ‘A主机ip/a主机系统监听TCP连接端口’

disql V8
SQL> create public link dmlink1 connect with "SYSDBA" identified by "SYSDBA" using '10.8.148.9/52336';
操作已执行
已用时间: 11.755(毫秒). 执行号:501.
SQL> insert into test@dmlink1 values(1,1)
2   ;
insert into test@dmlink1 values(1,1);
操作已执行
SQL> commit;
操作已执行

在A服务器上查询数据,测试成功:

[dmdba@10-8-148-9 bin]$ ./disql SYSDBA/SYSDBA@LOCALHOST:52336

服务器[LOCALHOST:52336]:处于普通打开状态
登录使用时间 : 1.203(ms)
disql V8
SQL> select * from test;

行号     C1          C2
---------- ----------- -----------
1          1           1

已用时间: 0.889(毫秒). 执行号:55400.
SQL>

————————————————
版权声明:本文为CSDN博主「qq_37829708」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37829708/article/details/128494726
两台服务器,其中一个为目的主机 A,另一个为测试机 B;分别在这两台服务器上进入数据库安装目录下的库目录里修改 dm.ini 文件:MAL_INI=1,实例名 INSTANCE_NAME 要对应,且配置 dmmal.ini(如无此文件,新建此文件)如下所示

相关推荐

  1. 数据库使用-外部

    2023-12-23 21:00:03       9 阅读
  2. 数据库 分区表维护

    2023-12-23 21:00:03       24 阅读
  3. 数据库DMRMAN工具介绍

    2023-12-23 21:00:03       12 阅读
  4. 数据库锁介绍

    2023-12-23 21:00:03       10 阅读
  5. 数据库文档

    2023-12-23 21:00:03       39 阅读
  6. 审计功能

    2023-12-23 21:00:03       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 21:00:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 21:00:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 21:00:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 21:00:03       18 阅读

热门阅读

  1. 【Python函数】functools.reduce()函数的用法

    2023-12-23 21:00:03       41 阅读
  2. python的装饰器、with、上下文管理器等简单的记录

    2023-12-23 21:00:03       44 阅读
  3. 我的创作纪念日

    2023-12-23 21:00:03       46 阅读
  4. 数据库概述

    2023-12-23 21:00:03       40 阅读
  5. C# 设置文本框只能输入数字和小数点

    2023-12-23 21:00:03       36 阅读
  6. 【MySQL】sum 函数和 count 函数的相同作用

    2023-12-23 21:00:03       45 阅读
  7. Python生成器

    2023-12-23 21:00:03       33 阅读
  8. Mysql数据库基础知识1

    2023-12-23 21:00:03       27 阅读
  9. 【深度解析C++之初始化列表】

    2023-12-23 21:00:03       28 阅读
  10. electron GPU process isn‘t usable. Goodbye

    2023-12-23 21:00:03       42 阅读
  11. Python---静态Web服务器-返回固定页面数据

    2023-12-23 21:00:03       43 阅读
  12. NiNNet

    NiNNet

    2023-12-23 21:00:03      29 阅读