エージェントの登録

登録とは、Oracleによりエージェント情報がデータ・ディクショナリに格納される操作です。

エージェントの登録は必須ではありません。エージェントが未登録の場合、Oracleではエージェント情報は、データ・ディクショナリのかわりにメモリーに格納されます。エージェントに関係するセッションが終了すると、この情報は使用できなくなります。

自動登録とは、エージェントが情報をデータ・ディクショナリに自動的にアップロードできるように、データベース管理者が初期化パラメータを設定する操作です。自動登録が実行されるのは、HS_AUTOREGISTER初期化パラメータがTRUE(デフォルト)に設定されている場合のみです。

注意:

HS_AUTOREGISTERは、init.oraファイル内で設定するOracle Database初期化パラメータです。ゲートウェイ初期化ファイル内で設定する異機種間サービスの初期化パラメータではありません。

エージェント自動登録の有効化

異機種間データベース・リンクの使用時に正常動作を保証するため、エージェント自動登録により、リモート・ホスト上のエージェントを記述する異機種間サービス(HS)構成データの更新が自動化されます。

エージェント自動登録はデフォルトの動作です。エージェント自動登録機能を使用しない場合は、HS_AUTOREGISTER初期化パラメータをFALSEに設定してください。

Oracle Databaseとエージェントは、どちらも3種類の情報に依存して異機種間サービス接続の操作を構成および制御します。この3セットの情報をまとめてHS構成データと呼びます。

表4-1 エージェント自動登録

異機種間サービス構成データ 説明

異機種間サービス初期化パラメータ

操作の各種接続固有の詳細を制御します。

機能定義

Oracle以外のデータ・ソースでサポートされるSQL言語機能などの詳細を識別します。

データ・ディクショナリ変換

Oracleデータ・ディクショナリ表およびビューへの参照を、Oracle以外のデータ・ソース固有の等価の表およびビューにマップします。

関連トピック

エージェント自動登録を使用した構成不一致の回避

異機種間サービス(HS)構成データは、Oracleデータベース・サーバーのデータ・ディクショナリに格納されます。

リモート・エージェントであるために別個に管理される場合があるので、ある状況下ではサーバーとエージェントの間で構成が一致しなくなる可能性があります。次に例を示します。

  • エージェントが別のコンピュータに新しくインストールされ、Oracleデータベース・サーバーの異機種間サービス・データ・ディクショナリには、そのエージェントの異機種間サービス構成データを表す内容が存在しない場合があります。

  • Oracleデータベース・サーバーが新しくインストールされ、既存のエージェントとOracle以外のデータ・ストアに関する必要な異機種間サービス構成データが欠落している場合があります。

  • Oracle以外のインスタンスが旧バージョンから新バージョンにアップグレードされ、異機種間サービス構成データの変更が必要になる場合があります。

  • リモート・サイトの異機種間サービス・エージェントが新バージョンにアップグレードされるか、パッチが適用され、異機種間サービス構成データの変更が必要になる場合があります。

  • Oracle以外のサイトのデータベース管理者(DBA)が、異機種間サービス構成データに影響するような方法で、チューニングやテストのためにエージェントの設定を変更する場合があります。

エージェント自動登録により、これらのすべての使用例で異機種間サービスを正常に操作できます。特に、エージェント自動登録により、Oracle Databaseと異機種間サービス・エージェント(それぞれがバージョン8.0.3以上の場合)の相互運用性が強化されます。この機能の基本的なメカニズムは、異機種間サービス構成データをエージェントからサーバーにアップロードする機能です。

自動登録により、Oracleデータベースのデータ・ディクショナリに常駐する異機種間サービス構成データが自動的に更新されます。この更新により、エージェント自動登録のアップロードは、未登録エージェントを最初に使用するときに1回実行すればよいことになります。インスタンス情報は、サーバーのデータ・ディクショナリに格納されるのではなく、接続ごとにアップロードされます。

エージェント自動登録の概要

次の各項では、異機種間サービス・エージェントの自動登録について説明します。

異機種間サービスのエージェント自動登録機能では、次のタスクを実行します。

  • エージェントとOracle以外のデータ・ストアをOracleデータベース・サーバーに対して識別します

  • エージェントに対して、エージェントと接続先Oracleデータベース・サーバーの両方に使用する異機種間サービス初期化パラメータの定義を許可します

  • 接続の初期化中に、機能定義とデータ・ディクショナリ変換(使用可能な場合)を異機種間サービス・エージェントからアップロードします

    注意:

    クラス情報は、クラスがサーバーのデータ・ディクショナリで定義されていないときにのみアップロードされます。同様に、インスタンス情報は、インスタンスがサーバーのデータ・ディクショナリで定義されていない場合にのみアップロードされます。

エージェントの自動登録に必要な情報は、エージェントが提供するFDS_CLASSおよびFDS_CLASS_VERSION名を使用して、サーバーのデータ・ディクショナリでアクセスされます。

FDS_CLASSおよびFDS_CLASS_VERSION

Oracle Databaseまたはサード・パーティ・ベンダーは、FDS_CLASSおよびFDS_CLASS_VERSIONを異機種間サービス・エージェントとバージョンごとに個別に定義しています。

異機種間サービスでは、これらの名前が連結されてFDS_CLASS_NAMEとなり、サーバーのデータ・ディクショナリ内のクラス情報にアクセスするための主キーとして使用されます。

FDS_CLASSにはアクセスするOracle以外のデータ・ストアのタイプを指定し、FDS_CLASS_VERSIONにはOracle以外のデータ・ストアとそこに接続するエージェントのバージョン番号を指定する必要があります。エージェントのいずれかのコンポーネントに変更があった場合は、新リリースを一意に識別するようにFDS_CLASS_VERSIONも変更する必要があります。この情報は、各接続の初期化時にアップロードされます。

FDS_INST_NAME

インスタンス固有の情報は、サーバー・データ・ディクショナリに格納できます。インスタンス名FDS_INST_NAMEは、該当のエージェントを管理するデータベース管理者(DBA)により構成されます。

DBAによるこの構成の実行方法は、使用中のエージェントに応じて異なります。

Oracleデータベース・サーバーでは、FDS_INST_NAMEを使用して、データ・ディクショナリ内でインスタンス固有の構成情報が参照されます。Oracleでは、その値が次のビューで同じ名前を持つ列の主キーとして使用されます。

  • FDS_INST_INIT

  • FDS_INST_CAPS

  • FDS_INST_DD

FDS_INST_NAMEを使用したサーバーのデータ・ディクショナリへのアクセスでも、FDS_CLASS_NAMEを使用して構成情報の行が一意に識別されます。たとえば、データベースをクラスSybase816からクラスSybase817に移植する場合、両方のデータベースが同時にインスタンス名SCOTTで動作し、別個の構成情報セットを使用することが可能です。

クラス情報とは異なり、インスタンス情報はサーバーのデータ・ディクショナリに自動登録されません。

  • インスタンス情報は(存在する場合)常にエージェントによりアップロードされます。ただし、サーバーのデータ・ディクショナリに格納されることはありません。かわりに、その情報はメモリーに保持され、その接続においてのみ有効です。

  • サーバーのデータ・ディクショナリにインスタンス情報が含まれている場合は、そのインスタンス構成に対応する、データベース管理者が定義した設定の詳細を表します。データ・ディクショナリで定義されているインスタンス情報はクラス情報より優先されます。ただし、データ・ディクショナリで定義されているインスタンス情報よりも、アップロードされたインスタンス情報が優先されます。

HS_AUTOREGISTERの指定

Oracleデータベース・サーバーのHS_AUTOREGISTER初期化パラメータを使用すると、異機種間サービス・エージェントの自動登録を有効化または無効化できます。

このパラメータは、エージェントの初期化ファイルではなくOracle初期化パラメータ・ファイル内で指定することに注意してください。たとえば、次のようにパラメータを設定できます。

HS_AUTOREGISTER = TRUE

TRUEに設定すると、エージェントは、以前に認識されていないエージェント・クラスまたは新規エージェント・バージョンの記述情報を、サーバーのデータ・ディクショナリにアップロードします。

このパラメータにはデフォルト値(TRUE)を使用することをお薦めします。この設定により、サーバーのデータ・ディクショナリの内容は常に、異機種間サービス接続に使用されるクラス機能とデータ・ディクショナリ変換の定義を確実に正しく表すものになります。

関連項目:

このパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください

エージェント自動登録の無効化

HS_AUTOREGISTER初期化パラメータをFALSEに設定して、エージェントの自動登録を無効にします。

エージェント自動登録を無効化するには、HS_AUTOREGISTER初期化パラメータを次のように設定します。

HS_AUTOREGISTER = FALSE

エージェント自動登録を無効化すると、エージェント情報はデータ・ディクショナリに格納されません。そのため、異機種間サービスのデータ・ディクショナリ・ビューは有効な情報ソースでなくなります。ただし、Oracleサーバーは、各エージェントのクラスおよびインスタンスに関する情報を引き続き必要とします。エージェント自動登録を無効化すると、サーバーではこの情報がローカル・メモリーに格納されます。