应开发需求,需要搭建一个oracle--->sql server 的透明网关,具体配置如下:
具体软件信息:
oracle端数据库版本是10.2.0.5.0,透明网关版本是32位的11g r2(sql server端安装),sql server 是2000.
具体安装步骤:
sql server端:
1.解压win32_11gR2_gateways.zip,解压过程中需要注意的一步是填写sql server端的服务器名称,实例名和数据库名,有个概念需要说下,sql server下的结构跟oracle有点不一样,同一个sql server服务器下可以有多个实例,每个实例下可以有多个数据库,因此这步需要把具体的服务器名称,实例名和数据库名填写正确,但是也不是必须的,创建好之后也是可以手工修改的。
对于11gR2的版本来说,解压后在家目录下会有个dg4msql和network这2个文件夹,其实还有很多其他的文件夹,因为我们配置过程只涉及到这2个文件夹,其他的就不说了,接下来需要修改3个文件(如果上面解压过程中,服务器名称,实例名和数据库名都填写正确的话,其实只需要修改2个文件就行了);
如下:
具体要修改的3个文件如下:
透明网关的参数文件:
内容如下:
HS_FDS_CONNECT_INFO=192.168.0.202//cdr
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
oracle连接所需的监听文件:
内容如下:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME= PLSExtProc)
(ORACLE_HOME=D:\product\11.2.0\tg_1)
(PROGRAM= extproc)
)
(SID_DESC=
(SID_NAME= SQLEXPRESS)
(ORACLE_HOME=D:\product\11.2.0\tg_1)
(PROGRAM= dg4msql)
)
)
(SID_LIST=
(SID_DESC=
(SID_NAME= PLSExtProc)
(ORACLE_HOME=D:\product\11.2.0\tg_1)
(PROGRAM= extproc)
)
(SID_DESC=
(SID_NAME= SQLEXPRESS)
(ORACLE_HOME=D:\product\11.2.0\tg_1)
(PROGRAM= dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
ADR_BASE_LISTENER = D:\product\11.2.0\tg_1
tnsnames文件:
内容如下:
dg4msql =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.202)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)
oracle端:
oracle端只需要配置tnsnames文件,添加到该透明网关的访问就行了,添加信息如下:
dg4msql =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.0.202)
(PORT = 1522)
)
(CONNECT_DATA=
(SID = DG4MSQL))
(HS = OK)
)
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.0.202)
(PORT = 1522)
)
(CONNECT_DATA=
(SID = DG4MSQL))
(HS = OK)
)
至此,2端配置基本上结束了,以下是具体测试情况:
1.oracle端tnsping结果如下:
[oracle@localhost ~]$ tnsping dg4msql
TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 05-JAN-2013 11:18:50
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.202) (PORT = 1522)) (CONNECT_DATA= (SID = DG4MSQL)) (HS = OK))
OK (0 msec)
tnsping是通的,没有问题;
2.在相应的用户下创建db_link,具体如下:
create database link dl_msql connect to "user" identified by "password" using 'dg4msql';
这里需要提醒一下,如果oracle端global_names为false,则db_link名称可以随便取,如果是true的话,则需要跟目标库的GLOBAL_NAME相同,也可以直接改成false。
如下为查询结果:
在此记录一下~~
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25618347/viewspace-752139/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25618347/viewspace-752139/