2.6 異機種間サービスのデータ・ディクショナリ

エージェントは、接続を確立した直後に異機種間サービス・コンポーネントに構成情報をアップロードします。

構成情報は異機種間サービスのデータ・ディクショナリ表に格納されます。エージェントに変更(パッチの適用、エージェントの新バージョンへのアップグレードなど)がないかぎり、さらにアップロードされることはありません。

トピック:

2.6.1 クラスとインスタンス

異機種間サービスを使用すると、1つのOracleデータベースから複数のOracle以外のシステムにアクセスできます。

これを図2-2に示します。ここでは、Oracle以外の2つのシステムにアクセスしています。

図2-2 Oracle以外の複数インスタンスへのアクセス



両方のエージェントにより構成情報がアップロードされ、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の異機種間サービスのデータ・ディクショナリには格納されません。ただし、インスタンス・レベルの初期化パラメータはデータベースに格納できます。

2.6.2 データ・ディクショナリ・ビュー

異機種間サービスのデータ・ディクショナリ・ビューには、固定ビューを使用してアクセスできる情報が含まれます。

異機種間サービスのデータ・ディクショナリ・ビューには、次のタイプの情報が含まれています。

  • Oracleデータ・ディクショナリにアップロードされたインスタンスとクラスの名前

  • 各クラスまたはインスタンスに対して定義済の機能(SQL変換など)

  • 各クラスまたはインスタンスに対して定義済のデータ・ディクショナリ変換

  • 各クラスまたはインスタンスに対して定義済の初期化パラメータ

Oracleデータ・ディクショナリからの情報には、固定ビューを使用してアクセスできます。各ビューは主に次の3タイプに分類されます。

  • 汎用ビュー

  • トランザクション・サービス用のビュー

  • SQLサービス用のビュー