要创建到 ORACLE 的外部链接,可以使用配置的网络服务名 <tsn_name>;如果没有配置 tsn_name,可以使用连接描述符 <description>或者 <IP 地址 >/< 服务名 > 作为连接串。
要创建到 ORACLE 的外部链接,需要在当前机器安装 ORACLE 的 OCI 接口,且需要保证 OCI 接口与 DM 版本在 32 位/64 位保持一致。
以下为创建外部链接过程案例。
源数据库:DM8
目标数据库:ORACLE 11.0.2.4
如从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
配置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目录配置到以下文件中:
如果是dmdba用户启动数据库(DmServiceDMSERVER start),以上配置不是必需的,配置后重启数据库实例。
[dmdba@db1 ~]$ cd dmdbms/bin
[dmdba@db1 bin]$ ./DmServiceDMSERVER start
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
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
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语句中。
返回记录则说明链接正常:
SQL> SELECT * FROM DUAL@DM_TO_ORA_1;
行号 DUMMY
1 X
达梦在线服务平台 https://eco.dameng.com
文章
阅读量
获赞