分类: 信息化
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 |