ヘッダーをスキップ
Oracle® Database Heterogeneous Connectivityユーザーズ・ガイド
11gリリース2 (11.2)
E94922-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 概要

この章では、異機種間環境における運用上の課題について説明します。オラクル社はこの課題を認識し、企業における異機種間環境での運用を容易にする、同期ソリューションと非同期ソリューションの両方を提供しています。このマニュアルでは、同期ソリューションであるOracle Database Gatewayについて説明します。

この章には、次の項目が含まれます。

1.1 情報統合の課題

情報の統合は、多数の組織に影響のある課題です。それらの組織では、複数の異なるデータベース・システムを実行している可能性があるためです。これらの各システムにはデータが格納されており、データに対して一連のアプリケーションが実行されます。このデータはファイル・システム上では単なるビットやバイトであり、それをビジネス情報に変換できるのはデータベースのみです。すべてのビジネス情報を統合し連結することで、組織はビジネス情報本来の相乗効果を活用できます。

通常、すべてのデータを1つのデータベース・システムに連結するのは困難です。主として、あるデータベースに対して実行されるアプリケーションの多くには、他のデータベースに対して実行される同等のアプリケーションがない場合があるためです。1つに連結されたデータベース・システムへのデータの移行が実現可能になるまでは、異機種間データベース・システムを共存させる必要があります。

相互運用性が実現可能になるまでに克服すべき問題が複数あります。アクセスのためのインタフェース、データ型、各機能、およびエラーの処理方法は、データベース・システムごとに異なる場合があります。あるリレーショナル・データベースから他のリレーショナル・データベースへのアクセスを試みる場合でさえ、大きな相違があります。このような状況下でのデータベースの共通機能には、SQLを介したデータ・アクセス、2フェーズ・コミット・プロトコルおよび類似のデータ型などがあります。

大きな違いもあります。トランザクションのセマンティクスが異なるように、SQL言語も異なる場合があります。一部のデータ型は、あるデータベースに存在する一方、他のデータベースには存在しない場合があります。最も重要な相違点が存在するのは、2つのデータベースのデータ・ディクショナリです。ほとんどのデータ・ディクショナリには類似する情報が含まれていますが、情報の構造はそれぞれのデータ・ディクショナリで異なります。この問題を克服するには複数の方法があります。このマニュアルでは、複数のソースの情報に同期的にアクセスするためのOracleのアプローチについて説明します。

1.2 同期的な情報統合へのOracleの対処方法

クライアント・プログラムが複数の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ドライバを提供していません。ドライバは他のベンダーから入手する必要があります。

また、オラクル社では非同期情報統合製品も提供しています。これらの製品はこのマニュアルでは説明しません。製品の概略のみ次に示します。

1.3 Oracleによる同期的な情報統合ソリューションのメリット

Oracle Database Gatewayの処理能力の大部分はデータベースに統合されます。これにより効率的な情報統合ソリューションが提供され、Oracleデータベースの処理能力と機能を全面的に活用できます。これには、強力なSQL解析や分散最適化などの機能が含まれます。

以降の各項では、異機種間環境におけるOracleの課題解決アプローチのメリットについて説明します。

1.3.1 リモート・データに透過的にアクセス可能

Oracle Database Gatewayには、Oracle環境からOracle以外のデータベースのデータに透過的にアクセスする機能が用意されています。Oracle以外のデータベース内のオブジェクトについてシノニムを作成して、物理位置を指定せずに参照できます。この透過性により、アプリケーション開発者がアプリケーションをカスタマイズしてOracle以外の他のシステムのデータにアクセスできるようにする必要はなくなるため、開発の労力は減り、アプリケーションの移動性は高まります。

アプリケーションで(アプリケーション側処理への集中を招く可能性のある)システム固有のインタフェースを使用してOracle以外のシステムと相互操作する必要がなく、OracleシステムとOracle以外のシステムの両方に使用可能な一貫したOracleインタフェースに基づくアプリケーションを作成できます。

1.3.2 不要なデータ複製の排除

Oracle Database Gatewayにより、アプリケーションからOracle以外のデータベースのデータに直接アクセスできます。これにより、大量のデータを異なる場所にアップロードおよびダウンロードする必要がなくなるため、データ複製が減少し、ディスク記憶領域の節約になります。大量のデータのアップロードおよびダウンロードが行われないため、同期化されていないデータや一貫性のないデータに伴うリスクが低減します。

1.3.3 SQL文で複数の異なるデータベースに問合せ可能

Oracleデータベースは、複数の異なるデータベースに格納されたデータを問い合せるSQL文を受け入れます。異機種間サービス・コンポーネントがインストールされているOracleデータベースでは、SQL文が処理されて他のOracleデータベースには直接、Oracle以外のデータベースにはゲートウェイを介して、該当するSQLコードが渡されます。Oracleデータベースにより結果が結合されてクライアントに戻されます。

1.3.4 Oracleのアプリケーション開発ツールおよびエンド・ユーザー・ツールが使用可能

Oracle Database Gatewayにより、Oracleのデータベースおよびアプリケーション開発ツールの範囲が拡張されます。Oracleには、プロトタイプ、開発およびメンテナンス時間の短縮によりアプリケーション開発とユーザーの生産性を高めるツールが用意されています。

Oracle以外のデータベースに格納されているデータにアクセスするために、新規ツールを開発したり他のツールの使用方法を学習する必要はありません。かわりに、1セットのOracleツールを使用してOracleデータとOracle以外のデータにアクセスできます。これらのツールは、Oracle Netを介してOracleデータベースに接続されているリモート・システム上で実行できます。

1.3.5 ユーザーは独自言語によりリモート・データベースとの通信が可能

Oracleでは、SQL文を使用してOracle以外のシステムに透過的にアクセスできます。ただし、Oracle以外のシステムにアクセスするために、そのシステムのSQLの使用が必要になる場合があります。その場合は、異機種間サービスのパススルー機能を使用すると、Oracleの問合せプロセッサを迂回して、リモート・データベースと、そのデータベース独自の言語で通信できます。