1、一、 安装环境 1. 当前使用数据库操作系统:Windows Server 2008 x64IP 地址:192.168.3.60数据库版本:oracle 10g 10204数据库实例:CRDS2. 目标数据库操作系统:Windows Server 2008 x64IP 地址:192.168.3.60数据库版本:SQLServer2008数据库实例:IA3. 透明网关操作系统:Windows Server 2003IP 地址:192.168.3.8数据库版本:oracle 9i 92010二、 安装流程1. Transparent Gateway for SQL Server 安装从 Oracl
2、e 9i 数据库安装光盘 setup.exe 安装,选择安装客户端安装类型选择:管理员安装完客户端后,重新运行 setup.exe,安装产品选择 Oracle 9i Database 9.2.0.1.0, 安装类型选择“自定义“,安装组件选择 Oracle Net Services 和 Oracle Transparent Gateways, 并在此项下选择 Oracle Transparent Gateway for Microsoft SQL Server, 安装过程中可以不设置连接到SQL Server 的信息 .如下图所示:以下的 IP 地址及数据库以实际环境为准2. 修改透明网关配置
3、文件编辑%ORACLE_HOME%tg4msqladmininit%ORACLE_SID%.ora, 该文件包含了 TG for SQL Server 的配置信息 , 其中%ORACLE_SID% 是给 TG 的“SID“, 默认为 tg4msql. 修改文件中的行:其中 SERVER 后为 SQL Server 所在的服务器名称或 ip 地址,Database 为连接到的数据库名称。当然,如果在 SQL Server 服务器上,有多个 sql server 实例,则使用服务器名实例名的方式设置上面的 SERVER 值,如:HS_FDS_CONNECT_INFO=“SERVER=192.168
4、.3.60IA;DATABASE=FCDB_BOND“。3. 配置透明网关监听编辑%ORACLE_HOME%networkadminlistener.ora, 编辑对应 listener 的SID_LIST%ORACLE_SID%必须为第二布中设置的 SID, 默认值为 tg4msql. 修改 listener.ora 文件后需重启 listener 使修改生效 .如果没有 listener.ora 文件,请用 Net Configuration Assistant或 Net Manager 新建一个 LISTENER.以上操作都是在 Transparent Gateway 所在机器上。4.
5、配置 tnsnames.ora在当前使用数据库服务器上:编辑需要连接到透明网关的 Oracle Server 的$ORACLE_HOMEnetworkadmintnsnames.ora, 例如:HOST 指向 Transparent Gateway 所在的机器的 IP,Service_name 为第 3 步中的 SID_NAME。使用 tnsping 测试服务名是否连通,命令:tnsping tg4msql。如果不通,请检查防火墙及网络配置。5. 在 Oracle 数据库中建立连接, 指向 TG for SQL Server其中 tg4msql 是 tnsnames 中建立的连接字符串。6.
6、确保 CATHS.sql 已被运行。以 SYS 用户连接上去,查看有没有 SYS.HS_FDS_CLASS,如果没有,运行$ORACLE_HOME/RDBMS“ADMIN“CATHS.SQL。7. 测试在目标数据库中建立表 t,插入几条记录如运行 select * from tfcdb。三、 本次配置文件透明网关D:oracleora92tg4msqladmininittg4msql.ora当前使用数据库D:oracleora92networkadmin listener.ora当前使用数据库D:oracleora92networkadmintnsnames.ora四、 问题解决及注意事项【错
7、误信息】【错误处理】访问 dblink 时说明:这是基于网关的方式,因此不能在断开网络的情况下本地的 oracle 连接本地的 SQLServer。【错误信息】【错误处理】在建立 DBlink 时,SQL Server 的用户名和密码必须小写,而且要加双引号【错误信息】【错误处理】以 SYS 运行 exec dbms_hs.replace_base_caps(531, 531, First/Last function);【错误信息】【错误处理】检查 listener.ora 和 tnsnames.ora 的配置信息有误【错误信息】【错误处理】以上信息表示由于 SQlServer 使用了“仅 Windows“的身份验证方式,因此用户无法使用SQLServer 的登录帐户(例如 sa )进行连接,解决方法如下设置允许 SQLServer 身份登录 (基本上这个很有用)操作步骤:1.在企业管理器中,展开“SQL Server 组“,鼠标右键点击 SQL Server 服务器的名称2.选择“属性“3.再选择“安全性“选项卡4.在“身份验证“下,选择“SQL Server 和 Windows“5.确定,并重新启动 SQL Server 服务。一定要重新启动 sql 服务,关闭 sql,重新进入,并不是重新启动 sql 服务。【错误信息】