注册
oracle11g到达梦数据库dblink
专栏/技术分享/ 文章详情 /

oracle11g到达梦数据库dblink

小辉辉 2023/09/20 1877 0 0
摘要

Oracle 11g到达梦数据库dblink

1.环境说明

操作系统:麒麟:V10 (SP3) /(Lance)-x86_64-Build20/20221125
源端数据库:oracle 11g
目的端数据库:dm v8.1.2.192

2.下载oracle客户端

到oracle官网下载oci,网址如下:
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

3.上传下载2个文件到/root目录,并且解压到/opt/oracle目录

mkdir -p /opt/oracle
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle
Unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip -d /opt/oracle
Chown -R dmdba:dinstall /opt/oracle

4.安装达梦数据库,这里省略过程,安装目录/home/dmdba/dmdbms/,并且创建实例

5.到oracle客户端目录,创建软连接

cd /opt/oracle/instantclient_11_2
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

6.把/opt/oracle/instantclient_11_2下 .so文件拷贝到/home/dmdba/dmdbms/bin目录,这步加了环境变量也可以省略

cd /opt/oracle/instantclient_11_2
cp *.so /home/dmdba/dmdbms/bin

7.配置环境变量

vi /home/dmdba/.bash_profile
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/opt/oracle/instantclient_11_2:/home/dmdba/dmdbms/bin”
export ORACLE_HOME=”/opt/oracle/instantclient_11_2”
export PATH=$ORACLE_HOME:$LD_LIBRARY_PATH:$DM_HOME/bin

8.测试sqlplus是否正常登录oracle数据库,出现报错和创建oci连接库文件加载失败,如下图所示:

image.png

解决方法:
缺少依赖包和升级数据库文件
mkdir /rpm
yum instal --downloadonly --downloaddir=/rpm libnsl*
如果内网没有网络,可以外网搭建一台相同的操作系统,然后把把依赖包下载到/rpm目录下拷贝到内网。
cd /rpm
rpm -Uvh *.rpm ---安装和升级依赖包,依赖包如下
image.png

8.正常创建外部DBLINK链接

create public link "t2" connect 'ORACLE' with "test1" identified by "test123456" using '192.168.0.114/orcl';

9.执行dblink查询会话会自动断开,检查日志报错是用户名或者密码错误,错误如下:

image.png
方法:
创建dblink的时候用户名一定要大写,如果是小写的话查询会自动断开,
create public link "t2" connect 'ORACLE' with "TEST1" identified by "test123456" using '192.168.0.114/orcl';
image.png

10.查询的表名不能为小写,不然会显示表不存在;

image.png
方法:把表名修改成大写
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服