Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119097
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 400
  • 用 户 组: 普通用户
  • 注册时间: 2016-10-14 10:31
文章分类

分类: 信息化

2017-04-28 09:25:58

前言:数据库多了,各种数据库的数据抽取肯定是会有的,遇到最到最多的应该是oracle从sqlserver抽取数据,oracle从mysql抽取数据的情况会比较少,但是还是遇到了。今天把整个配置的过程整理一下,希望能帮助到各位;

 

环境说明:ORACLE数据库11.2.0.3   操作系统:windows2008_64位

       MYSQL 5.5          操作系统centos 5.9

(注:以下操作都是在ORACLE数据库服务器上面进行的操作)

一、前提条件

Oracle DB必须已经安装Oracle Data Gateway,在Oracle DB 11g中,默认随数据库一起安装。

检查DG4ODBC驱动是否已经安装的方法如下:

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

C:\Users\Administrator>dg4odbc

 

二、安装步骤

1、准备工作

  1.1  下载MySQL ODBC驱动

  官方的下载地址:

  出于方便这边已经帮大家下载完成:

  1.2   配置MySQL ODBC DSN

按照以上步骤进行配置,完成后单击"Test"按钮,查看是否能够成功连接,单击"OK"按钮,再单击"确定"按钮退出ODBC数据源管理。

 

2、透明网关的配置

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

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

2.2 initdg4odbc.ora文件参数的说明

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

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

2.3 配置网关监听

 网关监听可配置的参数如下: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 = E3)

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

      (PROGRAM = dg4odbc)

    )

  )

 

2.4  重启监听服务

在cmd下面运行

lsnrctl stoplsnrctl start

 

2.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))

 

本例子配置如下:

E3 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = e3)

    )

    (HS = OK)

  )

 

2.6 配置DBLINK

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

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

create database link E3

  connect to "2222"

    identified by "2222" using 'E3';

 

2.7测试结果的配置

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

SQL> select * from dual@e3;

D

-

X

 

阅读(964) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~