Oracle数据库的异构服务的原理解析

数据库 Oracle
以下的文章主要介绍的是Oracle数据库的异构服务的相关原理即,异构服务的详细内容的介绍,以及连接的实例演示。

我们都知道有很多的企业都同时存在很多的Oracle数据库相关的平台,而且每个Oracle数据库相关平台上都同时运行,一套或是相关多套的实际应用。随着单位业务不断扩大,如何在不影响现有应用运行的前提下,

快速有效地整合这些分布在单位内部不同数据库平台上的数据,是一个困扰CIO们的问题。面对这一问题,现有解决方案大致可分为以下两种:

1.在应用程序上建立连接不同数据源的数据连接,这样做要求程序员分清哪个连接是对应哪个数据库的,而且如果设计时涉及到存储过程还要按照不同数据库的要求分别编写,加重了程序员的要求。

2.在数据库中设立快照,定时把其他数据源的数据复制到本地数据库,这样虽然解决了前一种方法中不同数据源的问题,但是由于是定时复制,数据不能实时同步,在实时性要求高的应用中这种方法便不能使用。

由于上述两种方法都存在一定的缺点,这里介绍一种Oracle提供的解决Oracle数据库与异种数据源的连接问题的解决方案—Oracle的异构服务(Heterogeneous Services)。

异构服务

“异构服务”是集成在Oracle 8i数据库软件中的功能,它提供了从Oracle数据库访问其他非Oracle数据库的通用技术。熟悉Oracle的读者都很清楚,Oracle提供通过建立DB Link的方法访问非本地数据库,而“异构服务”提供通过建立DB Link使你能够执行Oracle SQL查询,透明地访问其他非Oracle数据库里的数据,就像访问Oracle远程数据库一样。“异构服务”分为两种:

1. 事务处理服务(Transation Service):通过事务处理服务,使用户在访问非Oracle数据库中支持事务处理功能。

2. SQL服务: 通过SQL服务,使用户直接在Oracle数据库中执行对非Oracle数据库的各种SQL语句。

根据异构服务代理程序的不同,“异构服务”连接方式可以分为透明网关和通用连接两种。

透明网关(Transparent Gateways) 透明网关使用Oracle提供的特定网关程序来设置代理,例如连接SQL Server则必须要有SQL Transparent Gateway for SQL Server。

通用连接(Generic Connectivity) 通用连接又分为ODBC连接和OLE DB连接两种,其连接方法和透明网关没有本质区别,只不过通用连接是和数据库一起提供的功能,你不需要向Oracle购买相关的透明网关程序。

连接实例

这个实例的应用环境是Oracle 8.1.7,操作系统Windows 2000 Server英文版,采用通用连接的ODBC for SQL Server连接SQL Server 2000中文版。安装步骤如下:

1. 安装HS部件。

缺省情况下,HS服务是和Oracle 8.1.7一起安装的,你可以查询SYS用户下是否存在HS_BASE_CAPS视图,以确认HS部件是否安装,如果没有可以用相关的安装盘进行安装。

2. 配置ODBC系统连接字。

在控制面板选择“Data Sources (ODBC)”,在“系统DNS”内配置ODBC for SQL Server连接字(dnsora2sql)。

3.配置tnsnames.ora,它位于ORACLE_HOMENETWORKADMIN。

在这个文件中增加如下代码:

 

  1. Lnk2sql =   
  2. (DESCRIPTION =   
  3. (ADDRESS_LIST =   
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = HOSTNAME)(PORT = 1521)))   
  5. (CONNECT_DATA =   

(SID = hs4sql) |< 服务的SID名称,要和Listener里配置的sid相同)

(HS=OK) |< 打开HS服务选项

)

4.配置listener.ora,它位于ORACLE_HOMENETWORKADMIN。

在这个文件中增加如下代码:

  1. SID_LIST_LISTENER =   
  2. (SID_LIST =   
  3. (SID_DESC =   
  4. (SID_NAME = hs4sql) |< 

服务的SID名称,与tnsname名称相对应

  1. (ORACLE_HOME = C:oracleora9201)   
  2. (PROGRAM = hsodbc) |< 

 要使用的HS服务程序,如果使用OLE DB,程序名为hsole )

)

5. 重新启动Oracle listener。

6. 编辑位于ORACLE_HOMEHSADMIN内init.ora,这里是iniths4sql。

修改如下两行代码:

 

  1. HS_FDS_CONNECT_INFO = dnsora2sql |<  

ODBC系统名

  1. HS_FDS_TRACE_LEVEL = 0  

7. 创建DATABASE LINK。

  1. create database link ‘ora2sql’ connect   
  2. to sql1 identified by sql1 using ‘lnk2sql’;  

 8. 测试连接。如:

  1. SQL> select * from region@ora2sql;  

 到此我们已经完成了使用ODBC连接SQL SERVER的配置工作。

总体上说,异构服务扩展了Oracle数据库连接异种数据源的能力,加强了企业数据的整合,是一个快速有效经济地整合企业内部异构数据的解决方案。
 

文章出自:http://database.csdn.net/c_oracle/tag/2

【编辑推荐】

  1. Oracle游标的删除与更新实际操作步骤
  2. 存储结构之Oracle逻辑存储结构
  3. Oracle 8i中字符集乱码问题详细解析
  4. Oracle数据库的系统中6个经验原则
  5. Oracle存储结构之Oracle物理存储结构
责任编辑:佚名 来源: zdnet
相关推荐

2010-04-14 10:56:07

Oracle数据库

2010-04-16 16:09:41

Oracle数据库

2010-04-19 09:26:04

Oracle数据库

2010-04-16 13:34:00

Oracle Java

2009-03-24 13:29:03

XML报文数据交换

2010-04-06 11:30:09

Oracle 数据库

2009-09-09 11:27:30

Oracle数据库服务

2010-04-14 15:14:11

Oracle数据库

2011-08-18 17:05:16

Oracle数据库的服

2011-03-14 13:11:07

Oracle数据库

2011-07-22 16:05:17

SDE服务Oracle数据库

2011-03-25 09:37:17

2011-04-01 09:43:28

SQL Server数据库快照

2011-03-24 17:49:47

数据库恢复

2010-04-19 13:56:19

Oracle数据库服务

2011-03-21 08:58:03

Oracle数据库服务启动

2010-04-15 09:27:37

Oracle数据库

2009-09-02 14:55:19

Oracle数据库

2011-05-26 14:43:49

ORACLE数据库异常处理

2010-04-09 10:32:03

Oracle 数据库
点赞
收藏

51CTO技术栈公众号