Oracle Gateway(透明网关) for DB2

合集下载

ORACLE跨服务器访问数据库

ORACLE跨服务器访问数据库

ORACLE跨服务器访问数据库在ORACLE中,可以使用以下几种方式实现跨服务器访问数据库:1. 使用数据库链接(Database Link):数据库链接是一个定义在本地数据库中的对象,它指向远程数据库服务器的连接信息。

通过数据库链接可以在本地数据库中访问远程数据库中的表、视图等对象。

使用数据库链接可以像操作本地数据库一样操作远程数据库。

创建数据库链接的语法如下:CREATE DATABASE LINK <link_name>CONNECT TO <username> IDENTIFIED BY <password>USING '<remote_service_name>';在创建数据库链接时,需要提供连接到远程数据库的用户名和密码以及远程数据库的服务名。

创建完数据库链接后,可以使用该链接在本地数据库中执行SQL语句来访问远程数据库。

2. 使用透明网关(Transparent Gateway):透明网关是指在ORACLE数据库服务器和其他数据库服务器之间建立的一个桥梁。

通过透明网关可以将ORACLE数据库与其他不同类型的数据库进行连接,实现跨服务器访问数据库。

在使用透明网关之前,需要先在ORACLE数据库服务器上安装透明网关软件,并配置连接信息。

配置完成后,可以在ORACLE数据库中使用透明网关来执行SQL语句,访问其他数据库服务器上的数据。

3. 使用Heterogeneous Service(非ORACLE数据库访问):在ORACLE中,可以使用Heterogeneous Service来访问非ORACLE数据库。

Heterogeneous Service是ORACLE数据库提供的一种可扩展工具,可以将ORACLE数据库与其他类型的数据库进行连接,实现跨服务器访问数据库。

使用Heterogeneous Service需要在ORACLE数据库服务器上安装相应的驱动程序,并配置连接信息。

Oracle透明网关的使用

Oracle透明网关的使用

Oracle透明网关的使用Oracle 数据库的透明网关( transparent gateway )是这样的一个接口:通过它,我们可以 sqlplus 操纵其他数据库,如 ms sqlserver 、 sybase 、 infomix 等,实现数据库的异构服务。

我一直在找 8i 的透明网关,但是没有; 9i 就有了, 9 i 连接 sqlserver 的透明网关在 9i for nt/2000 的安装盘上。

本文以 oracle 连接 sqlserver 为例,叙述一下配置的主要步骤。

网络结构服务器一: sqlserver , ip 为 147.25.8.1 , port 为 1433 ;服务器二: oracle 9i server 和透明网关, ip 为 147.25.8.11 , port 为 1521 ;服务器三: oracle server , ip 为 147.25.8.111 , port 为 1521 ;客户机: sqlnet + sqlplus ,或其他客户端软件。

安装 / 配置 oracle 9i server 和透明网关安装:在服务器二上安装 9i server for nt/2000 ,必须选择透明网关( transparent gateway for ms sqlsvr )。

在服务器二上安装 sqlsvr 的客户端程序。

配置:在服务器二上正常配置 listener , port 口为 1521 ;在服务器二上配置 listener.ora ,在 SID_LIST 中加入:( SID_NAME = SID_NAME ) --------- 自己修改( ORACLE_HOME = 《 ORACLE_HOME 》)( PROGRAM = tg4msql ) ---------- 这是透明网关的目录在服务器二上配置透明网关的配置文件(《 ORACLE_HOME 》\tg4msql\admin\initSID_NAME.ora ),明确:HS_FDS_CONNECT_INFO = “SERVER = 147.25.8.1;DATABASE = pubs”在服务器二上配置 sqlsvr 的客户连接:SERVER NAME = SERVER NAME -------- 自己修改SERVER = 147.25.8.1PORT = 1433PROTOCOL = TCP/IP SOCKET在服务器三上配置 tnsnames.ora ,加入一个 tns :MSSQL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 147.25.8.11)(PORT = 1521)))(CONNECT_DATA =(SID = SID_NAME)) --------SID 自己修改(与上文一致)(HS = OK))测试服务器一:启动 sqlserver ,确认用户 sa 及其密码(或另外建用户、建表)。

oracle透明网关配置连接DB2(ODBC)

oracle透明网关配置连接DB2(ODBC)

create public datect to "awp" identified by "awp"
using "testdb"
步骤七:
测试联通性,oracle中查询
select * from dual@db2_testdb
步骤三:
修改oracle服务器的监听配置 listener.ora
SID_LIST_LISTENER的SID_LIST 中增加
(SID_DESC =
(SID_NAME = testdb)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1)
目标:在oracle数据库中配置到db2数据库的dblink
适用版本 oracle 10g, oracle9i (oracle11g没测试),
操作系统 windows
实现: odbc(tcp一直没能整通)
配置步骤:
参考了网上N多资料,好多资料说要用到oracle 透明网关,
其实不用安装oracle gateway,直接修改现有的oracle系统配置即可实现在oracle中创建到db2的dblink
步骤一:
在数据库服务器(windows环境) 添加系统数据源(ODBC数据源),比如名叫:testdb,要求系统安装db2客户端或是db2数据库服务器
步骤二:
添加 oracle HS实例配置
)
(CONNECT_DATA = (SID = testdb) )
(HS = OK)
)
步骤五:重启监听 lsnrctl stop;
lsnrctl start;

实战篇:Oracle配置透明网关访问MySQL详细教程

实战篇:Oracle配置透明网关访问MySQL详细教程

实战篇:Oracle配置透明网关访问MySQL详细教程展开全文前言从Oracle 无法直接访问Mysql 数据库,需要配置透明网关后通过 DBLink 实现访问。

今天搞了一下午透明网关配置,流程比较复杂,并且有一些坑,这不立刻来给大家排排坑,说不定以后就用的着呢!废话不多说,直接实战走起~一、环境准备本次环境准备了 3 台主机,分别是 Oracle 数据库,MySQL 数据库,透明网关。

•⭐️ Linux 主机安装教程可参考:实战篇:VMware Workstation 虚拟机安装 Linux 系统•⭐️Oracle 单机安装教程可参考:实战篇:Linux 安装Oracle 11GR2 数据库保姆级教程•⭐️Oracle RAC 安装教程可参考:实战篇:一步步教你Linux 7 安装 Oracle 11GR2 RAC•⭐️Oracle 脚本一键安装可参考:开源项目:Install Oracle Database By Scripts!•⭐️MySQL 安装教程可参考:实战篇:手把手教你Linux安装Mysql(细致入微)❤️Oracle 安装包合集和补丁下载地址:2021年Oracle第三季度补丁合集环境信息:用途主机名IP地址主机版本数据库版本DB名称端口号Oracle 数据库orcl 10.211.55.100 RHEL7.6 11GR2 orcl 1521 MySQL 数据库mysql 10.211.55.101 RHEL7.6 8.0.26 lucifer 3306透明网关主机gateway 10.211.55.102 RHEL7.6 11GR2 无1521为什么透明网关需要单独配置一台主机?•不影响数据库主机的正常运行•便于安装配置以及管理•数据库迁移时不需要重新配置透明网关•RAC 环境下,无需重复安装配置多个节点⭐️注意:透明网关主机的配置不需要很高,无需安装 Oracle 数据库,仅安装透明网关即可!二、实战演示1、介质装备首先,需要下载 GateWay 和 MySQL ODBC安装包:•mysql-connector-odbc-8.0.27-1.el7.x86_64.rpm•p1*******_112040_Linux-x86-64_5of7.zip方便大家学习,我直接上传到百度网盘供大家下载:链接: https:///s/1ybJGu1JCbOgRbjCTqtl9TA 提取码: l0622、安装透明网关2.1、主机环境配置下载上述安装介质并上传透明网关主机:⭐️注意:安装透明网关之前需要配置环境和创建用户等等,可以参照 Linux 安装单机 Oracle 的环境配置步骤,这里就不再详述了!使用 Oracle 一键安装脚本配置即可:cd /soft./OracleShellInstall.sh -i 10.211.55.102 -txh Y⭐️注意:由于主机安装时选择了最小化安装,并且安装透明网关需要图形化,因此加上 -txh Y 安装图形化界面!稍许等待几分钟之后,即可配置完成,由于没有上传DB 安装包,这个报错是正常!2.2、正式安装主机配置完成后,开始安装透明网关:## 首先 root 用户下,授权 oracle 访问 /soft 目录chown -R oracle:oinstall /soft## 切换到 oracle 用户下su - oracle## 解压透明网关安装包unzip -q p1*******_112040_Linux-x86-64_5of7.zip ## 配置 vnc 访问图形化界面vncserver使用 VNC 客户端连接:开始安装:确认安装位置:这里选择 for ODBC 即可:开始安装,静待结束:root 用户下执行 root.sh 脚本:/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/11.2.0/db/root.sh配置监听:至此,透明网关安装结束!2.3、安装 mysql-connector首先需要安装 unixODBC 依赖,否则报错:安装 unixODBC 依赖后安装 mysql-connector:yum install -y unixODBC*rpm -ivh mysql-connector-odbc-8.0.27-1.el7.x86_64.rpm⭐️注意:透明网关的安装到这里就全都结束了,接下来就是配置部分了。

oracle透明网关配置

oracle透明网关配置

透明网关的安装和配置1、运行Oracle Installation Products Universal Installer进行透明网关组件的安装2、选择自定义3、选择要安装的透明网关4、系统提示配置5、查看C:oracleora92tg4msqladmin目录6、修改C:oracleora92tg4msqladmininittg4msql.ora7、修改C:oracleora92networkadminlistener.ora,增加8、修改C:oracleora92networkadminTnsname.ora,增加9、重新启动侦听服务10、测试解析状态11、创建数据库链接12、察看数据库链接13、测试透明网关配置的疑难问题配置过程遇到的异常情况:解决过程,请检查以下参数Listener.oraPROGRAM必须为tg4msqlSID_NAME为gateway_sid,也就是说单个透明网关情况下一定是tg4msql,即inittg4msql.ora 的名字部分去掉init即可,呵呵Tnsnames.oraSID为Listener.ora中的SID_NAMETNS的名称可以随便进行配置。

至于以下这两个区别,我到现在也没搞明白HS_FDS_CONNECT_INFO="SERVER=local;DATABASE=northwind"HS_FDS_CONNECT_INFO=host.northwind多个透明网关的配置1、把inittg4msql.ora复制并修改名称为inittg4msql2.ora2、修改C:oracleora92tg4msqladmininittg4msql2.ora只修改第一行,服务器和数据库名即可3、修改C:oracleora92networkadminlistener.ora,增加如下注意SID_Name的变化4、修改C:oracleora92networkadminTnsname.ora,增加然后和单个透明网关配置一样,重新启动监听,创建数据库链接,测试。

透明网管安装配置

透明网管安装配置

Oracle 10g Gateways的安装配置过程第一章Gateways安装1、Gateways安装环境a)Gateways可以安装在Oracle服务器上,也可以安装在SQL Server服务器上。

在理论在来说,可以安装在任何一台安装了Oracle数据库软件的机器上,可以不创建数据库。

b)安装Gateways的机器只是一个中转站,客户端连接此机器的监听服务。

2、解压缩Gateways安装包,点击Setup.exe3、开始安装界面,点击下一步4、指定安装目录,点击下一步。

注意此处一定要与Oracle安装目录一致。

5、选择安装组件for sql server,点击下一步。

有些机器可能出现,下图的错误,可能是本机Oracle数据库安装或配置有问题。

6、输入SQL Server服务IP及数据库名称,点击下一步。

此处参数可以不输入,后期再修改也可以。

7、开始安装,安装过程图8、安装结束第二章Gateways配置1、打开Windows资源管理器,找到目录D:\oracle\product\10.2.0\db_1\tg4msql\admin,将inittg4msql.ora文件修改成你需要的文件名initMSSQL.ora,其它MSSQL为连接SQL Server的代理名称,也是要与监听的SID保持一致。

如果你需要创建连接多个SQL Server数据库,可以创建多个init***.ora文件。

参数配置说明:HS_FDS_CONNECT_INFO="SERVER=192.168.1.10;DATABASE=maitainManHour"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER其中:192.168.1.10为SQL SERVER数据库的IP地址maitainManHour为数据库名称其它参数不需要修改。

oracle连接db2的方法

oracle连接db2的方法

1、oracle连接db2的方法2、在db2中建立到远程db2数据库的连接;(1)选择配置助手,选择使用向导添加数据库——搜索网络,依照选项添加必要的信息即可。

3、下一步后系统名称:ip地址主机名称:ip地址节点名称:数据名称假如上面的方法连接不上服务器上的数据库能够用下面的方法(我一样用下面的方法) //连接服务器数据库db2 catalog tcpip node db2_hnld remote 10.74.132.27 server 50000 remote_instance db2 system Db2Server ostype windb2_hnld:节点名称10.74.132.27 :IP地址win:系统db2 catalog database wlctr as wlctrld at node db2_hnldwlctr:服务器数据名称wlctrld :本地标示db2_hnld :节点名称4、在odbc中建立到本机db2的连接,此处名字需要记住;5、在oracle进行如下配置:先配置oracle到odbc的初始化信息,看是否有inithsodbc.ora那个文件,一样默认安装都有;建立文件inithsdb.ora,名字能够为其他,假如通过odbc建立到多个db2的连接,能够在建几个init***.ora的文件,需要注意的是,WLCTR要与ODBC中的名字一致(下面的linster.ora、tnsnames.ora在D:\oracle\ora92\network下)修改linster.ora 文件,注意修改SID_NAME 与init***.ora中“*”的名字一致;(SID_DESC =(SID_NAME = mytest)(ORACLE_HOME = D:\oracle\ora92)(PROGRAM = hsodbc))修改tnsnames.ora;TEST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )(CONNECT_DATA =(SID = mytest))(HS = OK))在plsql中建立data_link,命令如下:create database link ora2sql connect to "用户名" identified by "密码" using 'TEST';需要注意的是,DB2的用户名、密码那个地点需要用双引号,否则显现用户名、密码无效的错误。

oracle透明网关-dblink直接访问异构数据库

oracle透明网关-dblink直接访问异构数据库

oracle透明网关-dblink直接访问异构数据库透明网关是oracle的一个中间件工具,作用是实现oracle下通过dblink直接访问非oracle数据库的作用,这也意味着可以实现数据同步。

透明网关版本号须和oracle版本一致最好,目前免费,支持的异构数据库有sqlserver informix sysbase,详细的可参考对应版本的说明。

需到官网单独下载,单独安装,有win版本也有linux版本,可以安装在oracle所在主机,也可以安装在单独的主机,配置上可以参考官网使用指南。

配置上:透明网关里1配好到异构数据库的连接信息(connect info),2配好对连接信息的监听(sid);oracle里1配置好"指向网关主机sid的tns",2监听无需变动;配置完毕,首先检查下open_links,##########open_links beginopen_links是oracle的一个参数,你可以通过sql select * from v$parameter / 命令行show parameter open_links 查看open_links和open_links_per_instance 的值即可。

在v$parameter中也有open_links的英文定义:max # open links per session就是每个回话最多更开的连接,如果你需要10个dblink,那么这个值就需要修改,修改语句如下:alter system set open_links = 255 scope =spfile;alter system set open_links_per_instance = 255 scope =spfile;然后重启下数据库生效。

##########open_links endopen_links没问题后,注意设置杀软和防火墙规则允许网关和oracle通讯,随后需要建立到"指向网关主机sid的tns"的dblink,在建立dblink前先看下已有的透明网关,防止重名:select * from dba_objects where object_type = 'DATABASE LINK';想删除用:drop public database link xxx;然后就是建立到"指向网关主机sid的tns"的dblink,建立的语句范例如下:create public database link nm1500car3gdb connect to "ccpqry" identified by "ccpqry" using 'nm1500car3gdb'; 注意tns 是单引号,ccpqry是异构库的验证,注意用户名和密码用双引号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle Gateway(透明网关) for DB2(ODBC方式)
一、本机(win7 64位)上的Oracle 访问本机上的DB2 数据库
软件环境说明:
1、Oracle数据库版本11.2 ,
2、DB2 数据库版本10.5;
使用ODBC方式需要先确认Oracle 安装了dg4odbc 驱动(Oracle 11g中是默认安装的),确认方式是在cmd里执行dg4odbc,如下:
C:\Documents and Settings\Administrator>dg4odbc
Oracle Corporation --- 星期五12月30 2011 15:48:17.211
Heterogeneous Agent Release 11.2.0.1.0 - Production Built with
Oracle Database Gateway for ODBC
步骤:
1、分别在ODBC数据源管理器的用户DNS和系统DNS中添加IBM DB2 ODBC DRIVER
– DB2COPY1驱动
最终的结果是在控制面板->管理工具->数据源->用户DNS和系统DSN中可以看到下图所示内容:注意下面配置过程中要使用的数据源名称是db2admin,切记!!!
2、配置初始参数文件,该文件要创建在$ORACLE_HOME\hs\admin 下,命名一定是initdb2admin.ora(因为我们要创建对db2admin的访问),该文件的内容如下:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = db2admin ----关键,一定是这个命名,因为是要对db2admin 这个ODBC数据源进行访问
HS_FDS_TRACE_LEVEL = debug
HS_TRANSACTION_MODEL=SINGLE_SITE_AUTOCOMMIT
HS_FDS_SUPPORT_STATISTICS=FALSE
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
3、配置监听参数文件listener.ora,该文件在$ORACLE_HOME\network\admin ,下面是我的listener.ora文件里的内容:
# listener.ora Network Configuration File: d:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = db2admin) ----关键,一定是这个命名
(ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
(SID_NAME = db2admin) ----关键,一定是这个命名
(PROGRAM=dg4odbc) ----关键,一定是这个命名
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = wfpc197)(PORT = 1521))
)
ADR_BASE_LISTENER = d:\oracle\product\11.2.0\dbhome_1\log
4、为Gateway访问配置数据库(编辑tnsnames.ora),该文件在$ORACLE_HOME\network\admin 下,我的tnsnames.ora内容:
#tnsnames.ora Network Configuration File: d:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DB2= ----自由命名
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =wfpc197)(PORT = 1521))
(CONNECT_DATA = (SID =db2admin) ----关键,一定是这个命名
)
(HS=OK)----关键,一定是这个命名,说明该数据源是非Oracle的
5、重启监听、测试db2数据源:分别执行lsnrctl stop lsnrctl start lsnrctl status tnsping db2其中lsnrctl status 结果如下:
C:\Documents and Settings\Administrator>lsnrctl status
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 30-12月-2011 16:1
6:42
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wfpc197)(PORT=1521))) LISTENER 的STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 29-12月-2011 21:36:31
正常运行时间 0 天18 小时40 分10 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 d:\oracle\product\11.2.0\dbhome_1\network\admin\listen
er.ora
监听程序日志文件 d:\oracle\product\11.2.0\dbhome_1\log\diag\tnslsnr\wfp
c197\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wfpc197)(PORT=1521)))
服务摘要..
服务"db2admin" 包含 1 个实例。

实例"db2admin", 状态UNKNOWN, 包含此服务的1 个处理程序...
服务"wfdb" 包含 1 个实例。

实例"wfdb", 状态READY, 包含此服务的1 个处理程序...
服务"wfdbXDB" 包含 1 个实例。

实例"wfdb", 状态READY, 包含此服务的1 个处理程序...
命令执行成功
tnsping db2的结果如下:
C:\Documents and Settings\Administrator>tnsping db2
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 30-12月-
2011 16:19:11
Copyright (c) 1997, 2010, Oracle. All rights reserved.
已使用的参数文件:
d:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用TNSNAMES 适配器来解析别名
尝试连接(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =wfpc197)(PORT = 1521))
(CONNECT_DATA = (SID =db2admin)) (HS=OK))
OK (30 毫秒)
6、创建Oracle dblink并查询测试
登录到sqlplus上,sqlplus / as sysdba ,执行create public database link mylink connect to db2admin identified by db2admin using 'DB2' --其中db2admin是DB2 数据库的用户名,db2admin是DB2 数据库的密码,'DB2'是tnsnames.ora中定义好的。

这几个值都不是明确的。

下面是select测试及结果
SQL> select count(*) from db.tbhm01@mylink;
COUNT(*)
----------
41473。

相关文档
最新文档