目录
1、概述
2、测试环境
3、语法简介
4、配置访问DM的DBLINK
5、配置访问ORACLE的DBLINK
5.1 通过OCI配置
5.2 通过ODBC配置
1、概述
本文介绍了达梦DBLINK的配置方法。有3部分内容,1)达梦访问到达梦的配置方法;2)通过OCI方式访问ORACLE的配置方法;3)通过ODBC方式访问ORACLE的配置方法。
2、测试环境
操作系统:CentOS7.6
达梦数据库版本:DM8_20240712
ORACLE版本:19c
Oracle Instant Client包版本:19.19
ODBC版本:2.3.12
3、语法简介
语法格式:
CREATE [OR REPLACE] [PUBLIC] LINK [IF NOT EXISTS] <外部链接名> CONNECT ['<连接库类型>'] WITH <登录名> IDENTIFIED BY <登录口令> USING '<外部连接串>' [<OPTION 子句>]
参数:
1)外部链接名: 数据库链接的名称
2)连接库类型:目前只支持 DPI、ODBC、DAMENG 或 ORACLE,默认为 DPI。DPI和DAMENG 用于连接达梦数据库;ODBC 可以连接所有支持 ODBC 协议的数据库。ORACLE用于连接 ORACLE 数据库
3)外部链接串:
<DPI外部链接串>通过DPI接口访问远程达梦数据库,不需要进行额外配置;
<ODBC外部链接串>ODBC数据源DSN需要用户手动配置;
<DAMENG外部链接串>通过MAL系统访问远程达梦数据库,需要配置DMMAL.INI;
<ORACLE外部链接串>可以使用配置的网络服务名tsn_name(网络服务名需要配置),
或者连接描述符description(连接描述符是网络连接目标特殊格式的描述,它包
括网络协议、主库IP地址、端口号和服务名),或者<IP地址>/<服务名>;
4、配置访问DM的DBLINK
1)创建DBLINK
CREATE PUBLIC LINK LINK_DM129 CONNECT 'DPI' WITH USER1 IDENTIFIED BY Dameng123 USING '192.168.220.129:6347';
2)在远端DM库造测试数据
create table USER1.TB_TEST3
(
C1 VARCHAR(10));
INSERT INTO USER1.TB_TEST3 VALUES('AA');
COMMIT;
3)测试DBLINK
SELECT * from tb_test3@LINK_DM129;
配置成功
5、配置访问ORACLE的DBLINK
5.1 通过OCI访问
1)安装Oracle Instance Client包
到oracle官网下载Oracle Instance Client包:
https://www.oracle.com/database/technologies/instant-client/downloads.html
开始安装
mkdir /app/oracle19
unzip /app/instantclient-basic-linux.x64-19.19.0.0.0dbru.el9.zip -d /app/oracle19
查看安装路径
ls /app/oracle19
安装路径为:/app/oracle19/instantclient_19_19
2)配置LD_LIBRARY_PATH环境变量
vi /home/dmdba/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/oracle19/instantclient_19_19
3)重启达梦
DmServiceDMSERVER restart
4)建DBLINK
通过连接描述符创建
CREATE OR REPLACE LINK LINK_ORACLE130 CONNECT 'ORACLE' WITH system IDENTIFIED BY system123 USING
'(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.130)(PORT =1521)))
(CONNECT_DATA = (SERVICE_NAME = ORCLPDB1) )
)';
5)在oracle创建测试数据
CREATE TABLE TB_TEST01
(
C1 VARCHAR2(10),
C2 VARCHAR2(10)
);
INSERT INTO TB_TEST01 VALUES('111','aaa');
INSERT INTO TB_TEST01 VALUES('222','bbb');
COMMIT;
6)测试DBLINK
select * from tb_test01@LINK_ORACLE130;
配置成功
5.2 通过ODBC访问
1)安装oracle odbc驱动包
下载地址同5.1节
开始安装
unzip /app/instantclient-odbc-linux.x64-19.19.0.0.0dbru.el9.zip -d /app/oracle19
2)配置tnsnames.ora
vi /app/oracle19/instantclient_19_19/network/admin/tnsnames.ora
ORA130 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.130)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB1)
)
)
3)配置配置TNS_ADMIN系统环境变量
vi /home/dmdba/.bash_profile
export TNS_ADMIN=/app/oracle19/instantclient_19_19/network/admin
4)安装ODBC
tar -zxvf unixODBC-2.3.12.tar.gz
cd unixODBC-2.3.0/
./configure
make
make install
#查看
odbcinst -j
5)配置odbcinst.ini
vi /usr/local/etc/odbcinst.ini
[OracleODBC19]
Description = Oracle ODBC Driver
Driver = /app/oracle19/instantclient_19_19/libsqora.so.19.1
6)配置odbc.ini
vi /usr/local/etc/odbc.ini
[ORA130]
DSN = ORA130
Driver =OracleODBC19
ServerName = ORA130 ---tnsnames.ora
7)测试odbc
su - dmdba
isql -v ORA130 system system123
odbc配置成功
8)创建DBLINK
create link LINK_ODBC_ORA130 connect 'ODBC' with system identified by system123 using 'ORA130';
9)重启达梦数据库
DmServiceDMSERVER restart
10)测试
select * from tb_test01@LINK_ODBC_ORA130;
配置成功,本文结束!
2024.10.10