通过Oracle透明网关连接Sybase

结渔 2016-07-16

Oracle公司提出的透明网关技术可用于实现与其他多种类型的数据库的互联,实现不同类型数据之间建立连接,方便于使用者进行查询。近日,在公司的某项目的实施过程中,开发人员需要访问Sybase数据库中的某些表,就想到创建一个中间库,使用Oracle透明网关,创建dblink去读取数据。由于在安装过程中出现过不少的错误,特此记录一下配置过程。

一、安装透明网关

先从Oracle的官方网站下载所需版本的透明网关软件。我这里选用的是win32_11gR2_gateways。安装过程可以参看网络搜索上的教程,这里只提两点需要注意的地方:
(1)、透明网关的安装路径不要选择默认,应置于ORACLE_HOME目录下(透明网关和数据库在同一台服务器上)。
(2)、安装之前应准备好异构数据库(Sybase)的IP地址、端口、数据库名。

二、配置透明网关

安装好透明网关软件后,会在$ORACLE_HOME/dg4sybs/admin目录下生成对应的配置文件initdg4sybs.ora。由于我使用的是Windows服务器,配置文件为C:\app\oracle\product\11.2.0\dbhome_1\dg4sybs\admin\dg4sybs.ora,文件内容如下:

1
2
3
4
5
6
7
8
9
10
# This is a customized agent init file that contains the HS parameters
# that are needed for the Database Gateway for Sybase
 
#
# HS init parameters
#
HS_FDS_CONNECT_INFO=[198.168.1.11]:7000/HNXS
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

该配置文件是在安装透明网关的过程中系统自动生成的,原则上不用修改,可以基于此进行后续的配置(你也可以initdg4sybs.ora为模板,创建自己的透明网关配置文件initsid.ora)。另外请注意C:\app\oracle\product\11.2.0\dbhome_1\dg4sybs\admin目录下的另外两个文件:listener.ora.sample和tnsnames.ora.sample,需理解其中的内容。

三、添加监听和TNS配置

这时listener.ora.sample和tnsnames.ora.sample这两个示例文件就可以帮助我们方便的完成配置文件的修改,将listener.ora.sample文件中的"(SID_DESC = ..."部分的内容放到listener.ora文件的SID_LIST下,保存。将tnsnames.ora.sample文件中的“dg4sybs = ...”部分的内容拷贝到tnsnames.ora文件中,保存。配置完成之后,重启监听。

四、创建访问Sybase的DBLINK

1
create publice database link dblink_name connect to "username" identified by "password" using 'dg4sybs';

执行该命令有两点需要注意:

(1)、用户名为访问sybase数据库的用户名和密码。
(2)、如果使用透明网关默认的配置文件的话这里就用dg4sybs,否则,使用你自己定义的SID。

五、测试访问

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
C:\>tnsping dg4sybs
 
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 13-7月 -
2016 12:40:40
 
Copyright (c) 1997, 2010, Oracle.  All rights reserved.
 
已使用的参数文件:
C:\app\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
 
 
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.4.4)(PORT=1521)) (CONN
ECT_DATA=(SID=dg4sybs)) (HS=OK))
OK (10 毫秒)
 
C:\>sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 7月 13 12:41:15 2016
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
 
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> select * from dual@hnxs_link;
 
DUMMY
------
X

至此,所有操作完成,配置成功!

相关推荐