oracle 10g透明网关访问sqlserver的心得

下面是详细步骤: 
一、透明网关连接到一个sqlserver上 

1、下载透明网关(GATEWAY) 
10g下,透明网管是一个单独的组件,需要单独下载安装。 
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html 
这个安装包有200多m。 

2、安装 

现在的安装环境是数据库DB和透明网关装在同一台服务器上。 
安装透明网关: 
解压后,进入目录,点击setup.exe,启动安装界面,安装oracle transparent gateway for microsoft sql server; 
下一步,输入sqlserver地址和sqlserver 数据库名,这里你可以输入正确的,也可以随便输入,或者留空,我们可以安装完成后再配置。 
安装完后,会弹出配置监听界面,因为我们要手工配置,点击取消即可。 

3、配置透明网关参数文件 

默认情况下,安装透明网关时会生成一个默认的参数文件:inittg4msql.ora,它的sid是tg4mssql,你可以使用这个文件,也可以新建一个文件。本例选择新建文件。 
进入$GATEWAY_HOME\tg_1\tg4msql\admin目录我这里是:($GATEWAY_HOME是指透明网关的安装主目录) 
E:\oracle\product\10.2.0\tg_1\tg4msql\admin 

新建一个文件:initnewoa.ora 
这个名字随便取,但要注意格式:init<sid>.ora,把它理解为oracle的参数文件就可以。 

(可以通过这个去查询oracle的SID HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\ORACLE_SID) 
# This is a sample agent init file that contains the HS parameters that are 
# needed for the Transparent Gateway for SQL Server 


# HS init parameters 

HS_FDS_CONNECT_INFO="SERVER=192.168.255.92;DATABASE=trans-cosmos_kq" 
HS_FDS_TRACE_LEVEL=OFF 
HS_FDS_RECOVERY_ACCOUNT=RECOVER 
HS_FDS_RECOVERY_PWD=RECOVER 

HS_FDS_CONNECT_INFO的设置有多种格式,如: 
HS_FDS_CONNECT_INFO=server_name.db_name,但这种写法server_name不能为IP,且端口必须为默认的1433,如: 
HS_FDS_CONNECT_INFO=sqlserver. trans-cosmos_kq 

4、在透明网关服务器上服务器上配置监听 
进入$GATEWAY_HOME\network\admin下,编辑listener.ora文件: 
注意:下面的ORACLE_HOME实际上指的是安装透明网关的主目录,sid_name要与上一步配置的参数 

文件的名称相对应: 

SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
(SID_NAME = PLSExtProc) 
(ORACLE_HOME = E:\oracle\product\10.2.0\tg_1) 
(PROGRAM = extproc) 

(SID_DESC= 
(SID_NAME= newoa) #要与上一步配置的参数文件的名称相对应 
(ORACLE_HOME=E:\oracle\product\10.2.0\tg_1) 
(PROGRAM=tg4msql) #固定的 



LISTENER = 
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = TC-SD-027)(PORT = 1521)) 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 



5、启动监听 
进入$GATEWAY_HOME\BIN\lsnrctl start 
E:\oracle\product\10.2.0\tg_1\bin\lsnrctl start 

C:\>F:\oracle\product\10.2.0\tg_1\bin\lsnrctl start 

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 04-9月 -2008 14:0 

7:53 

Copyright (c) 1991, 2005, Oracle. All rights reserved. 

启动tnslsnr: 请稍候... 

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production 

系统参数文件为E:\oracle\product\10.2.0\tg_1\network\admin\listener.ora 

写入E:\oracle\product\10.2.0\tg_1\network\log\listener.log的日志信息 

监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TC-SD-027)(PORT=1522))) 

监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))) 

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TC-SD-027)(PORT=1522))) 

LISTENER 的 STATUS 

------------------------ 

别名 LISTENER 

版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ 

ction 

启动日期 04-9月 -2008 14:08:32 

正常运行时间 0 天 0 小时 0 分 1 秒 

跟踪级别 off 

安全性 ON: Local OS Authentication 

SNMP OFF 

监听程序参数文件 E:\oracle\product\10.2.0\tg_1\network\admin\listener.o 

ra 

监听程序日志文件 E:\oracle\product\10.2.0\tg_1\network\log\listener.log 


监听端点概要... 

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TC-SD-027)(PORT=1522))) 

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc))) 

服务摘要.. 

服务 "PLSExtProc" 包含 1 个例程。 

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 

服务 "newoa" 包含 1 个例程。 

例程 "newoa", 状态 UNKNOWN, 包含此服务的 1 个处理程序... 

命令执行成功至此,在透明网关上的工作就算完成了。 

6、配置tnsname.ora 

(E:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN 下的tnsname.ora文件 

E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下的tnsname.ora文件 

) 

添加如下内容: 
newoa= 

(DESCRIPTION= 

(ADDRESS= 

(PROTOCOL=TCP) 

(HOST=TC-SD-027) 

(PORT=1522) 



(CONNECT_DATA= 

(SID=newoa)) 

(HS=OK) #这个很重要 Oracle Server要调用异构服务来处理



7、在Oralce DB SERVER创建数据库链接 

SQL> create public database link SQLNEWOA connect to sa identified by "sa" using 

'(DESCRIPTION = 

(ADDRESS=(PROTOCOL=tcp)(HOST=TC-SD-027)(PORT=1522)) 

(CONNECT_DATA=(SID=newoa) 



(HS = ok))'; 

注意:这里面必须要求说链接的数据库必须要有密码,否则dblink会创建失败。 

8、测试连接 

SQL> SELECT SYSDATE FROM DUAL@ SQLNEWOA 

查出来结果说明配置成功。 

注意:1522为服务器DB的端口号 

1521为透明网关的端口号



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值