Generic Connectivity and
Oracle Transparent Gateway®

Gateways -- Transparent Gateway for Rdb VS Sql*Net for Rdb

Gateways -- Gateway Installation

Gateways -- Gateway Process

Gateways -- Gateway functionality

Gateways -- Messaging Gateway

Answers

What's new in v10g?

In 10g you can execute user-defined functions in a remote non-Oracle database in a select statement. For example: SELECT max(getsalforemp@remotedb(employee_id)) FROM employees@remotedb; SELECT * FROM departments@remotedb WHERE department_id IN SELECT getdeptforemp@remotedb(employee_id) FROM employees@remotedb); This is supported by the Transparent gateway for Sybase and Transparent Gateway for SQL Server.
[Top of Page]   

What are Oracle Transparent Gateways?

Oracle Transparent Gateways are one of two Oracle's solutions for transparently accessing data stored in a non-Oracle system from an Oracle environment. They are tailored specifically for the non-Oracle system therefore they are an optimized solution with more functionality and better performance than Generic Connectivity. They are also an end-to-end (Oracle to non-Oracle) certified solution
[Top of Page]   

What is Generic Connectivity?

Generic Connectivity is one of two Oracle's solutions for transparently accessing data stored in a non-Oracle system from an Oracle environment. It is a low-end solution and can be used to access non-Oracle systems for which Oracle does not offer a Transparent Gateway solution. It is based on the ODBC standard so it allows connectivity to any non-Oracle system which is ODBC compliant. This solution is free and available with the database. It requires an ODBC driver to connect to the non-Oracle system. It is recommended for non-Oracle systems for which Oracle does not provide a gateway solution.
[Top of Page]   

How are Transparent Gateways shipped?

With the exception of gateways on AS400, Gateways are shipped as part of the Oracle database DVD.
[Top of Page]   

Does Oracle recommend any particular driver vendors for Generic Connectivity?

No Oracle does not recommend any particular vendor.
[Top of Page]   

Generic Connectivity versus Oracle Transparent Gateways

Generic Connectivity is a low-end solution based on ODBC standards and it has some restrictions such as no distributed updates possible. Transparent Gateways are tailored for the non-Oracle system. They offer more functionality such as full 2PC and provide better performance than Generic Connectivity.
[Top of Page]   

What is Heterogeneous Services (HS)?

Heterogeneous Services provides generic gateway technology to connect to non-Oracle systems. Both Generic Connectivity and Transparent Gateways are based on it. HS is an integrated component of the database therefore it can exploit all the capabilities of the Oracle database.
[Top of Page]   

Which platforms are Oracle Transparent Gateways/Generic Connectivity available on?

Refer to the gateways page for availability information.
[Top of Page]   

How are Gateways licensed?

Gateways are licensed separately from the database. For licensing purposes gateways are grouped into bundles. The Open System Gateways bundle includes the Transparent Gateway for Sybase, SQL Server, Teradata and Informix. The Mainframe Integration Gateways bundle has the Transparent Gateway for DB2. The Enterprise Integration Gateways includes the Access Manager for AS/400, Transparent Gateway for DRDA and DB2/400, Procedural Gateway for APPC and WebSphere MQ.
[Top of Page]   

How is Generic Connectivity licensed?

Generic Connectivity is a free feature of the Oracle database. It is available with the database license.
[Top of Page]   

Can you use Oracle Transparent Gateways or Generic Connectivity from a non-Oracle application?

No they can only be used from an Oracle environment.
[Top of Page]   

Do you need to write applications using target specific SQL dialect while accessing a non-Oracle system using Oracle Connectivity solutions?

No, Oracle's connectivity solutions provide SQL, data dictionary and datatype translations so the applications can be written using Oracle SQL.
[Top of Page]   

Do applications accessing data in non-Oracle systems need to specify where the data resides?

No applications can access the data as if it was located in a remote Oracle database.
[Top of Page]   

How does Oracle Transparent Gateways handle functions that does not exist in the non-Oracle system?

Transparent Gateways compensate for functions that are not supported in the non-Oracle system. The data will be fetched from the non-Oracle system and then Oracle will apply the function before returning the results.
[Top of Page]   

Can you issue native SQL against a non-Oracle system?

Yes there is a feature called Pass-through SQL that is basically a package that takes in the native SQL as a parameter and passes it to the non-Oracle system for execution.
[Top of Page]   

Does Oracle Transparent Gateways support two phase commits with non-Oracle systems?

Yes Oracle Transparent Gateways supports full 2PC.
[Top of Page]   

Does the Oracle Server Release Version and the Oracle Transparent Gateway Versions need to be the same?

As of v9.0.1 Transparent Gateways are released on the database CD thus they have the same version number as the database against which they are certified.
[Top of Page]   

What is the difference between Oracle Transparent Gateway for Rdb and Sql*Net for Rdb?

In brief, Oracle Transparent Gateway for Rdb privides the ability to do distributed joins where as Sql*Net for Rdb provides direct access to Oracle OCI applications to Rdb. Comparison Study between Oracle transparent gateway for Rdb and Sql*Net for Rdb
[Top of Page]   

What is the difference between Oracle Transparent Gateway for Rdb and Rdb Transparent Gateway to Oracle?

Any Oracle Client Application can access data residing on an Rdb Server using the Oracle Transparent gateway for Rdb. Rdb applications can access data residing on Oracle Server via Rdb Transparent Gateway to Oracle. For more information on the Rdb Transparent Gateway to Oracle contact
[Top of Page]   

Can Oracle Transparent Gateways be installed in the same Oracle home as the other Oracle products?

Yes they can be installed in the same Oracle home as the database
[Top of Page]   

Will all users be handled by one gateway process?

No. Each user will have a dedicated gateway process.
[Top of Page]   

When does the gateway connection end?

The gateway connection can end under the following scenarios:

Client application closes its connection An explicit command such as "Alter database link close;"
[Top of Page]   


Can the gateway connections be controlled with Net services parameters such as expire_time etc?

No. Gateway connections cannot be controlled by any of the Net services parameters
[Top of Page]   

Is it possible to have the connection between the Oracle Server and the gateway closed but the connection between the gateway and the non-Oracle system be open? Is there any workaround for this problem?

No. It is not possible to have a open connection between the gateway and the non-Oracle system when the connection between Oracle Server and the gateway is closed. For some strange reason, if a customer sees this behavior, the workaround is to manually teminate the gateway process at the non-Oracle system platform.
[Top of Page]   

How does the Transparent Gateway support non-Oracle datatypes?

The Transparent Gateway maps the non-Oracle datatypes to the most appropriate Oracle datatypes. This is done transparently to the user. These mappings are listed in the appropriate manuals. For unsupported datatypes, an error is reported to the application user.
[Top of Page]   

How does an Transparent Gateway handle non-Oracle capabilities?

Oracle SQL Functions and Oracle capabilities that are not supported by the non-Oracle system can be still used in SELECT statements but not in DML statements. When these unsupported functions are used in SELECT statements, Oracle (HS) strips this function from teh SELECT statement and sends the SELECT statement to the gateway without the function reference. In the following example, assume SUBSTR funtion is not supported by the non-Oracle system that is being accessed via dblink, GTWLINK:

Original Query: SELECT SUBSTR(ENAME,1,5) FROM EMP@GTWLINK;

Statement sent to the gateway by Oracle: SELECT ENAME FROM EMP;

If SUBSTR function is used with any DML statements, Oracle will raise an error.
[Top of Page]   


Are there general guidelines one can use to improve the gateway performance?

The Gateways are not tunable. To troubleshoot gateway performance issues, turn on gateway tracing (HS_FDS_TRACE_LEVEL= debug). Observe the trace file for things like:

the entire SQL statement in question is being sent across to the non-Oracle system or the entire table is being fetched

Application users can then re-write their SQL such that most of the processing is done at non-Oracle systems and only the relevant data is fetched across the network. Post processing at Oracle is probably the most common cause of performance degradation.
[Top of Page]   


Can Transparent Gateways be used for Heterogeneous Replication?

All of our Transparent Gateway products from v8.1.6 onwards support read-only complete refresh materialized views (snapshots).

You can create the Oracle snapshot by issuing the standard replication SQL: CREATE MATERIALIZED VIEW mv_name REFRESH COMPLETE AS query;

where query represents the data you want to retrieve from the non-Oracle system. Multiple MVs are grouped together in a refresh group by the following statement: execute dbms_refresh.make('groupname', 'list_of_MVs', NULL, NULL);

and can be refreshed by: execute dbms_refresh.refresh('groupname');

If you want the refresh to be done at regular intervals you can setup a database job for this. Please refer to the replication manual for more details on the replication SQL syntax and related procedures.

Another way to replicate data is by setting trigger(s) on the Oracle tables which you want to replicate to the non-Oracle system. When a change occurs in the Oracle table the trigger fire thus 'replicating' the change to the non-Oracle system.
[Top of Page]   


What's the difference between the Messaging Gateway and the Procedural Gateway for MQ Series?

Oracle Messaging Gateway and the Procedural Gateway for MQ can both propagate messages between Oracle9i and MQ Series. However, the Messaging Gateway works with Advanced Queuing to propagate AQ messages to and from MQ Series. The procedural gateway allows customers executing PL/SQL applications to put or get messages to or from MQ Series--AQ is not required.

The Messaging Gateway is designed to allow customers who have MQ Series to easily add AQ-based solutions into their environment. AQ and the Message Gateway are included free of charge with the database, and offer significant advantages over MQ Series for message queuing applications. Customers who have to build new message queuing functionality should consider building their solution using AQ and then integrating with MQ via the message gateway, rather than simply connecting their application to MQ via the procedural gateway.
[Top of Page]   


E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy