Oracle 11g透明网关连接Sqlserver
oracle 透明网关是oracle连接异构数据库提供的一种技术。通过Gateway,可以在Oracle里透明的访问其他不同的数据库,如SQL Server, DB2, Sybase等等,就像远程Oracle数据库一样。配置后的sql查询的处理流程 一、环境信息 Oracle11g (linux.x64系统) IP地址 192.168.1.9 Oracle根目录 /u2/oracle/product/11.2.0/dbhome_1 Oracle端口 1521 Oracle gateway (Window server 2008 R2) (可以独立一台服务。本例子跟Sqlserver2008 R2 的服务器装在一起了。原因是懒得再装一台服务器,本例子Sqlserver2008 R2是Window server 2008 R2系统,可视化操作方便点,所以干脆装一起了。除了监听端口要从1521改成1522外,新装一台服务器上所有配置一样的) IP地址 192.168.1.50 gateway11根目录 D:\Oracle\product\11.2.0\tg_1 gateway端口 1522 (默认是1521,因为此计算机上已经安装了数据库使用此端口,所以端口冲突了,需要改一下) SID C6 金和OA的C6 (Sqlserver2008 R2) Window server 2008 R2 IP地址 192.168.1.50 数据库名 C6 用户名 sa 密码 admin_123 Oracle透明网关linux系统下载地址,也可以自动搜索下载: 适用于 Microsoft Windows (x64) 的 Oracle Database Gateways 11g 第 2 版 (11.2.0.1.0) 二、Oracle透明网关配置 2.1. gateway安装 下载和解压win64_11gR2_gateways.zip到Oracle gateway服务器中(本例是金和OA的C6服务器192.168.1.50),运行setup安装即可 【注意:本例我们将透明网关和SQLServer数据库安在了一台服务器上。】 下一步,填写SQLServer数据库服务器主机名,如:192.168.1.50;数据库名称:C6 【说明一下,之所以是C6,是因为192.168.1.50中sqlserver2008的数据库命名为C6】 安装完后,会弹出配置监听界面,因为我们要手工配置,点击取消即可。 安装完Gateway软件后,在ORACLE_HOME目录(D:\product\11.2.0\tg_1)下有一下dg4msql的目录,这就是Gateway软件的目录了。 2.2. 透明网关层配置的SID信息,指明要访问的MSSQL数据库 在D:\Oracle\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora目录下有一个initdg4msql.ora的文件。该文件是Gateway的初始参数文件,描述连接的是哪个SQL Server数据库。该文件的格式是initSID.ora,这里的SID在后面需要用到,系统默认的是dg4msql,一般情况这样就可以了。如果改名,如使用C6作为SIDunix数据库,则文件名变成initC6.ora。 initC6.ora文件内容如修改如下 格式:【HS_FDS_CONNECT_INFO=[IP]/数据实例名/数据库名】 # This is a customized agent init file that contains the HS parameters # that are needed for the Database Gateway for Microsoft SQL Server # # HS init parameters # HS_FDS_CONNECT_INFO=[192.168.1.50]//C6 由于是安装在同一服务器内,所以IP可以用.来替代 # 注意:最好别用localhost,有的数据库可能不识别localhost,只能用.代替,不然会报:ORA-28500错误 HS_FDS_CONNECT_INFO=[.]//C6 HS_FDS_TRACE_LEVEL=OFF HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER 再次说明:只要修改HS_FDS_CONNECT_INFO参数就可以了。格式是:[hostname:port]/serverinstance/databasename,其中hostname是机器名称或IP,PORT是SQL Server的端口号,SQL Server2005默认为1433.serverinstance是SQL Server的实例名,一般空着就行。Databasename是SQL Server的数据库名。因为我们在安装过程中指定了主机名和数据库名,这里已经有信息了。 2.3.透明网关层配置监听器,处理oracle的查询请求 在NETWORK\admin目录里面: 透明网关层的监听配置文件: D:\Oracle\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora ,如果该目录下没有此文件, 注意:这里PROGRAM指定应用程序名称,因为实例配置文件在D:\Oracle\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora,所以PROGRAM不能改变, SID_NAME就是前面init.ora文件名里指定的SID # listener.ora Network Configuration File: D:\product\11.2.0\tg_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = C6) (PROGRAM = dg4msql) (SID_NAME = C6) (ORACLE_HOME = D:\product\11.2.0\tg_1) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = D:\product\11.2.0\tg_1 注意:LISTENER 段,192.168.1.50)(PORT = 1522)) ,本来是1521的端口,改成了1522 启动监听 开始菜单>运行>cmd,输入 C:\Users\Administrator>lsnrctl start LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 – Production on 28-4月 -2018 15:0 8:31 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |