注册
达梦数据库到ORACLE外部链接配置
技术分享/ 文章详情 /

达梦数据库到ORACLE外部链接配置

ZCH 2023/06/16 3518 0 0

1 DM到ORACLE外部链接说明

要创建到 ORACLE 的外部链接,可以使用配置的网络服务名 <tsn_name>;如果没有配置 tsn_name,可以使用连接描述符 <description>或者 <IP 地址 >/< 服务名 > 作为连接串。
要创建到 ORACLE 的外部链接,需要在当前机器安装 ORACLE 的 OCI 接口,且需要保证 OCI 接口与 DM 版本在 32 位/64 位保持一致。
以下为创建外部链接过程案例。

2 配置DM到ORACLE外部链接

2.1 环境说明

源数据库:DM8
目标数据库:ORACLE 11.0.2.4

2.2 ORACLE客户端准备

如从oracle官网下载instantclient_19_18版本(向下兼容)文件:
instantclient-basiclite-linux.x64-19.18.0.0.0dbru.zip
instantclient-sqlplus-linux.x64-19.18.0.0.0dbru.zip
instantclient-tools-linux.x64-19.18.0.0.0dbru.zip
以上压缩包解压后在同一目录instantclient_19_18,如放置于dmdba家目录:/home/dmdba/instantclient_19_18

2.3 配置ORACLE客户端环境变量

配置dmdba 用户环境变量:

[dmdba@db1 ~]$ vi .bash_profile 
export ORACLE_HOME=/home/dmdba/instantclient_19_18
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export PATH=$ORACLE_HOME:$PATH

[dmdba@db1 ~]$ source .bash_profile

如果是用root 运行服务方式启数据库(systemctl start DmServiceDMSERVER),请将ORACLE_HOME目录配置到以下文件中:

echo /home/dmdba/instantclient_19_18 > /etc/ld.so.conf.d/oracle-instantclient.conf

ldconfig

如果是dmdba用户启动数据库(DmServiceDMSERVER start),以上配置不是必需的,配置后重启数据库实例。
[dmdba@db1 ~]$ cd dmdbms/bin
[dmdba@db1 bin]$ ./DmServiceDMSERVER start

2.4 创建链接

2.4.1 方式一:使用TNS服务名

SQL> create or replace public link DM_TO_ORA_1 connect 'ORACLE' with TEST identified by 123456 using 'ORADB';
创建链接语句如上,其中ORADB对应$ORACLE_HOME/network/admin/tnsnames.ora 中的配置,如:
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.228.31)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb1)
)
)

确保以下sqlplus验证没问题,再验证link。
sqlplus TEST/123456@ORADB

2.4.2 方式二:使用IP:端口/服务名

SQL> create or replace public link DM_TO_ORA_2 connect 'ORACLE' with TEST identified by 123456 using '192.168.228.31:1521/ORADB1';
创建链接语句如上,确保以下sqlplus验证没问题,再验证link。
sqlplus TEST/123456@192.168.228.31:1521/ORADB1

2.4.3 方式三:使用连接描述符

SQL> create or replace public link DM_TO_ORA_3 connect 'ORACLE' with TEST identified by 123456 using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.228.31)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb1)
(SERVER = DEDICATED)
)
)';

创建链接语句如上,即直接将TNS中的描述串写在创建link语句中。

2.5 验证链接

返回记录则说明链接正常:
SQL> SELECT * FROM DUAL@DM_TO_ORA_1;
行号 DUMMY


1 X

达梦在线服务平台 https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服