网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 安装配置 > Oracle 异构服务实践  

Oracle 异构服务实践

2003-12-30  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  近期公司准备开发一个计费项目,数据库当然还是选用我最信赖的Oracle了。由于一部分基础数据在一台Win2000 Server的SQL Server 7.0数据库中,需要考虑灵活、可靠的方法实现从Oracle数据库端访问SQL Server中的数据。于是我有机会真正体验Oracle 9I 中的新增强功能“异构服务”(Heterogeneous Services)并为此痛苦了近两天。
  
  先简单介绍一下Oracle异构服务。它是包含在Oracle数据库中的一个模块,通过使用透明网关(Transparent Gateway)或通用连接(Generic Connectivity)来访问其它非Oracle系统的数据。异构服务的主要结构如下:
中国网管论坛bbs.bitsCN.com

  
  各模块简要说明如下:
  
  异构服务模块:属于Oracle数据库的内核部分,负责大部分异构连接的处理;
  
  代理通用代码:对所有基于异构服务产品的通用代码;
  
  驱动:是与非Oracle系统直接交互的模块,实现从异构服务API到特定非Oracle系统API的映射。
  
  代理:是Oracle Server连接非Oracle系统的进程,包括两部分即代理通用代码和针对特定非Oracle系统的驱动。代理的位置可以与非Oracle系统在同一台机器上,或与Oracle Server在同一台机器上,或者单独在一台机器上。我这次实践的环境采用的是最后一种。
  
   
  
  我们所说的透明网关和通用连接实际是异构服务中代理的两种类型。其中透明网关是功能较强的,它通过代理进程从Oracle Server访问各地的异构分布式数据库,而提供给用户的感觉是这些数据库仍然是Oracle数据库Oracle公司提供对大多数商业数据库的透明网关。通用连接则有较多限制,它使用用户自己提供的ODBC或OLE DB驱动程序作为异构服务的代理驱动,并且要求这些驱动必须要安装在Oracle Server的$ORACLE_HOME目录下。

中国网管联盟bitsCN.com


  
  好了,让我们开始亲自动手吧!我的实验环境如下:
  
  主机      操作系统         软件环境
  
  ORADB     Redhat Linux 7.2   Oracle 9.0.1 Database Standard Edition
  
  GATEWAY  Windows 2000 Professional Oracle 9.0.1 Database Standard Edition
  
  SQL Server 2000 (安装类型“仅连接”)
  
  SQLDB    Windows 2000 Server     SQL Server 7.0(访问的数据库是CDR)
  
  注意:Transparent Gateway for Microsoft SQL Server目前只有NT版本,因此网关程序tg4msql仅包含在Oracle Database for windows中。
  
  系统结构:
  
   网管下载dl.bitscn.com
  
  配置过程:
  
  从SQLDB开始:
  
  1. 在SQLDB上创建将要从Oracle数据库访问SQL Server的用户testuser/testuser,并授予可访问CDR的权限;
  
  接下来是GATEWAY:
  
  1.安装好Oracle 9.0.1 Database for Windows后,会发现在%ORACLE_HOME%下有目录tg4msql,以及网关程序$ORACLE_HOME\BIN\tg4msql;
  
  2. 确保在c:\winnt\system32下有ntwdblib.dll,若没有则安装SQL Server2000(安装类型选择“仅连接”)。此文件是访问SQL Server的DB-Library;
  
  3. ping SQLDB看是否通,若不通则在\winnt\system32\drivers\etc\hosts文件中增加一行,用来解析SQLDB的IP地址,很简单不多说了。

网管网www_bitscn_com


  
  4. 修改%ORACLE_HOME%\tg4msql\inittg4msql.ora,这是网关进程启动时需要的初始化文件。只需改下面这一行即可:
  
  HS_FDS_CONNECT_INFO=SQLDB.CDR
  
  5.修改%ORACLE_HOME%\network\admin\listener.ora如下:
  
  LISTENER =
  
  (ADDRESS_LIST=
  
  (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
  
  )
  
  SID_LIST_LISTENER=
  
  (SID_LIST=
  
  (SID_DESC=
  
  (SID_NAME=tg4msql)
  
  (ORACLE_HOME=e:\Oracle\OraHome_9I) #用你的%ORACLE_HOME%
  
  (PROGRAM=tg4msql)
  
  )
  
  )
  
  最后是ORADB:
  
  1.修改tnsnames.ora
  
  CDR = #CDR是我起的,你可以选用其它
  
  (DEsrciptION =
  
  (ADDRESS =
  
  (PROTOCOL = TCP)
  
  (HOST= GATEWAY)
  
  (PORT = 1521)
  
  )
  
  (CONNECT_DATA =
网管bitscn_com

  
  (SID = tg4msql) #tg4msql必须要和GATEWAY上listener.ora中的SID一致
  
  )
  
  (HS = OK) #这很重要,告诉Oracle Server要调用异构服务模块来处理
  
  )
  
  2.修改initora9i.ora(数据库初始化文件)
  
  global_names=true,重启数据库
  
  否则会在执行sql时报错:ORA-02085: 数据库链接CDR与HO.WORLD相连结
  
  原因如下:The GLOBAL_NAMES parameter when set to TRUE implies that database link name should be similar to the Global database name to which you are trying to connect.
  
  3.创建访问SQLDB.CDR的数据库链接
  
  SQL>create public database link cdr connect to testuser identified by testuser using ‘CDR’; 网管u家u.bitsCN.com
  
  4. OK!最后执行SQL测试看是否能正常访问SQL Server
  
  SQL>select count(*) from all_tables@cdr;
  

TAGs   实践   服务   Oracle   数据库   Server   SQL   访问   连接   代理      
 上一篇:在AIX5100-05 上安装oracle9i   下一篇:关于oracle配置多个数据库的问题(图)
相关文章列表
Oracle 异构服务实践 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.VMware下RedHat安装Oracle 9i 
2.Oracle10g RAC with ocfs在windows安装
3.一步一步教你如何安装Oracle 10g
4.连接oracle的总结(关于tnsname和监听)
5.AIX下字符界面安装oracle 10g过程
6.Oracle数据库监听配置
7.RedHat AS4 下安装oracle10g
8.图解Oracle9i在Windows2000下的安装(1)
9.给Oracle数据库打补丁
10.解决Oracle XDB与Tomcat等的8080端口的冲
最新推荐文章:
1.虚拟机RedHatLinux9安装Oralce9i全过程
2.如何连接 Oracle 及故障解决办法总结
3.新手入门 Windows下Oracle安装图解
4.给Oracle数据库打补丁
5.VMware下RedHat安装Oracle 9i 
6.实用心得:虚拟机下Oracle的安装
7.详细介绍:安装0racle 10g 的
8.在 Oracle 数据库上构建 
9.Oracle 10g学习手册2:安装与构建一(图)
10.恰当选择嵌入式Linux环境下的GUI系统(图)
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的