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,文件内容如下:

# 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

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

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

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

五、测试访问

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

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

通过Oracle透明网关连接Sybase的更多相关文章

  1. Oracle 11g透明网关连接Sqlserver

    Oracle 11g透明网关连接Sqlserver oracle 透明网关是oracle连接异构数据库提供的一种技术.通过Gateway,可以在Oracle里透明的访问其他不同的数据库,如SQL Se ...

  2. Oracle 11g透明网关连接Sqlserver 2000(转)

    Oracle 11g透明网关连接Sqlserver 2000: http://www.cnblogs.com/lightnear/archive/2013/02/03/2890858.html 透明网 ...

  3. 配置Oracle透明网关用以连接 SQLServer经验总结

    一.情景介绍   业务中设计两个不同的系统,系统1和系统2,两个系统分别使用的是Oracle和SQLServer数据库.现需要在系统1的数据库中直接查询系统2数据库的数据.即在Oracle中执行SQL ...

  4. Oracle 11g透明网关连接Sqlserver 2000

    一.环境 公司网站系统使用的是IIS + Oracle 但公司某系统使用的是Sqlserver 2000, 但其数据需要做成报表放到网站上,为简化编程,使用Oracle做透明网关,定期从Sqlserv ...

  5. ORACLE透明网关访问SQL Server配置总结

      透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...

  6. Oracle透明网关访问SQLServer数据库

    针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...

  7. Oracle透明网关访问MySQL数据库

    针对oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问mysql/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数 ...

  8. Oracle 左连接、右连接、全外连接、(+)号作用

    分类: Oracle Oracle  外连接 (1)左外连接 (左边的表不加限制)       (2)右外连接(右边的表不加限制)       (3)全外连接(左右两表都不加限制) 外连接(Outer ...

  9. ArcGis设置到 Oracle 的连接

    设置到 Oracle 的连接 地理数据 » 管理地理数据库 » Oracle 中的地理数据库 要建立从客户端计算机到 Oracle 数据库的连接,必须在客户端计算机上安装 Oracle 客户端应用程序 ...

随机推荐

  1. SQL学习笔记:库和表的创建

    目录 创建和删除数据库 创建和删除表 添加.修改和删除字段 创建和删除数据库 CREATE DATABASE justForLearn; DROP DATABASE justForLearn; 创建和 ...

  2. EasyUI Datagrid的简单使用

    此前同样写过EasyUI Datagrid的demo,好记性不如烂笔头,何况记性也不是那么好,赶紧记录一下.照搬上一篇EasyUI Tree的格式. 实现效果:获取数据库表的数据,在EasyUI Da ...

  3. cocos2dx 用命令行进行编译的指令

    cocos compile -p android -m release -s F:\cocosproj\antest --ap android-20 上面那条就是我常用的指令,这指令修改一下就成了你的 ...

  4. Ural 1091 Tmutarakan Exams

    Tmutarakan Exams Time Limit: 1000ms Memory Limit: 16384KB This problem will be judged on Ural. Origi ...

  5. Java并发编程:线程池 - 实例

    代码块: public class test { public static void main(String[] args) { test t = new test(); ThreadPoolExe ...

  6. HDU 1210

    感觉就是乱搞找规律 自己写几组数据 本来开始是想着把 n 个数字每次回到原来位置各需要多少次,然后取它们的最小公倍数就好了 但是数据写着写着发现每一个数回到原来位置次数都是一样的,那么就简单了,直接第 ...

  7. noip模拟赛 天天和不可描述

    分析:直接就这么翻肯定是不行的,换一种想法:有括号就是把括号里的字符串倒着输出,如果在括号里又遇到了括号就继续倒着输出,相当于递归. 我们可以用递归直接做,也可以用一层循环搞定,每次从左括号跳到右括号 ...

  8. 又见GCD

    Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c.   Input ...

  9. Oracle怎么用(常用工具)

    ​ Oracle数据库管理系统装好了!那要怎么用呢? 将介绍的工具:①Database Configuration Assistant ②SQL Plus ③SQL Developer ​ 一.Dat ...

  10. Python3基础(五) 函数

    函数(function)是组织好的.可重复使用的.具有一定功能的代码段.函数能提高应用的模块性和代码的重复利用率,Python中已经提供了很多内建函数,比如print(),同时Python还允许用户自 ...