linux oracle 重启_「运维实验」——达梦数据库DBlink连接Oracle配置

df9dd68f835f0be98d6923d07a2688a2.png

经过昨天达梦数据库间DBlink配置(具体操作可回看上一篇文章),今天做延伸实验。

实验环境说明

Oracle数据库1:192.168.80.40 ora11g RHEL 6.5 64位

达梦数据库1:192.168.80.41 DMSERVER2 RHEL 6.5 64位

oracle数据库版本:oracle 11.2.0.4

达梦数据库版本:DM Database Server x64 V7.1.5.117-Build(2016.09.29-73607)ENT

要求具备条件1: Oracle数据库能对外提供服务,可以通过客户端以及中间件配置,测试验证数据库能对外提供服务。

要求具备条件2: 两台服务器之间能正常访问,且防火墙关闭,SELINUX均为关闭。

要求具备条件3:达梦数据库版本要求,尽量为实验测试的版本,实验版本之前的版本出现严重的BUG,在进行DBLINK查询时,达梦数据库会宕机,出现以下错误提示:

9c05eeeae21af9db0d83f427124cdb37.png

说明:oracle单实例与集群测试均未有差别,如果集群RAC配置了scan IP,则可以使用scan IP地址来创建DBLINK,如未配置,则使用其中一个节点IP均可。

实验步骤

1、下载OCI ,并安装在达梦服务器

异构数据库之间的访问比同一数据库产品要复杂的多,由于Oralce数据库并没有对达梦数据库的兼容性,达梦数据库创建的dblink是无法直接访问到oralce数据库的,但达梦可以通过Oracle数据库提供OCI组件访问到oralce数据库

在ORACLE官网中下载OCI ,如下链接:

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

下载与数据库版本一致的OCI,此实验我下载的版本为:11.2.0.4版本OCI下载的OCI包,最好包含basic ,sqlplus ,sdk 并将它上传到达梦数据库所在的服务器上,如下:

-rwxr-xr-x. 1 root root 834491 11月 22 2016 instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

-rwxr-xr-x. 1 root root 643089 11月 22 2016 instantclient-sdk-linux.x64-11.2.0.4.0.zip

-rwxr-xr-x. 1 root root 60704657 11月 22 2016 instantclient-basic-linux.x64-11.2.0.4.0.zip

所谓安装,即解压即可,在生成的instantclient_11_2 目录中包含了达梦数据库所需要的DBLINK与oralce数据库连接的加载文件。

[root@oracleadg2 instantclient_11_2]# pwd

/dameng7/instantclient_11_2

[root@oracleadg2 instantclient_11_2]# ls -l

总用量 186444

-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

-r-xr-xr-x 1 root root 368 8月 25 2013 glogin.sql

-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-xr-xr-x 1 root root 1502287 8月 25 2013 libsqlplusic.so

-r-xr-xr-x 1 root root 1469542 8月 25 2013 libsqlplus.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

-r-xr-xr-x 1 root root 9320 8月 25 2013 sqlplus

-rw-rw-r-- 1 root root 443 8月 25 2013 SQLPLUS_README

-rwxrwxr-x 1 root root 192365 8月 25 2013 uidrvci

-rw-rw-r-- 1 root root 66779 8月 25 2013 xstreams.jar

2、配置达梦连接Oracle数据库的dblink加载库环境

将上一步解压出来的so文件复制拷贝到达梦数据库所在的bin目录下:

[dmdba@oracleadg2 bin]$ cp /dameng7/instantclient_11_2/*.so* ./

使用dmdba的帐号

-rwxr-xr-x 1 dmdba dinstall 19791 10月 25 20:16 rac_reinit

-rwxr-xr-x 1 dmdba dinstall 186016 10月 25 20:17 libdodbc.so

-rwxr-xr-x 1 dmdba dinstall 6634 10月 25 20:17 DmAuditMonitor

-rwxr-xr-x 1 dmdba dinstall 6589 10月 25 20:17 DmJobMonitor

-rwxr-xr-x 1 dmdba dinstall 6392 10月 25 20:17 DmInstanceMonitor

lrwxrwxrwx 1 dmdba dinstall 14 10月 25 20:17 libxqilla.so.3 -> libxqilla23.so

drwxr-xr-x 2 dmdba dinstall 4096 10月 25 20:17 lib

drwxr-xr-x 2 dmdba dinstall 4096 10月 25 20:55 pids

-rwxr-xr-x 1 dmdba dinstall 53865194 10月 25 23:41 libclntsh.so.11.1

-r-xr-xr-x 1 dmdba dinstall 7996693 10月 25 23:41 libnnz11.so

-rwxr-xr-x 1 dmdba dinstall 1973074 10月 25 23:41 libocci.so.11.1

-rwxr-xr-x 1 dmdba dinstall 118738042 10月 25 23:42 libociei.so

-r-xr-xr-x 1 dmdba dinstall 164942 10月 25 23:42 libocijdbc11.so

-r-xr-xr-x 1 dmdba dinstall 1502287 10月 25 23:42 libsqlplusic.so

-r-xr-xr-x 1 dmdba dinstall 1469542 10月 25 23:42 libsqlplus.so

将libclntsh.so.11.1 复制一个名字为:libclntsh.so ,也可以对这个文件创建一个软链接,名字为:libclntsh.so,个人使用前面的方法。

-rwxr-xr-x 1 dmdba dinstall 6392 10月 25 20:17 DmInstanceMonitor

lrwxrwxrwx 1 dmdba dinstall 14 10月 25 20:17 libxqilla.so.3 -> libxqilla23.so

drwxr-xr-x 2 dmdba dinstall 4096 10月 25 20:17 lib

drwxr-xr-x 2 dmdba dinstall 4096 10月 25 20:55 pids

-rwxr-xr-x 1 dmdba dinstall 53865194 10月 25 23:41 libclntsh.so.11.1

-r-xr-xr-x 1 dmdba dinstall 7996693 10月 25 23:41 libnnz11.so

-rwxr-xr-x 1 dmdba dinstall 1973074 10月 25 23:41 libocci.so.11.1

-rwxr-xr-x 1 dmdba dinstall 118738042 10月 25 23:42 libociei.so

-r-xr-xr-x 1 dmdba dinstall 164942 10月 25 23:42 libocijdbc11.so

-r-xr-xr-x 1 dmdba dinstall 1502287 10月 25 23:42 libsqlplusic.so

-r-xr-xr-x 1 dmdba dinstall 1469542 10月 25 23:42 libsqlplus.so

-rwxr-xr-x 1 dmdba dinstall 53865194 10月 25 23:45 libclntsh.so

注意:有些文档或达梦论坛上有建议复制拷贝在主机的/lib64目录下,但个人测试过几次,发现没有效果。

3、重启达梦数据库

具备上一步条件后,重启达梦数据库,重启步骤省略。重启达梦数据库的目的是为了达梦数据库能加载到DBLINK访问Oracle数据库所需要的文件,否则在查询DBLINK时,提示如下信息:

SQL> select * from emp@ceshi;

select * from emp@ceshi;

第1 行附近出现错误[-2245]:DBLINK加载库文件失败.

已用时间: 0.751(毫秒). 执行号:4.

另外经过多次验证,客户端软件OCI删除后,如果达梦数据库不重启还是可以用,如果重启了数据库,则需要重新配置,建议将oci中全部so文件拷贝过去,尚未验证具体需要那些so 。

4、创建DBLINK,并测试

登录到达梦数据库,创建dblink 并查询oralce数据库中scott用户下的表信息。

[root@oracleadg2 ~]# /dameng7/dmdbms/bin/disql sysdba/oracle

服务器[LOCALHOST:5236]:处于普通打开状态

使用普通用户登录

登录使用时间: 81.288(毫秒)

disql V7.1.5.117-Build(2016.09.29-73607)ENT

Connected to: DM 7.1.5.117

SQL> create or replace link ceshi connect 'ORACLE' with SCOTT identified by "tiger" using '(DESCRIPTION =

2 (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.40)(PORT = 1521)))

3 (CONNECT_DATA = (SERVICE_NAME = ora11g)))';

操作已执行

已用时间: 61.119(毫秒). 执行号:8.

SQL> select * from emp@ceshi;

行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

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

1 7369 SMITH CLERK 7902 1980-12-17 00:00:00 800.00 NULL 20

2 7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600.00 300.00 30

3 7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250.00 500.00 30

4 7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975.00 NULL 20

5 7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250.00 1400.00 30

6 7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850.00 NULL 30

7 7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450.00 NULL 10

8 7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000.00 NULL 20

9 7839 KING PRESIDENT NULL 1981-11-17 00:00:00 5000.00 NULL 10

10 7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500.00 0 30

11 7876 ADAMS CLERK 7788 1987-05-23 00:00:00 1100.00 NULL 20

行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

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

12 7900 JAMES CLERK 7698 1981-12-03 00:00:00 950.00 NULL 30

13 7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000.00 NULL 20

14 7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300.00 NULL 10

14 rows got

已用时间: 105.881(毫秒). 执行号:9.

测试成功

注意事项

1、达梦数据库服务器之间通信要通,且防火墙,SELINUX关闭,否则提示如下报错

SQL> select * from v$version@LINK02;

select * from v$version@LINK02;

第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.

已用时间: 26.456(毫秒). 执行号:5.

oci中so文件需全部拷贝到达梦数据库bin目录中,并且重启达梦数据库,否则提示加载DBLINK的库文件失败。

SQL> select * from emp@ceshi;

select * from emp@ceshi;

第1 行附近出现错误[-2245]:DBLINK加载库文件失败.

已用时间: 0.751(毫秒). 执行号:4.

3、、注意SQL串中用户为大写,否则提示如下错误信息:

SQL> select * from v$version@LINK02;

select * from v$version@LINK02;

第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.

已用时间: 26.456(毫秒). 执行号:5.

END

69aaa1cac186e922f42e697598d52a6e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值