1、透明网关的安装和配置1、运行 Oracle Installation ProductsUniversal Installer 进行透明网关组件的安装2、选择自定义3、选择要安装的透明网关4、系统提示配置5、查看 C:oracleora92tg4msqladmin 目录tg4msqladmin-透明网关配置目录tg4msql_tx.sqlbin-系统配置的东西nls-定义错误的消息engjpndemo-提供了一些在 SQLServer环境下得 demohtml-提供了一些 SQLServer和 Oracle的参考文档trace-提供系统跟踪情况6、修改 C:oracleora92tg4msqla
2、dmininittg4msql.ora# HS_FDS_CONNECT_INFO=“SERVER=host;DATABASE=northwind“HS_FDS_CONNECT_INFO=host.northwind-hostname.databasenameHS_FDS_TRACE_LEVEL=DEBUGHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER7、修改 C:oracleora92networkadminlistener.ora,增加SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SI
3、D_NAME = tg4msql)(ORACLE_HOME = C:oracleora92)(PROGRAM = tg4msql)8、修改 C:oracleora92networkadminTnsname.ora,增加TG4MSQL=(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521)(CONNECT_DATA=(SID=tg4msql)(HS=OK)9、重新启动侦听服务Microsoft Windows XP 版本 5.1.2600(C)版权所有 1985-2001 Microsoft Cor
4、p.C:Documents and SettingsAdministratorlsnrctl stopLSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21:25Copyright (c) 1991, 2002, Oracle Corporation.All rights reserved.正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)命令执行成功C:Documents and SettingsAdministratorlsnr
5、ctl startLSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21:38Copyright (c) 1991, 2002, Oracle Corporation.All rights reserved.启动 tnslsnr:请稍候.TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production系统参数文件为 C:oracleora92networkadminlistener.ora写入 C:oracleora92networklog
6、listener.log的日志信息监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)LISTENER的 STATUS-别名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production启动日期 14-10月-
7、2007 16:21:40正常运行时间 0天 0小时 0分 2秒跟踪级别 off安全性 OFFSNMPOFF监听器参数文件 C:oracleora92networkadminlistener.ora监听器日志文件 C:oracleora92networkloglistener.log监听端点概要.(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=.pipeEXTPROC0ipc)(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host)(PORT=1521)服务摘要服务“PLSExtProc“包含 1个例程。例程“P
8、LSExtProc“,状态 UNKNOWN,包含此服务的 1个处理程序.服务“tg4msql“包含 1个例程。例程“tg4msql“,状态 UNKNOWN,包含此服务的 1个处理程序.服务“wbq“包含 1个例程。例程“wbq“,状态 UNKNOWN,包含此服务的 1个处理程序.命令执行成功C:Documents and SettingsAdministratorlsnrctl statusLSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:21:47Copyright (c) 1991, 2
9、002, Oracle Corporation.All rights reserved.正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)LISTENER的 STATUS-别名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production启动日期 14-10月-2007 16:21:40正常运行时间 0天 0小时 0分 9秒跟踪级别 off安全性 OFFSNMPOFF监听器参数文件 C:oracleora92networkadminlistener.ora监
10、听器日志文件 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,包含此服务的 1个处理程序.服务“wbq“包
11、含 1个例程。例程“wbq“,状态 UNKNOWN,包含此服务的 1个处理程序.命令执行成功C:Documents and SettingsAdministrator10、 测试解析状态C:Documents and SettingsAdministratortnsping tg4msqlTNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-10月-2007 16:29:43Copyright (c) 1997 Oracle Corporation.All rights reserved.已使用的参数
12、文件:C:oracleora92networkadminsqlnet.ora已使用 TNSNAMES适配器来解析别名Attempting to contact (DESCRIPTION= (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST= host)(PORT=1521) (CONNECT_DATA= (SID=tg4msql) (HS=OK)OK(20 毫秒)11、创建数据库链接CREATE PUBLIC DATABASE LINK MStest CONNECT TO “sa” IDENTIFIED BY “sa” USING tg4msql;12
13、、察看数据库链接select * from sys.LINK$13、测试select * from CustomersMStest;透明网关配置的疑难问题配置过程遇到的异常情况:ORA-28500:连接 ORACLE到非 Oracle系统时返回此信息:Transparent gateway for MSSQLH006 The init parameter is not set. Please set it in init.ora file.ORA-02063:紧接着 2 lines(源于 MSTEST)解决过程,请检查以下参数Listener.oraPROGRAM 必须为 tg4msqlSID
14、_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
15、、修改 C:oracleora92tg4msqladmininittg4msql2.ora 只修改第一行,服务器和数据库名即可HS_FDS_CONNECT_INFO=host.pubs-hostname.databasename3、修改 C:oracleora92networkadminlistener.ora,增加如下注意 SID_Name 的变化SID_LIST_LISTENER =(SID_LIST =(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!