注册
DM访问Oracle DBLINK配置步骤-2024-10-09
专栏/培训园地/ 文章详情 /

DM访问Oracle DBLINK配置步骤-2024-10-09

晓通 2024/10/10 533 1 0
摘要

一、安装准备

1.1下载Oracle客户端驱动(Instant Client)
1.2本次测试环境:

操作系统版本:Centos7.6
Oracle数据库版本:19.3.0.0.0
DM数据库版本:DM V8.1.0.147
Oracle Instant Client包版本:19.19
数据库字符集:Oracle ZHS16GBK,DM GB18030

二、安装Oracle Instant Client包

2.1上传安装包到服务器,然后创建目录并解压
[root@pgdb ~]# mkdir -p /opt/client/
[root@pgdb ~]# ls
anaconda-ks.cfg  Downloads                                                  Music                   Public
Desktop          hypopg-REL1_STABLE.zip                                     Pictures                Templates
desktop.ini      initial-setup-ks.cfg                                       postgresql-16.2         Videos
Documents        instantclient-basiclite-linux.x64-19.19.0.0.0dbru.el9.zip  postgresql-16.2.tar.gz
[root@pgdb ~]# unzip  instantclient-basiclite-linux.x64-19.19.0.0.0dbru.el9.zip -d  /opt/client/
Archive:  instantclient-basiclite-linux.x64-19.19.0.0.0dbru.el9.zip
  inflating: /opt/client/instantclient_19_19/adrci  
  inflating: /opt/client/instantclient_19_19/BASIC_LITE_LICENSE  
  inflating: /opt/client/instantclient_19_19/BASIC_LITE_README  
  inflating: /opt/client/instantclient_19_19/genezi  
  inflating: /opt/client/instantclient_19_19/libclntshcore.so.19.1  
  linking: /opt/client/instantclient_19_19/libclntsh.so  -> libclntsh.so.19.1 
  linking: /opt/client/instantclient_19_19/libclntsh.so.10.1  -> libclntsh.so.19.1 
2.2把instantclient_19_19文件cp到 dm bin 目录下:这样就不会报
第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[V$VERSION]失败.
已用时间: 00:00:01.219. 执行号:0.
[dmdba@pgdb bin]$ pwd 
/home/dmdba/dmdbms/bin
[dmdba@pgdb bin]$ ls -alt instantclient_19_19/
2.3配置环境变量
[dmdba@pgdb ~]$ cat .bash_profile 
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
export LD_LIBRARY_PATH=$JAVA_HOME/lib/amd64/server:$LD_LIBRARY_PATH
export ORACLE_HOME=/home/dmdba/dmdbms/bin/instantclient_19_19
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
[dmdba@pgdb ~]$ source .bash_profile  --生效

三、通过ORACLE OCI接口的方式访问

上面配置成功完成后,达梦数据库可以使用Oracle OCI接口进行访问。创建语法以及使用方法可以参考《DM8 SQL语言使用手册》外部链接章节。Oracle OCI接口相关动态库文件在instantclient-basic包中,配置好上面的环境变量后可以直接创建DBLINK访问。
---重启数据库加载Oracle OCI驱动

[dmdba@localhost ~]$ cd $DM_HOME/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER restart
[dmdba@localhost bin]$ ./disql
3.1DBLINK创建语句:
SQL> create or replace link LINKORA  connect 'ORACLE' with ttuser identified by oracle using '192.168.137.102:1521/db19c';
操作已执行
已用时间: 12.095(毫秒). 执行号:21.
3.2测试:
create user ttuser identified by oracle;
grant connect,resource  to ttuser ;
conn ttuser /oracle
SQL> conn ttuser /oracle
Connected.
SQL> create table T1
  2  (
  3    name  VARCHAR2(20),
  4    age   INTEGER,
  5    sex   VARCHAR2(3),
  6    grade INTEGER
  7  );

Table created.
SQL> insert into   t1 values('jone',18,'1',10);
commit;
1 row created.

SQL> 

Commit complete.

在dm数据库上执行

SQL> select * from v$version@linkora;

行号     BANNER                                                                
---------- ----------------------------------------------------------------------
           BANNER_FULL                                                                              
           -----------------------------------------------------------------------------------------
           BANNER_LEGACY                                                          CON_ID
           ---------------------------------------------------------------------- ------
1          Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
           Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
           Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 0


已用时间: 14.477(毫秒). 执行号:23.
SQL>
SQL>  select * from  ttuser.T1@LINKORA;

行号     NAME AGE SEX GRADE
---------- ---- --- --- -----
1          jone 18  1   10

已用时间: 6.117(毫秒). 执行号:24.

四、注意事项

4.1、达梦数据库服务器之间通信要通,且防火墙,SELINUX关闭,否则提示如下报错
4.2、oci中so文件需全部拷贝到达梦数据库bin目录中,并且重启达梦数据库,否则提示加载DBLINK的库文件失败。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服