目录
2. 修改两台机器的dm.ini文件中MAL_INI参数,改为1
一、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
使用地址http://www.unixodbc.org/可下载unixODBC源码包
下载完成后将包上传至源数据库服务器/opt目录,执行如下命令解压文件:
[root@localhost opt]# tar -zxvf unixODBC-2.3.11.tar.gz
[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
[root@localhost unixODBC-2.3.11]# odbc_config --version
3. 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