注册
创建DBLINK从dm连接oracle(oci)
专栏/培训园地/ 文章详情 /

创建DBLINK从dm连接oracle(oci)

LWR 2025/03/27 30 0 0
摘要

一、环境信息

操作系统版本 X86-Kylin Linux Advanced Server release V10
DM数据库版本 03134284058-20230614-193125-20046
oracle版本 Oracle Database 11g Release 11.2.0.1.0
Oracle Instant Client包版本 instantclient-basic-linux.x64-11.2.0.4.0

glibc版本:

[root@dmkylin ~]# rpm -qi glibc
Name        : glibc
Version     : 2.28
Release     : 88.p06.ky10
Architecture: x86_64

libaio包版本:

[root@dmkylin ~]# rpm -qa|grep libaio
libaio-0.3.112-1.p01.ky10.x86_64

二、安装步骤

2.1上传解压Oracle客户端压缩包

mkdir -p /home/dmdba/oracle
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle

2.2创建软连接

因为我这里是11.2版本包,所以要手动创建libclntsh.so、libocci.so动态库的软连接

[root@dmkylin instantclient_11_2]# ll
总用量 183520
-rwxrwxr-x 1 root root     25420  8月 25  2013 adrci
-rw-rw-r-- 1 root root       439  8月 25  2013 BASIC_README
-rwxrwxr-x 1 root root     47860  8月 25  2013 genezi
-rwxrwxr-x 1 root root  53865194  8月 25  2013 libclntsh.so.11.1
-r-xr-xr-x 1 root root   7996693  8月 25  2013 libnnz11.so
-rwxrwxr-x 1 root root   1973074  8月 25  2013 libocci.so.11.1
-rwxrwxr-x 1 root root 118738042  8月 25  2013 libociei.so
-r-xr-xr-x 1 root root    164942  8月 25  2013 libocijdbc11.so
-r--r--r-- 1 root root   2091135  8月 25  2013 ojdbc5.jar
-r--r--r-- 1 root root   2739616  8月 25  2013 ojdbc6.jar
-rwxrwxr-x 1 root root    192365  8月 25  2013 uidrvci
-rw-rw-r-- 1 root root     66779  8月 25  2013 xstreams.jar

[root@dmkylin instantclient_11_2]# ln -s libclntsh.so.11.1 libclntsh.so
[root@dmkylin instantclient_11_2]# ln -s libocci.so.11.1 libocci.so

2.3配置LD_LIBRARY_PATH环境变量

这里修改的是dmdba用户下的环境变量

vi /home/dmdba/.bash_profile

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/oracle/instantclient_11_2"

source /home/dmdba/.bash_profile

2.4DM数据库配置dblink

disql  SYSDBA/xxxxx@xxxx:5236

SQL> create link "ORALINK" connect 'ORACLE' with "SCOTT" identified by "SCOTT"  using '192.168.20.55:1521/orcl';
操作已执行
已用时间: 12.091(毫秒). 执行号:2601.


2.5测试结果

oracle建表

Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL> conn SCOTT/SCOTT
已连接。
SQL>
SQL>
SQL> create table SCOTT.TEST
  2  (
  3    name  VARCHAR2(20),
  4    create_time  VARCHAR2(40)
  5  );

表已创建。

SQL>
SQL>
SQL> insert into SCOTT.TEST VALUES ('LIUWENRUI','20230718');

已创建 1 行。

登录DM数据库使用dblink进行查询

SQL>select * from TEST@oralink;
SQL> select * from SCOTT.TEST;

NAME                 CREATE_TIME

-------------------- ----------------------------------------

LIUWENRUI            20230718

问题总结:

当使用dblink查询时报DBLINK加载库文件失败:

1、检查DM数据库在配置好后是否重启,重新加载oracle oci依赖文件

2、检查环境变量是否配置成功

3、检查ld.so.conf依赖库配置情况ev|grep LD_LIBRARY_PATH

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服