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

2023-12-21 13:30

本文主要是介绍达梦到达梦的外部链接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 nameMAL_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 nameMAL_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(如无此文件,新建此文件)如下所示

这篇关于达梦到达梦的外部链接dblink(DM-DM DBLINK)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/520170

相关文章

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

每日一练7:简写单词(含链接)

1.链接 简写单词_牛客题霸_牛客网 2.题目 3.代码1(错误经验) #include <iostream>#include <string>using namespace std;int main() {string s;string ret;int count = 0;while(cin >> s)for(auto a : s){if(count == 0){if( a <=

短链接算法原理

平时我们在上网的时候,印象最深刻的有一次是短链接的服务。例如:平时在微信上看一个网页的时候,如果我们选择在浏览器打开的时候,会看到很长的URL,我们分享的时候,会看到一个很短URL,这就是本次所说的短链接的应用之一。 长链接示例:https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA==&mid=2653355437&idx=1&sn=5901826ea63

ora-01017 ora-02063 database link,oracle11.2g通过dblink连接oracle11.2g

错误图示: 问题解决 All database links, whether public or private, need username/password of the remote/target database. Public db links are accessible by all accounts on the local database, while private

Vue2电商项目(二) Home模块的开发;(还需要补充js节流和防抖的回顾链接)

文章目录 一、Home模块拆分1. 三级联动组件TypeNav2. 其余组件 二、发送请求的准备工作1. axios的二次封装2. 统一管理接口API----跨域3. nprogress进度条 三、 vuex模块开发四、TypeNav三级联动组件开发1. 动态展示三级联动数据2. 三级联动 动态背景(1)、方式一:CSS样式(2)、方式二:JS 3. 控制二三级数据隐藏与显示--绑定styl

编译和链接那点事下

http://www.0xffffff.org/?p=357 上回书我们说到了链接以前,今天我们来研究最后的链接问题。         链接这个话题延伸之后完全可以跑到九霄云外去,为了避免本文牵扯到过多的话题导致言之泛泛,我们先设定本文涉及的范围。我们今天讨论只链接进行的大致步骤及其规则、静态链接库与动态链接库的创建和使用这两大块的问题。至于可执行文件的加载、可执行文件的运行时

编译和链接那点事上

http://www.0xffffff.org/?p=323  有位学弟想让我说说编译和链接的简单过程,我觉得几句话简单说的话也没什么意思,索性写篇博文稍微详细的解释一下吧。其实详细的流程在经典的《Linkers and Loaders》和《深入理解计算机系统》中均有描述,也有国产的诸如《程序员的自我修养——链接、装载与库》等大牛著作。不过,我想大家恐怕很难有足够的时间去研读这些厚如

【JVM】JVM栈帧中的动态链接 与 Java的面向对象特性--多态

栈帧 每一次方法调用都会有一个对应的栈帧被压入栈(虚拟机栈)中,每一个方法调用结束后,都会有一个栈帧被弹出。 每个栈帧中包括:局部变量表、操作数栈、动态链接、方法返回地址。 JavaGuide:Java内存区域详解(重点) 动态链接 动态链接:指向运行时常量池中该栈帧所属方法的引用。 多态 多态允许不同类的对象对同一消息做出响应,但表现出不同的行为(即方法的多样性)。 多态

【AI大模型应用开发】2.1 Function Calling连接外部世界 - 入门与实战(1)

Function Calling是大模型连接外部世界的通道,目前出现的插件(Plugins )、OpenAI的Actions、各个大模型平台中出现的tools工具集,其实都是Function Calling的范畴。时下大火的OpenAI的GPTs,原理就是使用了Function Calling,例如联网检索、code interpreter。 本文带大家了解下Function calling,看

外部中断的边缘触发和电平触发

MCS-51单片机中的边缘触发是指当输入引脚电平由高到低发生跳变时,才引起中断。而电平触发是指只要外部引脚为低电平就引起中断。         在电平触发方式下,当外部引脚的低电平在中断服务返回前没有被拉高时(即撤除中断请求状态),会引起反复的不需要的中断,造成程序执行的错误。这类中断方式下,需要在中断服务程序中设置指令,清除外部中断的低电平状态,使之变为高电平。