Oracle Gateway(透明网关) for DB2
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 数据库的透明网关( 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)
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 数据库,需要配置透明网关后通过 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透明网关配置
透明网关的安装和配置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的方法
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的一个中间件工具,作用是实现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是异构库的验证,注意用户名和密码用双引号。
Oracle下配置透明网关访问MSSQLSERVER
Oracle下配置透明网关访问MSSQLSERVERHow to Setup TG4MSQL (Transparent Gateway for MS SQL Server)PURPOSE-------This article provides a step-by-step guide setting up and troubleshootingTG4MSQL (Transparent Gateway for MS SQL Server) for a Windows basedplatform. This note applies to TG4MSQL release 9.2, 10.1 and 10.2.SCOPE & APPLICATION-------------------This bulletin is a summary of the manual.How to setup TG4MSQL--------------------1) -------安装软件 transparent gateway-For Oracle TG4MSQL V9, V10.1:With the OUI (Oracle Universal Installer) installTG4MSQL. This product is part of the serverinstallation CDs.( Start OUI, choose a sep. Oracle_Home, select the Oracledatabase for installation. Then choose custom install. Aproduct list pops up where you have to scroll down toORACLE TRANSPARENT GATEWAY; click on the '+' in frontanda product list opens. Choose the gateways you want to install)-For Oracle TG4MSQL V10.2:There is a separate CD containing Oracle Transparent Gatewayfor MS SQL Server release 10.2. It is included on the CDwith part number B24558-01. ---oracle 10.2的透明网关在另外的安装盘上(gateways),需要另外安装-BOTH:A directory called TG4MSQL will be created and a file calledTG4MSQL.EXE is placed in the bin directory of the appropriate ---与sql 的网关在目录tg4msql中Oracle_Home.----确认tg4msql需要的表存在 SYS.HS_FDS_CLASS2) TG4MSQL needs data dictionary tables in the Oracle database.To check their existence, run a query oni.e. SYS.HS_FDS_CLASS.If it fails, run the caths.sql script located in ORACLE_HOME\RDBMS\ADMIN\as user sys or internal.----确认相应的驱动存在3) The gateway is using MS ODBC driver to access the SQl Server.So please make sure to have the MS SQL Server ODBC driver installed onthe gateway machine. If it is not available, downloadthe latest MDAC Microsoft Data Access Components) from the Microsoft Webpage and install it. This package contains a SQL Server ODBC driver.----配置tnsnames.ora ,如sid为tg4msql4) Tnsnames.ora.This file is in ORACLE_HOME\NETWORK\ADMIN.Add the following lines to the file:/doc/0944421c10a6f524ccbf85b7.html = |<- adjust default domain depending onthe sqlnet.ora settings(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=) |<- adjust hostname(PORT=1521)) |<- adjust port(CONNECT_DATA=(SID=tg4msql))(HS=OK) |<- attention: HS is outside CONNECT_DATA)*************************************************************** *************如:tg4msql =(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=cit-jiangqx)(PORT=1521))(CONNECT_DATA=(SID=tg4msql)) ----sid为listener.ora中添加的sid,并与initsid.ora中的sid相同如tg4msql(HS=OK))*************************************************************** *************Note, a sample file is located in ORACLE_HOME\tg4msql\ADMIN.COMMON ERRORS:Make sure, that there are 2 closing brackets after the SID; the HS keyword is outside of the Connect Data block.Further make sure that only the TNS Alias is at the first position of theline; all other lines must start at least with one SPACE (blank);otherwise it is identified as an alias and the configuration is not correct.----配置listener.ora 如 tg4msql5) Listener.ora:This file is in ORACLE_HOME\NETWORK\ADMIN as well.Add the following line to the SID_List of the listener.ora and restart thelistener afterwards. ( After the restart a service handler for tg4msqlshould exist).(SID_DESC=(SID_NAME=tg4msql)(ORACLE_HOME=e:\ora92) |<- adjust Oracle_Home directory(PROGRAM=tg4msql))*************************************************************** *************如:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = ora10g)(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)(SID_NAME = ora10g))(SID_DESC=(SID_NAME=tg4msql)(ORACLE_HOME=F:\oracle\product\10.2.0\db_1)(PROGRAM=tg4msql) --这里是透明网关的目录))*************************************************************** *************Note, a sample file is located in ORACLE_HOME\tg4msql\ADMIN.COMMON ERRORS:After configuring the listener, restart it from the command line(lsnrctl -> stop, start) and check the service summary. It must contain1 service handler for the TG4MSQL SID.---配置ORACLE_HOME\TG4MSQL\ADMIN 下面的initsid.ora 文件,网关配置文件如 inittg4msql.ora6) Adjust the configuration file of the gateway. It is located inORACLE_HOME\TG4MSQL\ADMIN. The name depends on the SID you use for thegateway.In our sample the listener SID is tg4msql and so the configuration filemust be named inittg4msql.ora.# This is a sample agent init file that contains the HS parameters that are# needed for an ODBC Agent.## HS init parameters#HS_FDS_CONNECT_INFO = . |<- Please specify the serverhostname and do not useIP addresses.The dot is the delimeterand we use it to separatethe servername from thedatabase name.HS_FDS_TRACE_LEVEL = 0 |<- trace levels are from off to debug****************************************************************************如:HS_FDS_CONNECT_INFO=cit-jiangqx.testdbHS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER*************************************************************** ***********REMARK: Usually the following key is used to verify the connect optionsto the MS SQL Server:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectT oThis information normally specifies the ALIAS, the real server name, instances(if they are available) and port numbers of the SQL Server.Further details can be found in Note 231997.1 TG4MSQL and MS SQLServer Instances.---建立db link ,测试是否成功?7) Testing the connectivity between Oracle database and the SQL Server:- create a database link within the Oracle database to the SQL Server:create database link tg4msql connect to "sa"identified by "" using 'tg4msql';- select * from all_catalog@tg4msql;Example selecting a demo table of the MS Northwind database:select "TerritoryID" from "EmployeeTerritories"@;*************************************************************** ***********如: -----注意用户名/密码的大小写create database link tg4msql connect to "sa" identified by "sqlsa" using 'tg4msql';SQL> select * from test@tg4msql;c1 c2---------- --------------------3 c*************************************************************** ***********COMMON ERRORS:The usernames, passwords, table names, views, columns ... are case sensitive.For creating the database link, make sure you surround the username, passwordby double quotes and write them as they are defined in the MS SQL Server.Another common error is, that the TG4MSQL does not allow OS Authentication(Windows Authentication) for the SQL Server. Only SQL Server authenticationwith a username AND a password is supported. Make sure, that the SQL ServerSecurity option is checked to allow both authentication methods.。
透明网关设置
Oracle9i、10g访问Sql Server透明网关相应的配置2009-12-01 12:241 引言日前一个项目需要从省调及各地调汇总信息,浏览查看并可能会修正,最终生成E文件并上报。
这里每天同步抽取数据时需要用到多台服务器多种类型数据库的数据,其中许多字段都是来自多个数据库的数据,数据源有Oracle和SqlServer 的,数据字段多计算复杂且时间紧迫,若在应用程序里写程序无疑工作量不小,若是在Oracle直接访问各个数据工作量会减轻许多,众所周知在Oracle下访问同构数据库只需配置数据库连接(Database Link)即可,但访问异构型数据库直接这样就不行了。
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER 里面叫做链接服务器(LINKED SERVER)(在企业管理器->连接到将宿主该链接的SQL Server 计算机。
在树窗格中,展开"安全性"文件夹即有"链接服务器"),通过ODBC 的 Microsoft OLE DB 提供程序实现与其它数据库的互联;当然也提供了专用于 Oracle 2.6 版的 Microsoft OLE DB 提供程序和用于IBM DB2 的Microsoft OLE DB 提供程序等。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。
目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。
SQLSERVER与ORACLE互连
SQLSERVER与ORACLE互连不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂家的具体实现技术不一样,如:在SQLSERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互连。
而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。
目前ORACLE利用透明网关可以实现和SQLSERVER,SYBASE,DB2等多种数据库的互连。
一、透明网关透明网关的体系结构很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连,其中透明网关服务器可以与ORACLE或SQLSERVER数据库在同一台主机上,也可以是在独立的一台主机上。
1、安装透明网关ORACLE默认安装是不安装透明网关的,需要自定义选择安装。
安装过程:运行oracle安装软件,安装类型选自定义,选择里面的安装oracle transport gateway,下面的oracle transparent gateway from Microsoft sql server,这里可以看到,还可以选择其他数据库,根据需要安装。
剩下的按提示进行即可。
确认透明网关安装成功。
会出现X:\oracle\ora92\tg4msql目录,配置文件inittg4msql.ora。
2、配置(1)、新增或修改已有配置文件新增一个配置文件或者修改已有inittg4msql.ora.内容如下:HS_FDS_CONNECT_INFO = "SERVER=172.16.0.106; DAT ABASE=hhcar"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER说明:Server是指连接的Sql server所在主机DA TABASE是指要连接的数据库新增的配置文件的名称必须如下:initXXX.ora;其中XXX是自定义,在下面配置listener文件时有用。
linux_oracle11g使用透明网关连接sqlserver
linux_oracle11g使用透明网关连接sqlserverLinux系统oracle 11g数据库使用透明网关(gateway)连接sqlserver数据库本例中sqlserver数据库是192.168.6.199,oracle数据库是192.168.6.231,gateway透明网关是192.168.6.232,oracle和gateway分开部署。
1.准备环境参数a)b)c)d)2.安装gateway(透明网关)组件a)下载透明网关Oralce 11g下透明网管是一个单独的组件,需要单独下载安装,这里下载是64位的,请根据具体下载32位或64位,下载地址google搜索一下Oracle Database Gateways或者在oralce官网的Oracle Database Software Downloads找。
b)安装过程(过程中会创建监听)3.修改配置文件a)修改gateway(透明网关)的initdg4msql.ora安装完成后会自动生成/u01/app/oracle/product/11.2.0/tg_1/dg4msql/admin/initdg4m sql.orab)修改gateway(透明网关)的监听文件listener.ora修改/u01/app/oracle/product/11.2.0/tg_1/network/admin/listener.or a文件添加以下内容c)修改oracle数据库的tnsname.ora配置文件添加以下内容4.测试连接a)创建数据库链接gw是链接名sa和password是sqlserver数据库的用户名和密码dg4msql是tnsname.ora配置文件中的监听名b)查询返回数据后,说明数据库链接可以正常使用。
Oracle 10g透明网关安装及配置说明书_20130730_V1.0
Oracle 11g透明网关安装与配置说明书文档作者: 刘自阳创建日期: 2015-06-25控制编码:当前版本: 1.0目录1概述 (1)1.1简介 (1)1.2说明 (1)1.3参考文档 (1)2安装 (3)2.1下载透明网关 (3)2.2安装位置: (3)2.2.1安装步骤 (3)2.2.2注意事项 (12)3配置 (13)3.1.1配置init+sid+.ora参数文件 (13)3.1.2配置透明网关监听 (14)3.1.3启动透明网关监听 (15)3.1.4创建数据库链接 (16)3.1.5测试查询 (16)3.1.6可能存在问题 (17)1 概述1.1 简介Oracle实现异构服务的技术叫做透明网关(Transparent Gateway),利用透明网关可以实现与SQL Server、SyBase、DB2等多种数据库的互连,同时透明网关也是Oracle数据仓库及数据迁移中的一个重要组成部分。
Oracle透明网关是Oracle直接访问异构数据库的利器。
在9i中,透明网关包含在数据库安装程序中,在安装数据库软件过程中可以选择进行安装;10g以后,Oracle把透明网关独立出来,需要单独下载安装。
1.2 说明在11g之前,Oracle for SQL Server的透明网关只能安装在windows操作系统上,从11g 开始,Oracle for SQL Server的透明网关也可以安装在linux/unix系统中。
本文主要讨论在Oracle 10g如何配置透明网关去访问SQL Server数据库。
透明网关可以与Oracle或SQL Server数据库安装在同一台主机上,也可以安装在独立的一台主机上作为透明网关服务器。
在本文档中透明网关在服务器上安装主目录均为:E:\gateway\product\10.2.0\tg_1此次安装:oracle 服务器为10.101.16.201Sqlserver 服务器为: 10.103.3.14网关服务器为: 10.103.12.55备用网关服务器为: 10.103.12.561.3 参考文档《Database Gateway Installation and Configuration Guide》。
AIX+Oracle 11gR2安装及配置Gateway透明网关
环境信息:Oracle操作系统: AIX 6.1版本oracle版本:11.2.0.3oracle IP:172.16.7.80ORACLE_SID = orclORACLE_HOME = /orcl/app/product/11.2.0/orclSQLServer操作系统: Windows Server 2008SQLServer版本: SQL Server 2008SQLServer IP: 192.168.8.90数据库名:oadataGateway操作系统: AIX 6.1版本: 11.2.0.3安装目录: /home/gateway/gwhomeIP: 172.16.7.80Oracle与Gateway均安装在AIX小机172.16.7.80上,连接Windows Server上的SQLServer 2008.操作步骤:1. 从oracle官网上下载透明网关的安装包。
2. 创建gateway用户, 用户组与oracle用户相同:#useradd -u 224 -g oinstall -G oinstall,dba -m -d /home/gateway -s /usr/bin/ksh gateway#passwd gateway3. 以gateway用户登陆,在/home/gateway目录下mkdir gwhome.4. 修改gateway用户的.profile文件,增加如下内容:export ORACLE_HOME=/home/gateway/gwhomeexport LD_LIBRARY_PATH=$ORACLE_HOME/libexport TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=$ORACLE_HOME/bin:$PATH5. 安装gateway软件。
选择相应的sqlserver组件。
在配置SQLServer的时候,需注意,SQL Server Database Name应该填写需要连接的数据库名称,这里应填写oadata;SQLServer Instance Name为空。
从Oracle到SQLServer的透明网关配置
从Oracle到SQLServer的透明网关配置racle 9.2.0.1.0 ip:192.168.1.22 port:1521sql2000 ip:192.168.1.12 db: db1说明,透明网关可以跟oracle,sql server2000数据库在同一台机器或者不同机器,本例是跟oracle是同一台机。
1: 运行oracle 安装软件,安装类型选自定义,选择里面的安装oracle transparent gateway 9.2.0.1.0,下面的oracle transparent gateway from microsoft sql server 9.2.0.1.0,这里可以看到,还可以选择其他的数据库如,sybase等2:确认透明网关安装成功,会出现D:oracleora92tg4msql目录,配置文件inittg4msql.ora,注意,如果对应的listener.ora里面的sid_name设置为其他的,如本例的sql2000,那么应该新增一个配置文件对应为initsql2000.ora而不是inittg4msql.ora了,里面内容如下:HS_FDS_CONNECT_INFO = "SERVER=192.168.1.12; DATABASE=db1"HS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER3:配置listener.ora加上在段SID_LIST_LISTENER中加上(SID_DESC =(GLOBAL_DBNAME = tg4msql)(PROGRAM = tg4msql)(SID_NAME = sql2000)(ORACLE_HOME = D:oracleora92))其中global_dbname,sid_name可以随意设置,但要注意与D:oracleora92tg4msql的配置文件对应,这里为sql2000那么,配置文件为initsql2000.ora。
oracle透明网关_透明网关装oracle服务器
oracle透明网关_透明网关装oracle服务器Oracle 透明网关访问 SQL server 2000目录一、测试环境 (2)二、透明网关安装 (3)三、透明网关参数参数配置 (6)四、配置监听 (7)五、启动监听 (8)六、配置 oracle 端 tnsname.ora (9)七、创建跨库链接 DBLINK (9)一、测试环境1.Oracle 服务器 (透明网关安装在此服务器上)操作系统:win7IP:192.168.1.171计算机名:SSB_SERVEROracle 版本:oracle10GORACLE 实例名:NTDAP2.SQLSERVER 服务器操作系统:windowsserver2003IP:192.168.1.242计算机名:HZCH数据库版本:sql2000数据库实例名:MSSQLServer数据库名:jgxt注意的地方1、查看狱政服务器的SQLSERVER服务器的是否允许跨数据库所有权链接,这里必须勾选,如果没有勾选,选择勾选确定时会重启SqlServer服务,所以在配置该选项时要在无人使用狱政服务器的时候进行设置,如果已经设置,该步骤可以略过。
二、透明网关安装1. 在 oralce 服务器上把下载好的透明网关文件 gateways.rar(http://192.168.1.3:18080/svn/dept/心得共享/透明网关安装包.zip)进行解压缩,解压后进入目录,右击以管理员身份运行setup.exe,启动安装界面,安装Oracle Transparent Gateway For Microsoft SQL Server,如下图:2. 下一步,输入SQL Server 数据库服务器主机名:192.168.1.242,SQL Server 实例名称:jgxt,如下图:3、查看无误,点击下一步4. 安装最后会弹出,Oracle Net Configuration Assistant 配置界面,如下图:5、把执行典型配置打勾,点击下一步,等待配置完成后,上面界面会自动关闭,回到主安装界面:点击退出完成透明网关的安装。
基于ORACLE TG(透明网关)技术的ORACLE数据库与异构数据源互访的技术实现.doc
基于ORACLE TG(透明网关)技术的ORACLE数据库与异构数据源互访的技术实现股份通信公司徐西波摘要:本文简要介绍了利用ORACLE数据库的TG(透明网关)技术访问SQL SERVER等异构数据源的技术方法及配置步骤。
关键词:ORACLE 异构数据源透明网关1 TG技术原理简述Oracle Transparent Gateway 是一特殊的代理(Agent),他是Oracle公司针对每一种具体的非Oracle系统而设计的,如Oracle Transparent Gateway For Sybase on Solaris,是一存取Solaris 平台上Sybase数据库的透明网关。
通过透明网关我们可以透明的存取某一非Oracle系统而不必了解这些数据的具体存放位置及存取方法,由于Oracle Transparent Gateway针对具体的平台和数据库,因此只有符合Oracle验证的才是有效的Transparent Gateway,验证情况请参考Oracle的验证矩阵。
(ORACLE官方网站)。
Transparent Gateway可以与Oracle数据库位于同一服务器也可位于独立的服务器。
下图描述了Transparent Gateway的原理。
2 利用TG技术访问异构数据源的技术方法和配置步骤下面以Oracle Transparent Gateway For Sql Server on Windows这一类型的透明网关为例介绍Oracle数据库访问Sql Server 数据库的方法。
(本文实例中将Oracle数据库与透明网关安装于同一服务器)2.1 环境A服务器:Oracle 10g for windows,Oracle Transparent Gateway For Sql Server on Windows B服务器:SQL SERVER 2000企业版2.2 安装透明网关缺省情况下,Oracle数据库并没有安装任何类型的透明网关,需到Oracle公司网站下载具体类型的透明网关安装程序进行安装。
解决透明网关故障一例
解决透明网关故障一例上周五就答应帮同事解决一个困扰她好几天的关于透明网关的问题,今天上午带闺女去儿研所看病(她有些咳嗽),下午回到公司,开始解决上述问题。
经过了一个下午的努力,连猜带蒙,成功解决了上述问题,我们现在先来看一下配通后的用oracle 连db2 for z/OS的效果:SQL> conn sys/sys@giggles as sysdba;Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as SYSSQL> select count(*) from sysibm.systables@locdsn1;COUNT(*)-----------523SQL> select * from DSN8910.DEPT@locdsn1;DEPTNO DEPTNAME MGRNO ADMRDEPT LOCATION------ ------------------------------------------------------------------------ ------------ -------- -------------------------------- A00 SPIFFY COMPUTER SERVICE DIV. 000010 A00B01 PLANNING 000020 A00C01 INFORMATION CENTER 000030 A00D01 DEVELOPMENT CENTER A00D11 MANUFACTURING SYSTEMS 000060 D01D21 ADMINISTRATION SYSTEMS 000070 D01E01 SUPPORT SERVICES 000050 A00E11 OPERATIONS 000090 E01E21 SOFTWARE SUPPORT 000100 E01F22 BRANCH OFFICE F2 E01G22 BRANCH OFFICE G2 E01H22 BRANCH OFFICE H2 E01I22 BRANCH OFFICE I2 E01J22 BRANCH OFFICE J2 E0114 rows selected这个问题的起因是我的同事想配通从oracle到db2 for z/OS的transparent gateway,但是在一切工作做完后发现无论如何也连不上db2,她原先的tnsnams.ora如下:# tnsnames.ora Network Configuration File: /iprau01/app/oracle/10g/network/admin/tnsnames.ora # Generated by Oracle configuration tools.GIGGLES =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = P550_04_LA)(PORT = 1588))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = giggles)))LISTENER_GIGGLES =(ADDRESS = (PROTOCOL = TCP)(HOST = P550_04_LA)(PORT = 1588))LISTENER_IPRA =(ADDRESS = (PROTOCOL = TCP)(HOST = P550_04_LA)(PORT = 1588))IPRA =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = P550_04_LA)(PORT = 1588))(CONNECT_DATA =(SERVER = SHARED)(SERVICE_NAME = ipra)))ASTCA =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = P550_04_LA)(PORT = 1521))(CONNECT_DATA =(SERVER = SHARED)(SERVICE_NAME = astca)))LOCDSN1=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.15.57)(PORT = 1541)))(CONNECT_DATA =(SID =LOCDSN1)(HS=OK)))当在oracle执行select * from sysibm.systables@locdsn1的时候总是报同样的错:ORA-28546: connection initialization failed, probable Net8 admin error此时无论怎样改tg的配置都不行!我也被上述问题折腾了好几个小时的时间,后来发现把tnsnames.ora中关于LOCDSN1的那段连接字符串改成如下的就可以解决上述问题了:LOCDSN1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = ORAIPC)))(CONNECT_DATA = (SID =LOCDSN1) )(HS= OK))即首先要HS=OK,然后要把HS=OK从CONNECT_DATA中挪出来!这里oracle的tg for drda文档中的描述是不准确的。
透明网关
配置透明网关的步骤:在Oracle中配置与Sql Server相连的透明网关赵金清前言:异构数据库系统之间的数据共享是现在很多大型公司所面临的问题。
这些公司往往有好几种不同的数据库系统,每种数据库系统支持一种或者几种应用。
例如在某电信运营公司中,计费和网管系统分别使用不同的数据库。
前者是在Oracle 8I基础上架构的,后者却使用SQL SERVER作为数据库系统。
数据库系统的不同是由很多因素造成的,例如不同的开发商,不同的系统要求等等。
如何在这些系统之间共享数据?如何在建立企业级数据仓库系统时把有用的数据轻松导入到数据仓库系统中?Oracle公司提供的Transparent Gateways(透明网关)组件能够轻易在Oracle环境中访问非Oracle数据库中的数据。
这就使Oracle系统的开发者不必再为如何从非Oracle数据库系统中访问数据而绞尽脑汁,同时减少了系统的开销,并且提高了应用的灵活性。
本文讨论的是要在Oracle数据库环境中访问SQL Server中的数据应该如何配置以及在配置过程中应该注意的问题。
关键字:透明网关(Transparent Gateway),异类服务(Heterogeneous Services),系统标识符(System Identifier:SID),数据库连接(Database Link),Oracle数据库服务器(Oracle Database Server),信息共享(Information Share)。
一、透明网关的组成部分以及各部分作用:Oracle提供的透明网关技术是由两部分组成的。
访问任何非Oracle数据库采取的共同技术,这部分称为异类服务(Heterogeneous Services);对访问不同非Oracle数据库系统而采取的不同技术称为透明网关代理。
异类服务跟透明网关代理通力合作,能够从Oracle环境中透明访问非Oracle数据库系统中的数据,从而达到在Oracle数据库环境中各种数据库系统之间的信息共享。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。