透明网关架设工作原理环境sqlserver服务器:MPZSMS01sqlserverdatabase:SMS_97A透明网关服务器:10.87.14.167ORACLE服务器:10.87.14.218准备条件:服务器防火墙全部关闭保证sqlserver验证模式为sqlserver及windows验证模式保证sqlserver为跨database连接安装透明网关下载透明网关文件http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html进行安装,勾选两个组建填写相关信息,可以先随便填写,然后进行手动配置配置配置网关异构服务服务文件$ORACLE_HOME\dg4msql\admin下init开头文件网关安装好后会有个默认的配置文件initdg4msql.ora模版,对其进行copy修改HS_FDS_CONNECT_INFO=MPZSMS01//SMS_97AHS_FDS_TRACE_LEVEL=DEBUGHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER(HS_FDS_CONNECT_INFO为异构数据库连接字符串,MPZSMS01为异构数据库IP地址,SMS_97A为异构数据库名称。如果目标数据库有多个异构数据库实例可写成MPZSMS01/DB_NAME_INSTANCE/SMS_97A。如果是10G或9I可写成HS_FDS_CONNECT_INFO=”SERVER=HostIP,DATABASE=DBName”HS_FDS_TRACE_LEVEL为跟踪文件是否开启,如果关闭则OFF,路径为$ORACLE_HOME\dg4mssql\trace下。另外两个参数使用默认值RECOVER就可以了。保存时的文件名很重要,其格式必须为:init*.ora,*通配部分部分是自己可以命名的部分,命名规则要符合OS的命名规则,如:initsms97a.ora,深色部分即为自己命名部分。由于透明网关的工作原理关系,自己命名的部分也会被TNSNAMES.ORA和LISTENERS.ORA文件所以使用,所以请谨慎命名配置listener.ora文件,配置完成后重启监听服务SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(PROGRAM=dg4msql)(SID_NAME=sms97a)(ORACLE_HOME=C:\product\11.2.0\tg_1)))或者通过netmanager工具进行添加参数SID_NAME即为上一步骤命名的sms97a,PROGRAM为透明网关组建的目录名称dg4msql,10g之前为tg4msqlORACLE本位目录即为ORACLE_HOMEoracle数据库中配置tnsnames.ora文件mpzsms97a=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.87.14.167)(PORT=1521))(CONNECT_DATA=(SID=sms97a))(HS=OK))说明:主要添加HS参数,表明此TNS服务是异构数据库服务。CONNECT_DATA参数的子参数必须为SID,SID为我们命名的sms97a配置好利用tnsping看是否通创建到异构数据库的DB_LINKCREATEPUBLICDATABASELINK"TO_MPZSQL.MITACAD.COM"CONNECTTOSMSIDENTIFIEDBY
USING'MPZSMS97A';查看能否查询SQLSERVER上的tableSELECT*FROMagents@TO_MPZSQL