Oracle 11g透明网关连接sybase数据库


前言:之前已经整理过两个文档是关于Oracle透明网关连接mysql数据库和sqlserver数据库的,本来以为不会再通过透明网关连接其他的数据库了,但是居然又碰到了,就是oracle通过透明网关连接sybase数据库,再次不厌其烦的整理成了文档;

注:里面整理了透明网关的搭建、连接sqlserver数据库、mysql数据库的方法,由于时间紧张请各位在博客里面搜索下;

正文:配置透明网关连接sybase数据库的方法其实和连接sqlserver的方法,几乎是一模一样的。(有网友说明需要安装sybase的客户端驱动,但是经过验证是不用的)

二、详细的操作截图如下:

按照以上步骤操作即可;

三、透明网关的配置

3.1配置透明网关的参数文件

进入目录:$ORACLE_HOME/dg4sybs/admin/

根据参数文件initdg4sybs.ora,创建一个参数文件initecc.ora(参数文件名为initsid.ora)


# 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=192.168.0.124:4901/ECC(修改该栏即可)

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER
 

3.2 修改数据库的监听配置


注:只在SID_LIST下面增加SID_DESC:

SID_LIST_LISTENER =

  (SID_LIST =

      (SID_DESC=

        (SID_NAME=ECC)

          (ORACLE_HOME=d:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM=dg4sybs)

        )

      )

请注意:

SID_NAME要跟上面的参数文件名称相对应

ORACLE_HOME 目录跟实际的安装目录相符

PROGRAM 为dg4sybs
 

配置好监听文件后,重启下lisnrctl

 

3.3 增减tnsnames文件的配置


ECC =(注:可设置为任意名)

(DESCRIPTION=

(ADDRESS=(PROTOCOL=tcp)(HOST= localhost)(PORT=1521))

(CONNECT_DATA=(SID=ECC))

(HS=OK)

)

请注意:

SID的名字为监听文件配置的名字;

配置完成,可以运行tnsping ECC

四、配置dblink

SQL> CREATE PUBLIC DATABASE LINK ECC_LINK CONNECT TO "username" IDENTIFIED BY "password" USING 'ECC';

ECC_LINK名字可以根据要求自己定;

'ECC'为tnsnames文件配置的名称;

配置完成运行:select * from dual@ECC_LINK; 有返回值说明配置成功;

提示: sybase 数据库是区分大小写的,因此许多表名、字段如果含有小写内容,需要用双引号扩住。
实际上 oracle 也是可以区分大小写的,但平时只要不用双引号,oracle 会自动转化为大写。

总结:透明网关连接sybase的设置跟sqlserver的配置几乎是一样的,按照这个操作一般是没有问题的,但是整个过程设计的名称建议有一个内部的规范,后面再使用的过程中就会发现这个规范带来的管理上的好处;

相关内容