暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux dm到dm的dblink

原创 wen 2022-08-30
1480

目录

一、 DPI方式创建dblink

1. 环境信息

2. 创建dblink

3. 验证dblink的连通性

二. MAL方式创建dblink

1.环境信息

2. 修改两台机器的dm.ini文件中MAL_INI参数,改为1

3.创建dmmal.ini文件

4.重启数据库实例

5.创建dblink

6.验证dblink的连通性

三. ODBC方式创建dblink

1.环境信息

2. 安装odbc

1).上传odbc包并解压

2).编译ODBC,需要gcc环境

3).查看ODBC版本:

3. ODBC的配置

4. 创建dblink

5. 验证dblink的连通性

报错

解决方法

 

 

一、DPI方式创建dblink

1. 环境信息

 

操作系统

Centos 8

达梦版本

DM8 x64

达梦版本

DM8 x64

 

IP地址:

源端DM

192.168.50.131

目的端DM

192.168.50.135

 

2. 创建dblink

在源端DM上执行下面脚本:

create public link "dmlink" connect 'DPI' with "SYSDBA" identified by "SYSDBA" using '192.168.50.135:5236';

 

3. 验证dblink的连通性

 

目的端查询


 

源端查询

select *  from test@dmlink


二.MAL方式创建dblink

1.环境信息

操作系统

Centos 8

达梦版本

DM8 x64

达梦版本

DM8 x64

 

IP地址:

源端DM

192.168.50.131

目的端DM

192.168.50.135

 

2. 修改两台机器的dm.ini文件中MAL_INI参数,改为1


 

3.创建dmmal.ini文件

注:两台机器的dmmal.ini文件必须一致

[mal_inst1]

mal_inst_name  = test1

mal_inst_host = 192.168.50.131

mal_inst_port = 5236

mal_host = 192.168.50.131

mal_port = 9344

 

[mal_inst2]

mal_inst_name  = test2

mal_inst_host = 192.168.50.135

mal_inst_port = 5236

mal_host = 192.168.50.135

mal_port = 9344

 

4.重启数据库实例

源端DM


目的端DM


 

5.创建dblink

CREATE PUBLIC LINK mallink CONNECT  WITH SYSDBA IDENTIFIED BY SYSDBA USING '192.168.50.135/5236';

 

6.验证dblink的连通性

 

目的端查询


 

源端查询

select *  from test@mallink


 

三.ODBC方式创建dblink

 

1.环境信息

操作系统

Centos 8

达梦版本

DM8 x64

达梦版本

DM8 x64

 

IP地址:

源端DM

192.168.50.131

目的端DM

192.168.50.135

 

 

2. 安装odbc

在源端DM上安装odbc

1).上传odbc包并解压

使用地址http://www.unixodbc.org/可下载unixODBC源码

下载完成后将包上传至源数据库服务器/opt目录,执行如下命令解压文件:

[root@localhost opt]# tar -zxvf  unixODBC-2.3.11.tar.gz


2).编译ODBC,需要gcc环境

[root@localhost unixODBC-2.3.11]#./configure --enable-gui=no

[root@localhost unixODBC-2.3.11]#  make

[root@localhost unixODBC-2.3.11]#  make install

 

3).查看ODBC版本:

[root@localhost unixODBC-2.3.11]# odbc_config --version


 

3. ODBC的配置

查看ODBC配置文件的路径

[root@localhost ~]#  odbcinst -j


 

配置ODBC文件:
odbc.ini和odbcinst.ini

[root@localhost ~]# cat /usr/local/etc/odbc.ini

[dm8]

Description=DM ODBC DSND

Driver= DM8 ODBC DRIVER

SERVER=192.168.50.135

UID=SYSDBA

PWD=SYSDBA

TCP_PORT=5236

[root@localhost ~]# cat /usr/local/etc/odbcinst.ini

[DM8 ODBC DRIVER]

Description=ODBC DRIVER FOR DM8

DRIVER=/home/dmdba/dmdbms/bin/libdodbc.so

 

切换到dmdba用户下:

[dmdba@localhost ~]$ isql dm8

+---------------------------------------+

| Connected!                            |

|                                       |

| sql-statement                         |

| help [tablename]                      |

| echo [string]                         |

| quit                                  |

|                                       |

+---------------------------------------+

SQL>

 

查看实例名,是我们配置相对应的实例名,配置成功

select name from v$instance;


 

4. 创建dblink

create PUBLIC link odbclink connect 'ODBC' with SYSDBA identified by SYSDBA using 'dm8';

 

 

5. 验证dblink的连通性

目的端查询


 

源端查询

select *  from test@odbclink


 

 

报错


 

解决方法

将解压后的ODBC目录下的所有.so文件复制到…/dmdbms/bin目录下,再次查询,成功!

 

[root@localhost unixODBC-2.3.11]# find ./ -name *.so

./cur/.libs/libodbccr.so

./odbcinst/.libs/libodbcinst.so

./DriverManager/.libs/libodbc.so

 

[root@localhost unixODBC-2.3.11]# cp ./DriverManager/.libs/libodbc.so /home/dmdba/dmdbms/bin

[root@localhost unixODBC-2.3.11]# cp ./cur/.libs/libodbccr.so /home/dmdba/dmdbms/bin

[root@localhost unixODBC-2.3.11]# cp ./odbcinst/.libs/libodbcinst.so /home/dmdba/dmdbms/bin

 

 

最后修改时间:2022-08-30 14:10:29
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论