異機種間サービスのデータ・ディクショナリ
エージェントは、接続を確立した直後に異機種間サービス・コンポーネントに構成情報をアップロードします。
構成情報は異機種間サービスのデータ・ディクショナリ表に格納されます。エージェントに変更(パッチの適用、エージェントの新バージョンへのアップグレードなど)がないかぎり、さらにアップロードされることはありません。
- クラスとインスタンス
異機種間サービスを使用すると、1つのOracleデータベースから複数のOracle以外のシステムにアクセスできます。 - データ・ディクショナリ・ビュー
異機種間サービスのデータ・ディクショナリ・ビューには、固定ビューを使用してアクセスできる情報が含まれます。
親トピック: 異機種間サービス・コンポーネントの役割
クラスとインスタンス
異機種間サービスを使用すると、1つのOracleデータベースから複数のOracle以外のシステムにアクセスできます。
これを図2-2に示します。ここでは、Oracle以外の2つのシステムにアクセスしています。
両方のエージェントにより構成情報がアップロードされ、Oracle Databaseに異機種間サービスのデータ・ディクショナリ情報の一部として格納されます。
異機種間サービスのデータ・ディクショナリに、インスタンスごとの別個の定義を格納すると、データ・ディクショナリ情報を1つの粒度で格納できますが、それにより冗長なデータ・ディクショナリ情報が必要以上に大量になる可能性があります。この問題を回避するために、Oracleでは異機種間サービスのデータ・ディクショナリはクラスおよびインスタンスという2つの粒度で編成されます。
クラスは、Oracle以外の特定のシステム・タイプに関係します。たとえば、Oracle DatabaseでSybaseデータベース・システムのクラスにアクセスできます。インスタンスでは、クラス内での特殊性が定義されます。たとえば、Sybaseデータベース・システム内の複数の異なるインスタンスにアクセスできます。各クラスの定義(粒度1)は、そのクラスの全インスタンス(粒度2)により共有されます。さらに、インスタンス情報はクラス情報より優先され、クラス情報はサーバー指定のデフォルトより優先されます。
たとえば、Oracle DatabaseがSybaseの3つのインスタンスおよびIngres IIの2つのインスタンスにアクセスするとします。SybaseとIngres IIにはそれぞれ独自のコードがあり、Oracle Databaseからアクセスするには別個のクラス定義が必要です。そのため、異機種間サービスのデータ・ディクショナリには、Sybase用とIngres II用に1つずつ合計2つのクラス定義と、Oracle Databaseがアクセスするインスタンスごとに1つずつ、合計5つのインスタンス定義が含まれます。
インスタンス・レベルの機能とデータ・ディクショナリ情報はセッション固有であり、Oracle Databaseの異機種間サービスのデータ・ディクショナリには格納されません。ただし、インスタンス・レベルの初期化パラメータはデータベースに格納できます。
親トピック: 異機種間サービスのデータ・ディクショナリ