ORACLE通过透明网关连接DB2

简介: 【前言】前面有文档介绍过ORACLE通过透明网关连接MS SQL、MySQL、sybase数据库的方法,最近又碰到了客户需要把DB2的数据同步到ORACLE的需求,貌似照这样下去有机会聚齐七颗龙珠,召唤神龙了;   【环境说明】 DB2数据库版本:09.

【前言】前面有文档介绍过ORACLE通过透明网关连接MS SQL、MySQL、sybase数据库的方法,最近又碰到了客户需要把DB2的数据同步到ORACLE的需求,貌似照这样下去有机会聚齐七颗龙珠,召唤神龙了;

 

【环境说明】

DB2数据库版本:09.07.0004

ORACLE数据库版本:11.2.0.3   操作系统信息:Windows2008_64

 

【思路】ORACLE通过透明网关访问DB2的数据库的方法,跟MySQL的方法几乎是一样的,整体的思路如下:

  • 安装DB2数据库的驱动
  • 在操作系统配置数据源
  • 配置透明网关的参数文件
  • 配置监听文件
  • 配置TNS文件
  • 创建DBLINK

 

【详细步骤】

1、安装DB2数据库的驱动,安装完数据库的驱动后,便可以在此处看到驱动信息

image

相关的下载地址如下:http://happyqing.iteye.com/blog/2082305

 

2、配置系统DSN

image

image

image

image

【数据库名称和端口号,可以咨询数据库管理人员】

 

image

 

 

3、配置透明网关初始化参数

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

   【每个使用DG4ODBC的实例,都必须单独一个“init*.ora”文件,文件命名规则:init++.ora】

 

3.2 initQAS.ora文件参数的说明【本实验为QAS】

HS_FDS_CONNECT_INFO = QAS   【数据源管理中的DSN名称】

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

  

3.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 = QAS)

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

      (PROGRAM = dg4odbc)

    )

  )

备注:10G的数据库,PROGRAM需要配置成“hsodbc”

 

3.4  重启监听服务

在cmd下面运行

lsnrctl stop
lsnrctl 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))

 

本例子配置如下:

QAS =

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SERVICE_NAME = QAS)

    )

    (HS = OK)

  )

 

3.6 配置DBLINK

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

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

create database link QAS

  connect to "2222"

    identified by "2222" using QAS;

 

3.7测试结果的配置

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

SQL> select * from dual@qas;

D
-
X

 

【总结】第一次配置透明网关是ORACLE连接MS SQL,花了半天的时间终于弄清楚了,当初的感觉很兴奋。后来在进行ORALCE连接其他类型的数据库,配置的速度越来越快了。这次整个过程下来差不多只花了2个小时,用技术的思维去学习技术,也是一件很快乐的事情;

 

..........................................................................................................................................................……………………………………………………….

本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。

ORACLE技术博客:ORACLE 猎人笔记               数据库技术群:367875324 (请备注数据库类型)

......................................................................................................................................................................……………………………………………….

相关文章
|
3月前
|
Oracle 关系型数据库 数据库
已解决:idea 连接 oracle 数据库 避雷
已解决:idea 连接 oracle 数据库 避雷
39 2
|
1月前
|
Oracle 关系型数据库
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
60 0
|
3月前
|
Oracle 数据可视化 关系型数据库
Oracle数据库安装及使用Navicat连接oracle2
Oracle数据库安装及使用Navicat连接oracle
|
3月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
Oracle 安全 关系型数据库
Oracle数据库安装及使用Navicat连接oracle1
Oracle数据库安装及使用Navicat连接oracle
|
4月前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
57 6
|
4月前
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错合集之在连接Oracle 19c时报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
94 0
|
4月前
|
Oracle Java 关系型数据库
SpringBoot整合Mybatis连接Oracle数据库
SpringBoot整合Mybatis连接Oracle数据库
SpringBoot整合Mybatis连接Oracle数据库
|
4月前
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之使用cdc-Oracle连接器报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
Flink CDC产品常见问题之使用cdc-Oracle连接器报错如何解决
|
4月前
|
SQL Oracle 关系型数据库
[已解决]使用sqlplus连接oracle,提示ORA-01034和ORA-27101
[已解决]使用sqlplus连接oracle,提示ORA-01034和ORA-27101
85 0

推荐镜像

更多