Skip Headers

Oracle® Database Heterogeneous Connectivity Administrator's Guide
10g Release 1 (10.1)

Part Number B10764-01
Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page

Go to previous page
Go to next page
View PDF


This chapter describes the challenges of operating in a heterogeneous environment. Oracle recognizes these challenges and offers both synchronous and asynchronous solutions that enable companies to easily operate in such an environment. The two synchronous solutions, Oracle Transparent Gateways and Generic Connectivity, are discussed this book.

This chapter contains these topics:

The Information Integration Challenge

Information integration is a challenge that affects many organizations. Many run several different database systems. Each of these systems stores data and has a set of applications that runs against it. This data is just bits and bytes on a file system - and only a database can turn the bits and bytes of data into business information. Integration and consolidation of all business information would allow an organization to easily and quickly take advantage of the synergies inherent in business information.

Consolidation of all data into one database system is often difficult. This is in large part because many of the applications that run against one database may not have an equivalent that runs against another. Until such time as migration to one consolidated database system is made feasible, it is necessary for the various heterogeneous database systems to work together.

There are several problems to overcome before such interoperability becomes possible. The database systems can have different access interfaces, different datatypes, different capabilities, and different ways of handling error conditions. Even when one relational database is trying to access another relational database the differences are significant. In such a situation, the common features of the databases include data access through SQL, two-phase commit, and similar datatypes.

However, there are significant differences as well. SQL dialects can be different, as can transaction semantics. There can be some datatypes in one database that do not exist in the other. The most significant area of difference is in the data dictionaries of the two databases. Most data dictionaries contain similar information but the information is structured for each in a completely different way. There are several possible ways of overcoming this problem. In this book, we describe the approach that Oracle has taken for synchronously accessing information from multiple sources.

How Oracle Addresses Synchronous Information Integration

If a client program needs to access or modify data at several Oracle databases, it can open connections to each of them. This approach, however, has several drawbacks. Among them, are the following. If you want to join data from the databases, then the client must contain logic that does that. If data integrity must be guaranteed, then the client will need to contain transaction coordination logic.

Oracle provides another approach called distributed processing, where the client connects to one Oracle database and shifts the burden of joining data and transaction coordination to that database. The database that the client program connects to is called the local database. Any database other than this one is a remote database. The client program can access objects at any of the remote databases using database links. The Oracle query processor takes care of the joins and its transaction engine takes care of the transaction coordination.

The approach that Oracle has taken to solving the heterogeneous connectivity problem is to allow a non-Oracle system to be one of the remote nodes in the previously described scenario. From the client's point of view, the remote non-Oracle system functions like a remote Oracle system. It will appear to understand the same SQL dialect and to have the same data dictionary structure as an Oracle system. Access to a non-Oracle system in this manner is done through a component in the Oracle server called Heterogeneous Services.

The work done by the Heterogeneous Services component is, for the most part, completely transparent to the end user. With only a few exceptions (these are noted in later chapters), you are not required to do anything different to access a non-Oracle system than is required for accessing an Oracle system. The Heterogeneous Services component is used as the foundation for implementing Oracle's access to non-Oracle databases.

The following are two methods that Oracle uses for solving the challenges of information sharing and integration in a heterogeneous environment. Because they are both based on a foundation that is integrated into the database, they can exploit all of the features of the database.

Oracle also offers asynchronous information integration solutions that are mentioned here, but that are not discussed in this book. Briefly, these solutions include:

Benefits of Oracle's Solution for Synchronous Information Integration

Much of the processing power of Generic Connectivity and Transparent Gateways is integrated into the database. This provides an efficient solution for information integration that enables full exploitation of the power and features of the Oracle database. This includes such features as powerful SQL parsing and distributed optimization capabilities.

The following sections explore the benefits of Oracle's approach to resolving the challenges of a heterogeneous environment:

Remote Data Can Be Accessed Transparently

Both Generic Connectivity and Oracle Transparent Gateways provide the ability to transparently access data in non-Oracle databases from an Oracle environment. You can create synonyms for the objects in a non-Oracle database and refer to them without having to specify a physical location. This transparency eliminates the need for application developers to customize their applications to access data from different non-Oracle systems, thus decreasing development efforts and increasing the mobility of the application.

Instead of requiring applications to interoperate with non-Oracle systems using their native interfaces (which can result in intensive application-side processing), applications can be built upon a consistent Oracle interface for both Oracle and non-Oracle systems.

There is No Unnecessary Data Duplication

Generic Connectivity and Oracle Transparent Gateways provide applications direct access to data in non-oracle databases. This eliminates the need to upload and download large amounts of data to different locations, thus reducing data duplication and saving disk storage space. Also, by eliminating this need to upload and download large amounts of data there is a further benefit of a reduced risk for unsynchronized or inconsistent data.

SQL Statements Can Query Several Different Databases

The Oracle database server accepts SQL statements that query data stored in several different databases. The Oracle database server with the Heterogeneous Services component processes the SQL statement and passes the appropriate SQL directly to other Oracle databases and through gateways to non-Oracle databases. The Oracle database server then combines the results and returns them to the client. This enables a query to be processed so that it spans the non-Oracle database system, other databases, and local and remote Oracle data.

Oracle's Application Development and End User Tools Can Be Used

Generic Connectivity and Oracle Transparent Gateways extend the range of Oracle's database and application development tools. Oracle has tools that increase application development and user productivity by reducing prototype, development, and maintenance time.

You are not required to develop new tools or learn how to use other tools to access data stored in non-Oracle databases. Instead, you can access Oracle and non-Oracle data with a single set of Oracle tools. These tools can run on remote machines connected through Oracle Net to the Oracle database server.

Users Can Talk to a Remote Database in its Own Language

Oracle enables you to transparently access non-Oracle systems using Oracle SQL. In some cases, however, it becomes necessary to use non-Oracle system SQL to access the non-Oracle system. For such cases, Oracle has a pass-through feature that enables you to bypass Oracle's query processor and to talk to the remote database in its own language