1、透明网关的安装和配置 1、运行Oracle Installation ProductsàUniversal Installer进行透明网关组件的安装 2、选择自定义 3、选择要安装的透明网关 4、系统提示配置 5、查看C:oracleora92tg4msqladmin目录 tg4msql ├─admin--透明网关配置目录 │tg4msql_tx.sql │ ├─bin--系统配置的东西 ├─nls--定义错误的消息 │├─eng │└─jpn ├─demo--提供了一些在SQLServer环境下得demo ├─html--提供了一些SQLServer
2、和Oracle的参考文档 └─trace--提供系统跟踪情况 6、修改C:oracleora92tg4msqladmininittg4msql.ora # HS_FDS_CONNECT_INFO="SERVER=host;DATABASE=northwind" HS_FDS_CONNECT_INFO=host.northwind--hostname.databasename HS_FDS_TRACE_LEVEL=DEBUG HS_FDS_RECOVERY_ACCOUNT=RECOVER HS_FDS_RECOVERY_PWD=RECOVER 7、修改C:oracleora92n
3、etworkadminlistener.ora,增加 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = tg4msql) (ORACLE_HOME = C:oracleora92) (PROGRAM = tg4msql) ) ) 8、修改C:oracleora92networkadminTnsname.ora,增加 TG4MSQL= (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521)) ) (CON
4、NECT_DATA= (SID=tg4msql) ) (HS=OK) ) 9、重新启动侦听服务 Microsoft Windows XP [版本5.1.2600] (C)版权所有1985-2001 Microsoft Corp. C:Documents and SettingsAdministrator>lsnrctl stop LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21 :25 Copyright (c) 1991, 2002, Oracle Corpor
5、ation.All rights reserved. 正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) 命令执行成功 C:Documents and SettingsAdministrator>lsnrctl start LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21 :38 Copyright (c) 1991, 2002, Oracle Corporation.All rights reserved.
6、 启动tnslsnr:请稍候... TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production 系统参数文件为C:oracleora92networkadminlistener.ora 写入C:oracleora92networkloglistener.log的日志信息 监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc))) 监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)
7、)) 正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) LISTENER的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 启动日期14-10月-2007 16:21:40 正常运行时间0天0小时0分2秒 跟踪级别off 安全性OFF SNMPOFF 监听器参数文件C:oracleora92networkadminlistener.ora 监听器
8、日志文件C:oracleora92networkloglistener.log 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521))) 服务摘要.. 服务"PLSExtProc"包含1个例程。 例程"PLSExtProc",状态UNKNOWN,包含此服务的1个处理程序... 服务"tg4msql"包含1个例程。 例程"tg4msql",状态UNKNOWN,包含此服
9、务的1个处理程序... 服务"wbq"包含1个例程。 例程"wbq",状态UNKNOWN,包含此服务的1个处理程序... 命令执行成功 C:Documents and SettingsAdministrator>lsnrctl status LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21 :47 Copyright (c) 1991, 2002, Oracle Corporation.All rights reserved. 正在连接到(DESCRIPTION=(AD
10、DRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) LISTENER的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 启动日期14-10月-2007 16:21:40 正常运行时间0天0小时0分9秒 跟踪级别off 安全性OFF SNMPOFF 监听器参数文件C:oracleora92networkadminlistener.ora 监听器日志文件C:oracleora92networkl
11、oglistener.log 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521))) 服务摘要.. 服务"PLSExtProc"包含1个例程。 例程"PLSExtProc",状态UNKNOWN,包含此服务的1个处理程序... 服务"tg4msql"包含1个例程。 例程"tg4msql",状态UNKNOWN,包含此服务的1个处理程序... 服务"wbq"包含1个例
12、程。 例程"wbq",状态UNKNOWN,包含此服务的1个处理程序... 命令执行成功 C:Documents and SettingsAdministrator> 10、测试解析状态 C:Documents and SettingsAdministrator>tnsping tg4msql TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2 007 16:29:43 Copyright (c) 1997 Oracle Corporation.All rights res
13、erved. 已使用的参数文件: C:oracleora92networkadminsqlnet.ora 已使用TNSNAMES适配器来解析别名 Attempting to contact (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HO ST= host)(PORT=1521))) (CONNECT_DATA= (SID=tg4msql)) (HS=OK)) OK(20毫秒) 11、创建数据库链接 CREATE PUBLIC DATABASE LINK MStest CONNECT TO “sa” IDENT
14、IFIED BY “sa” USING ‘tg4msql’;
12、察看数据库链接
select * from sys.LINK$
13、测试
select * from Customers@MStest;
透明网关配置的疑难问题
配置过程遇到的异常情况:
ORA-28500:连接ORACLE到非Oracle系统时返回此信息:
[Transparent gateway for MSSQL][H006] The init parameter
15、le. ORA-02063:紧接着2 lines(源于MSTEST) 解决过程,请检查以下参数 Listener.ora PROGRAM必须为tg4msql SID_NAME为gateway_sid,也就是说单个透明网关情况下一定是tg4msql,即inittg4msql.ora的名字部分去掉init即可,呵呵 Tnsnames.ora SID为Listener.ora中的SID_NAME TNS的名称可以随便进行配置。 至于以下这两个区别,我到现在也没搞明白L HS_FDS_CONNECT_INFO="SERVER=local;DATABASE=northwind" H
16、S_FDS_CONNECT_INFO=host.northwind 多个透明网关的配置 1、把inittg4msql.ora复制并修改名称为inittg4msql2.ora 2、修改C:oracleora92tg4msqladmininittg4msql2.ora只修改第一行,服务器和数据库名即可 HS_FDS_CONNECT_INFO=host.pubs--hostname.databasename 3、修改C:oracleora92networkadminlistener.ora,增加如下注意SID_Name的变化 SID_LIST_LISTENER = (SID_LIST
17、 (SID_DESC = (SID_NAME = tg4msql2) (ORACLE_HOME = C:oracleora92) (PROGRAM = tg4msql) ) ) 4、修改C:oracleora92networkadminTnsname.ora,增加 TG4MSQL2= (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521)) ) (CONNECT_DATA= (SID=tg4msql2) ) (HS=OK) ) 然后和单个透明网关配置一样,重新启动监听,创建数据库链接,测试。一切OK!






