ヘッダーをスキップ
Oracle Database Heterogeneous Connectivity管理者ガイド
11gリリース1(11.1)
E05745-01
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

1 概要

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

この章の内容は、次のとおりです。

1.1 情報統合の課題

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

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

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

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

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

クライアント・プログラムが複数のOracleデータベースにあるデータへのアクセスまたはデータの変更を必要とする場合は、各データベースへの接続をオープンできます。ただし、このアプローチにはいくつかのデメリットがあります。そのいくつかを次に示します。

Oracleには分散処理と呼ばれるアプローチも用意されています。このアプローチでは、クライアントは1つのOracleデータベースに接続し、データ結合とトランザクション調整による負荷を接続先データベースにシフトします。クライアント・プログラムの接続先データベースを、ローカル・データベースと呼びます。これ以外のデータベースは、リモート・データベースです。クライアント・プログラムからデータベース・リンクを使用して、任意のリモート・データベースにあるオブジェクトにアクセスできます。Oracle問合せプロセッサは結合を受け持ち、トランザクション・エンジンはトランザクション調整を受け持ちます。

異機種間接続に関するOracleの問題解決アプローチは、前述の使用例でOracle以外のシステムをリモート・ノードの1つとして使用可能にすることです。クライアントからみると、Oracle以外のリモート・システムはリモートのOracleシステムと同様に機能します。Oracleシステムと同じSQL言語が認識され、同じデータ・ディクショナリ構造を持つようにみえます。この方法でOracle以外のシステムにアクセスするために、異機種間サービスと呼ばれるOracleサーバー・コンポーネントが使用されます。

異機種間サービス・コンポーネントにより実行される処理のほとんどの部分は、エンド・ユーザーに対して完全に透過的です。少数の例外(後述)はありますが、Oracle以外のシステムにも、Oracleシステムの場合と同じ方法でアクセスできます。異機種間サービス・コンポーネントは、OracleからOracle以外のデータベースへのアクセスを実装する基盤として使用されます。

Oracle Database Gatewayは、Oracleデータベース・サーバーの異機種間サービス・コンポーネントとともに機能し、その設計対象である特定の、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では、Oracle SQLを使用してOracle以外のシステムに透過的にアクセスできます。ただし、Oracle以外のシステムにアクセスするために、そのシステムのSQLの使用が必要になる場合があります。その場合は、異機種間サービスのパススルー機能を使用すると、Oracleの問合せプロセッサを迂回して、リモート・データベースと、そのデータベース独自の言語で対話できます。