Oracle 通过网关连接MySql的配置


叨叨、

网络上使用oracle网关来连接sql server ,db2 ,sybase 等的数据库的实例比较多,唯独少了使用oracle网关来通过ODBC连接的样例,MySql 就是一个ODBC 的。

现在看看如何使用oracle网关连mysql 。

 

官网文档介绍:http://www.oracle.com/technetwork/cn/database/gateways/index-087505-zhs.html


准备条件、

    ORACLE数据库11.2.0.3   操作系统:windows8_64位  http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

    MYSQL 5.6          操作系统:windows8_64位

    Oracle Data Gateway   11.2  -------------其实:oracle 在安装的时候已经将getaway安装好了,在安装之前,去安装目录中查看,如果没有安装再去下载安装。

    MYSQL ODBC 5.4 (现在没有找到5.6 的版本)   官方的下载地址:https://edelivery.oracle.com/EPD/Search/handle


一、前提条件

1. 安装Oracle  

     下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 有很多的版本可以选下载并安装

     设置系统变量:

     ORACLE_HOME=D:\app\rocky\product\11.2.0\dbhome_1 , 

     TNS_ADMIN=%ORACLE_HOME%\NETWORK\ADMIN\,

     PATH=D:\app\rocky\product\11.2.0\dbhome_1\bin;D:\app\product\11.2.0\tg_1\bin;......

2.Oracle Data Gateway 安装(没有安装,再去安装)

     同样在oracle 的官网中可以找到,一定要找到对应的版本,否则会出现问题的.

3.安装完成之后,检查DG4ODBC驱动是否已经安装的方法如下

在Oracle服务器上,cmd窗口中执行命令(dg4odbc),若有安装则显示如下信息:

C:\Users\Administrator>dg4odbc


安装步骤

1. 配置MySQL ODBC DSN 

   一路默认安装完mysql odbc 之后,会有 win8 64 (C:\Windows\System32\odbcad32.exe) 用来对dsn做配置.

   (不过很多时候应该选择的是系统DSN,因为很多时候你的用户DSN的权限是有限的,不能提供完美的支撑,所以要根据情况选择系统DSN最合适的是)

  双击就可以将进行相应的odbc 的配置了,不多讲,如图所示:Oracle 通过网关连接MySql的配置_第1张图片


三、透明网关的配置

3.1  "initdg4odbc.ora"的文件

 在"ORACLE_HOME\hs\admin"目录下,默认存在名为"initdg4odbc.ora"的文件,复制"initdg4odbc.ora"文件,新文件名称改为"initmysqlodbc.ora",

【每个使用DG4ODBC的实例,都必须单独一个"init*.ora"文件,文件命名规则:init+<网关sid>+.ora】

3.2 initdg4odbc.ora文件参数的说明主要是init+<网关sid>+.ora配置

HS_FDS_CONNECT_INFO = ODBC数据源管理中的DSN名称【本实验为MYSQLODBC

HS_FDS_TRACE_LEVEL = OFF 【追踪级别参数,出于性能影响一般不配置或者配置为"OFF",若遇到网关问题需要跟踪日志,则配置为"Debug",跟踪日志文件存放在"ORACLE_HOME\hs\trace"目录下】

本样例中对应填上initmysqlodbc.ora 文件的:

HS_FDS_CONNECT_INFO = mysqlodbc
HS_FDS_TRACE_LEVEL = off
HS_FDS_SUPPORT_STATISTICS=FALSE 
HS_RPC_FETCH_REBLOCKING= OFF 
HS_FDS_FETCH_ROWS = 1


3.3 配置网关监听listener.ora

 网关监听可配置的参数如下:SID_NAME  网关的SID

 ORACLE_HOME : 目录

 PROGRAM : 指定监听服务响应ODBC连接请求的可执行程序

请参考如下或者透明网关的配置:

# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

    (SID_DESC =

      (SID_NAME = MYSQLODBC)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = dg4odbc)

    )

  )

 

3.4  重启监听服务

在cmd下面运行

lsnrctl stoplsnrctl start

 

3.5 配置TNS

打开 "ORACLE_HOME\network\admin\tnsnames.ora"文件

需要配置的参数如下:

connect_descriptor:填写自定义的TNS连接名称

ADDRESS:填写透明网关的IP地址和端口

SID:指定连接网关的SID

HS :指定连接的是非ORACLE数据库

connect_descriptor=

    (DESCRIPTION=

       (ADDRESS=

          (PROTOCOL=TCP)

          (HOST=host_name)

          (PORT=port_number)

       )

       (CONNECT_DATA=

          (SID=gateway_sid))

       (HS=OK))

 

本例子配置如下:


MYSQLODBC=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = (本机IP/主机名))(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = MYSQLODBC)

    )

    (HS = OK)

  )

 

3.6 配置DBLINK

以sqlplus、PLSQL Developer或TOAD连接到OracleDB,执行以下DDL语句创建DBLink

【在"create database link"语句中,用户名和密码,建议以双引号括起来,避免Oracle在大小写上做自动转换】

create database link MYSQLLINK

  connect to "DEMO"

    identified by "DEMO" using 'MYSQLODBC';

具体可见:

create public database link mysqlodbc connect to "admin" identified by "admin"
using '(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = IP/主机名) (PORT =1521) )
(CONNECT_DATA = (SID = mysqlodbc ))
(HS=OK))';

 此命令可以网络搜索得到结果。

3.7测试结果的配置

用sqlplus在服务器上面执行语句,返回如下值表明配置成功

SQL> select * from dual@MYSQLODBC;

D

-

X


如此基本上的服务都配置完成了,剩下的就是看你怎么样使用oracle 网关了。。。 。。。


说明文档:

http://blog.itpub.net/12679300/viewspace-1177222/ 


http://www.itpub.net/thread-1845639-1-1.html


http://blog.itpub.net/14710393/viewspace-1082556/


注意点:

1.用户的权限一定要高,否则很可能出现很多不明白的error错误。

2.对应的版本一定要安装好,否则很可能出现很多解决不了的错误,让你一头雾水。

比如一个安装的是32位的,一个却是64 的,这个肯定是要爆的。

你可能感兴趣的:(Oracle,Database)