前言:之前已经整理过两个文档是关于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的配置几乎是一样的,按照这个操作一般是没有问题的,但是整个过程设计的名称建议有一个内部的规范,后面再使用的过程中就会发现这个规范带来的管理上的好处;
........................................................................................................................................................................
本文作者:JOHN,某上市公司DBA,业余时间专注于数据库的技术管理,从管理的角度去运用技术。
ORACLE技术博客:ORACLE 猎人笔记 数据库技术群:367875324 (请备注ORACLE管理 )
........................................................................................................................................................................