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为透明网关的端口号
 

你可能感兴趣的:(oracle,sql,数据库,server,server,sqlserver,Parameters)