你需要连接 Oracle 11g,核心差异在于Oracle Instant Client 版本要匹配 11g(需下载 11.2 版本),且配置细节有小幅调整,下面是适配 Oracle 11g 的完整操作步骤(基于你的 x86_64 银河麒麟 V10 环境):
一、核心前提
Oracle 11g 对应的 Instant Client 版本是11.2(需下载 Linux x86_64 架构的 11.2 版本,而非 19c),下载地址可从 Oracle 官网获取instantclient-basic-linux.x64-11.2.0.4.0.zip。
通过网盘分享的文件:instantclient-basic-linux.x64-11.2.0.4.0.zip
链接: https://pan.baidu.com/s/1YYavrySrxoC3y8uUlq2FYg 提取码: idm4
二、适配 Oracle 11g 的完整操作步骤
su - dmdba
mkdir -p /app/oracle11g
cd /app/oracle11g
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
ls /app/oracle11g/instantclient_11_2
export ORACLE_HOME=/app/oracle11g/instantclient_11_2
export LD_LIBRARY_PATH=ORACLEHOME:LD_LIBRARY_PATH
export PATH=ORACLEHOME:PATH
source ~/.bash_profile
echo $ORACLE_HOME # 应输出 /app/oracle11g/instantclient_11_2
3. 检查依赖并创建软链接(11g 专属)
bash
cd /app/oracle11g/instantclient_11_2
ldd libclntsh.so.11.1
ln -s libclntsh.so.11.1 libclntsh.so
ls -l libclntsh.so # 应显示指向 libclntsh.so.11.1
4. 重启达梦服务(使 OCI 配置生效)
bash
exit
systemctl restart DmServiceDMSERVER.service
systemctl status DmServiceDMSERVER.service
5. 创建并测试 Oracle 11g 的 DBLINK
登录达梦 disql,注意 Oracle 11g 的连接串格式(11g 常用 SID 而非服务名):
sql
– 登录达梦
disql SYSDBA/SYSDBA@localhost:5236
– 创建DBLINK(重点:11g连接串用 SID 格式,而非服务名)
CREATE LINK “SYSDBA”.“ORACLE_11G_TEST”
CONNECT ‘ORACLE’ WITH “你的Oracle用户名” IDENTIFIED BY “你的Oracle密码”
USING ‘Oracle服务器IP:1521/你的Oracle SID’; – 例:192.168.1.100:1521/orcl(orcl是11g的SID)
– 测试连接(查询Oracle 11g的系统时间)
SELECT sysdate FROM DUAL@ORACLE_11G_TEST;
– 若返回时间,说明11g DBLINK创建成功
三、Oracle 11g 连接的关键注意事项
版本匹配:必须用 11.2 版本的 Instant Client,用 19c 连接 11g 会出现 “OCI 版本不兼容” 报错;
连接串格式:Oracle 11g 默认用 SID(如 orcl),而非 12c + 的服务名(如 orclpdb),创建 DBLINK 时USING子句要写对;
依赖补充:麒麟 V10 x86_64 连接 11g 可能缺失libstdc++.so.6,执行以下命令安装:
bash
yum install -y libstdc+±devel compat-libstdc+±33
总结
连接 Oracle 11g 需下载11.2 版本 x86_64 的 Instant Client,而非 19c 版本;
环境变量和软链接需指向instantclient_11_2目录下的libclntsh.so.11.1;
DBLINK 的USING子句要使用 Oracle 11g 的SID,而非服务名格式。https://www.doubao.com/thread/w259642a6fd255580
文章
阅读量
获赞
