实验环境:
Linux服务器(192.168.xx.xx1) :达梦8
Linux服务器(192.168..xx.xx2) :Oracle11g 11.2.0.4
WINDOWS服务器(192.168..xx.xx3):win64_11gR2_gateways oracle数据库透明网关
Oracle的透明网关gateways工具,它就像Oracle的客户端工具一样,可以轻松访问其他主机上的异构数据库。如DB2,informix ,mysql ,MS SqlServer等等,但没有达梦,还好Oracle透明网关支持ODBC,因此在配置Oracle访问达梦的DBLINK,首先要将达梦数据库在windows主机上创建ODBC数据源,然后在windows主机上安装透明网关,并配置hs,将ODBC配置为Oracle自身认可的Oracle服务,然后Oracle源数据就可以通过对该服务创建DBLINK实现oracle到达梦访问。
1、WINDOWS主机上配置达梦ODBC数据源
打开WINDOWS 的控制面板,在管理工具中找到创建【ODBC数据源的管理程序】,选择系统DSN,创建ODBC数据源,单击添加按钮,进入配置页面,添加数据源,找到对应的数据库驱动(注意:前提条件下windows主机上要先安装达梦数据库软件,否则无法获取达梦数据库的驱动)。填写好数据库信息,创建ODBC数据源(进行测试),例如可以配置了一个叫dg4odbc的ODBC数据源。
2、WINDOWS主机上安装透明网关-Gateways
从Oracle官网上下载对应版本的Gateways安装包,Gateways安装具体过程略过,类似安装oracle数据库客户端,安装的组件选择【类似Oracle database gateway for ODBC】。假设安装目录为:\product\11.2.0\tg_1。进入到E:\product\11.2.0\tg_1\hs\admin目录,以及network/admin目录,配置hs,监听,以及tns。
3、配置HS,监听,tnsname.ora
配置HS:initdg4odbc.ora ,文件内容如下:
文件命名格式为:init+Service_NAME.ora ,这个Service_NAME是需要自己命名的,在这里取名叫做dg4odbc,该文件配置如下:
HS_FDS_CONNECT_INFO = dg4odbc
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
配置HS:tnsname.ora,文件内容如下:
dg4odbc =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.xx.xx3)(PORT=1521))
(CONNECT_DATA=(SID=dg4odbc))
(HS=OK)
)
配置HS:监听Listener.ora,文件内容如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xx.xx3)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=dg4odbc)
(ORACLE_HOME=E:\product\11.2.0\tg_1)
(PROGRAM=dg4odbc)
)
)
ADR_BASE_LISTENER = E:\product\11.2.0\tg_1
重新启动监听程序E:\product\11.2.0\tg_1\bin\LSNRCTL.exe restart
4、创建DBLINK,并测试
CREATE PUBLIC DATABASE LINK test_sql CONNECT TO "test" identified by "test1234567" using '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.xx.xx3)(PORT=1521))(CONNECT_DATA=(SID=dg4odbc))(HS=OK))';
测试语句:select * from dual@test_sql;
这样Oracle就可以通过这种方式访问到达梦数据库。
注意事项:
1、ODBC配置前应在windows主机上安装达梦数据库,否则找不到驱动。
2、ODBC配置后,应进行有效性测试,测试能否正常访问到达梦数据库。
3、安装透明网关后,配置hs的initdg4odbc.ora文件 ,tnsname.ora 文件,监听文件之间的关系要搞清楚。
文章
阅读量
获赞