1.配置DM到ORACLE外部链接
1.1环境
数据库:DM8
系统:linux
1.2 ORACLE客户端准备
如从oracle官网下载instantclient_19_19版本(向下兼容)文件:
instantclient-basiclite-linux.x64-19.19.0.0.0dbru.zip
instantclient-sqlplus-linux.x64-19.19.0.0.0dbru.zip
instantclient-tools-linux.x64-19.19.0.0.0dbru.zip
以上压缩包解压后在同一目录instantclient_19_19,如放置于dmdba家目录:/home/dmdba/instantclient_19_19
也可以在百度网盘下载
链接:https://pan.baidu.com/s/1Q_1qEFcx4YrjpQvv82qe6w
提取码:CXW1
1.3 配置环境变量
su dmdba
[dmdba@db1 ~]$ vi .bash_profile
export ORACLE_HOME=/home/dmdba/instantclient_19_19
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
1.4 使用dmdba用户重启数据库
// 找到达梦的安装目录
[dmdba@db1 ~]$ cd dmdbms/bin
// 有可能安装的版本不一致启动名称也不一致 可以./DmS 然后点Tab补全
[dmdba@db1 bin]$ ./DmServiceDMSERVER stop
[dmdba@db1 bin]$ ./DmServiceDMSERVER start
1.5 使用 sqlplus 验证一下连接
// 去19目录
cd /home/dmdba/instantclient_19_19
sqlplus a2auth/xxxxx@10.xxx.xxx.13:1521/a2auth;
报错: salplus: error while loading shared libraries: libnsl.so.1: cannot open shared obiect file: Nosuch file or directory
执行这段代码就可以
find / -name "libnsl'
yum install libns1
再次执行sqlplus a2auth/xxxxx@10.xxx.xxx.13:1521/a2auth;这个就可以测试通不通了
2.1 在达梦上创建dblink连接
2.1.1 方式一 使用IP:端口/服务名 (推荐)
// 进入达梦
./disql SYSDBA/SYSDBA
// 创建语句如下 DM_TO_ORA_1 为dblink名称 ORACLE 为源 TEST为ORACLE账号123456密码
SQL> create or replace public link DM_TO_ORA_2 connect 'ORACLE' with TEST identified by 123456 using '192.168.228.31:1521/ORADB1';
2.1.2 方式二 使用连接描述符
// DM_TO_ORA_3 dblink名称 ORACLE:源 TEST账号
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)
)
)';
2.2 验证
我这边dblink创建的名称为ORACLE
显示加载文件失败
cd /home/dmdba/instantclient_19_19/
history grepl "source"
grepl "soruce"
source /home/dmdba/instantclient_19_19/.bash profile
cd /home/dmdba/dm/dmdbms/bin
./DmServiceDMSERVER stop
./DmserviceDMSERVER start
重启之后再执行就可以使用了