クライアント・プログラムが複数のOracleデータベースのデータにアクセスしたりデータを変更したりする必要がある場合、各データベースとの接続を開く必要があります。ただし、このアプローチには次のようなデメリットがあります。
複数のデータベースのデータを結合するには、そのためのロジックがクライアントにあることが必要です。
データ整合性を保証するには、トランザクション調整ロジックがクライアントにあることが必要です。
Oracleでは、分散処理と呼ばれるもう1つのアプローチも提供され、ここではクライアントが1つのOracleデータベースに接続し、データの結合とトランザクション調整の負荷をそのデータベースに移します。クライアント・プログラムが接続するデータベースは、ローカル・データベースと呼ばれます。これ以外のすべてのデータベースはリモート・データベースです。クライアント・プログラムは、データベース・リンクを使用して任意のリモート・データベースのオブジェクトにアクセスできます。Oracle問合せプロセッサが結合を処理し、トランザクション・エンジンがトランザクション調整を行います。
異機種間接続に関するOracleの問題解決アプローチは、前述の使用例でOracle以外のシステムをリモート・ノードの1つとして使用可能にすることです。Oracle以外のリモート・システムは、リモートのOracleシステムと同様に機能します。Oracle以外のシステムは、Oracleシステムと同じSQL言語と同じデータ・ディクショナリ構造を使用します。Oracle以外のシステムへのアクセスは、異機種間サービスによって行われます。
異機種間サービス・コンポーネントにより実行される処理のほとんどの部分は、エンド・ユーザーに対して完全に透過的です。少数の例外(後述)はありますが、Oracle以外のシステムにも、Oracleシステムの場合と同じ方法でアクセスできます。異機種間サービス・コンポーネントは、OracleからOracle以外のデータベースへのアクセスを実装する基盤として使用されます。
Oracle Database Gatewayは、Oracle Databaseの異機種間サービス・コンポーネントとともに機能し、そのOracle Database Gatewayが対応しているOracle以外の特定の市販システムにアクセスします。たとえば、Sybaseデータベースにアクセスするには、Oracle Database Gateway for Sybaseを使用します。また、ODBCドライバを使用してOracle以外のデータベースにアクセスできるようにするOracle Database Gateway for ODBCもあります。
Oracle Database Gatewayを使用すると、データの位置や格納方法を知らなくても、分散データベース・システム上のあらゆる場所にあるデータにアクセスできます。
注意:
オラクル社は、Oracle Database Gateway for ODBCに必要なODBCドライバを提供していません。ドライバは他のベンダーから入手する必要があります。
また、オラクル社では非同期情報統合製品も提供しています。これらの製品はこのマニュアルでは説明しません。製品の概略のみ次に示します。
Oracle Streamsを使用すると、単一のデータベース内または複数のデータベース間で単一のデータ・ストリームまたはキューにより、データ、トランザクションおよびイベントを伝播できます。Oracle Streamsでは、データに対する変更を取得、伝播および適用できるのみでなく、データ構造の変更(DDL)とユーザー定義イベントも処理できます。変更はそのままの形で取得して適用する方法と、取得、伝播および適用処理の任意の時点で変換する方法があります。
メッセージ・ゲートウェイにより、Oracle DatabaseとOracle以外のメッセージ・システム間の通信が可能になります。
オラクル社はOCI、JDBCおよびODBCなど、多数のオープン・インタフェースを提供しており、顧客はサード・パーティ・アプリケーションを使用するか独自のクライアント・アプリケーションを記述して、Oracle Databaseにアクセスできます。