Oracle使用dblink连接MySQL以及遇到的一些问题
防爬虫:https://www.cnblogs.com/PiscesCanon/p/16977636.html
主要参考了mos文档:Detailed Overview of Connecting Oracle to MySQL Using DG4ODBC Database Link (文档 ID 1320645.1)
但实际上文档个人觉得还不算特别详细,而且unixODBC实际是可以不用编译安装的,减少改动风险。
其中,涉及了一些概念:| [ORACLE] <---> [DG4ODBC] <---> [ODBC Driver Manager] <---> [ODBC Driver] |
先按照文档步骤来,根据需要会做些改动。
步骤1.确定[Oracle] and [DG4ODBC]位数
[oracle@qadb ~]$ file $ORACLE_HOME/bin/dg4odbc
/u01/app/oracle/product/11.2.0/db_1/bin/dg4odbc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=8f5a341e1cb474a4aabc76f1c3ba26d70be2d2a5, not stripped
现在应该基本都是64位了吧。
步骤2.安装ODBC Driver Manager
官网:http://www.unixodbc.org/
文档一句话带过,就让你安装配置ODBC Driver Manager。
目前下载最新安装包为:unixODBC-2.3.11.tar.gz,跟Nginx,openssh之类的一样是需要编译安装的,
但是实际上Oracle服务器,比如11G版本的Oracle是要求安装:传送门,引用关键信息如下:
-
On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:
unixODBC-2.2.14-11.el6 (x86_64) or later unixODBC-2.2.14-11.el6.i686 or later unixODBC-devel-2.2.14-11.el6 (x86_64) or later unixODBC-devel-2.2.14-11.el6.i686 or later
-
On Oracle Linux 7, and Red Hat Enterprise Linux 7:
unixODBC-2.3.1-6.el7.x86_64 or later unixODBC-2.3.1-6.el7.i686 or later unixODBC-devel-2.3.1-6.el7.x86_64 or later unixODBC-devel-2.3.1-6.el7.i686 or later
因此,ODBC Driver Manager在一台正常运行的Oracle服务器上已经默认安装好了的,无需通过编译源码安装的方式增加风险。
[oracle@qadb ~]$ rpm -qa | grep unix
unixODBC-2.3.1-14.0.1.el7.x86_64
unixODBC-devel-2.3.1-14.0.1.el7.x86_64
unixODBC-devel-2.3.1-14.0.1.el7.i686
unixODBC-2.3.1-14.0.1.el7.i686
查看相关配置: