目前一个项目需要同步SQL Server2008数据到Oracle 9i数据库,通过什么方式来实现异构数据库的访问呢?Oracle 9i提供了透明网关( Transparent Gateway )组件。
透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。本文的透明网关与ORACLE数据库在同一台主机上。SQL Server数据库K3_YDZD。
Step1:安装ORACLE透明网关。进入Oracle Universal Installer,选择Transparent Gateway组件,勾选适用与SQL server的项。
Step2:设定SQL Server数据库参数。在安装界面中输入SQL Server数据库服务器IP及数据库名称。按照安装提示,一路next,完成透明网关安装。
Step3:创建初始化文件。在D:\oracle\ora92\tg4msql\admin下复制原有的inittg4msql.ora文件将其另存为一个新文件initK3_YDZD.ora放在在相同的目录下,文件名需要和数据库名一致。确保参数正确:
HS_FDS_CONNECT_INFO="SERVER#SQL 服务器IP;DATABASE#SQL Server数据库名称"。
Step4:修改透明网关server上的D:\oracle\ora92\network\admin目录下listener.ora,在SID_LIST中加入以下内容:
(SID_DESC =
(SID_NAME = K3_YDZD) #SID_NAME自己命名
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = tg4msql)
)
Step5:在Oracle server上的tnsnames.ora中加入到透明网关的tnsname,内容如下:
sql2008 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver)(PORT = 1521))
#此处HOST填的是透明网关SERVER的地址
)
(CONNECT_DATA = (SID = K3_YDZD) )
#此SID应和透明网关SERVER上设定的SID相同
(HS=OK)
)
Step6:现在就可以在ORACLE SERVER上创建DB LINK了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15592508/viewspace-764731/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15592508/viewspace-764731/