D 初期化パラメータ

init.oraファイルのOracleデータベース初期化パラメータは、ゲートウェイ初期化パラメータと異なります。エージェント固有のメカニズムを使用して初期化パラメータ・ファイルにゲートウェイ・パラメータを設定するか、DBMS_HSパッケージを使用してOracleデータ・ディクショナリにゲートウェイ・パラメータを設定します。

ゲートウェイ初期化パラメータ・ファイルは、ゲートウェイの起動時に使用可能である必要があります。

次のトピックには、ゲートウェイごとに設定可能なゲートウェイ初期化パラメータのリストとその説明が含まれます。また、初期化パラメータ・ファイルの構文についても説明します。

初期化パラメータ・ファイルの構文

このトピックでは、初期化パラメータ・ファイルの構文について説明します。

  • ファイルは一連のコマンドで構成されています。

  • 各コマンドは、個別の行で始まる必要があります。

  • 行の終わりは、コマンド終端文字で認識されます(円記号でエスケープされない場合)。

  • 初期化パラメータ・ファイルに構文エラーがあると、設定はすべて無効です。

  • パラメータ値は次のように設定します。

    [SET][PRIVATE] parameter=value
    

    説明:

    parameterは初期化パラメータの名前です。この名前は、任意の文字から始まる文字列であり、文字、数字およびアンダースコアで構成されます。初期化パラメータの名前では大/小文字が区別されます。

    valueは初期化パラメータの値です。大文字と小文字が区別されます。初期化パラメータの値は、次のいずれかになります。

    • 円記号、空白、二重引用符(").が含まれない文字列。

    • 二重引用符で始まり、二重引用符で終わる引用符付き文字列。引用符付き文字列内では、次の文字列が使用できます。

      • 円記号(\)はエスケープ文字です。

      • \nは新しい行を挿入します。

      • \tはタブを挿入します。

      • \は二重引用符を挿入します。

      • \\は円記号を挿入します

      行末の円記号は、文字列が次の行に続くことを示します。その他の文字の前に円記号を付けると、その円記号は無視されます。

    たとえば、エージェントのトレースを有効化するには、HS_FDS_TRACE_LEVEL初期化パラメータを次のように設定します。

    HS_FDS_TRACE_LEVEL=ON
    

    SETおよびPRIVATEは、オプションのキーワードです。どちらも初期化パラメータ名としては使用できません。ほとんどのパラメータは初期化パラメータとしてのみ必要とされるため、通常は、SETまたはPRIVATEキーワードを使用する必要はありません。SETまたはPRIVATEのいずれも指定しない場合、パラメータはエージェントの初期化パラメータとしてのみ使用されます。

    SETを指定すると、そのパラメータ値は初期化パラメータとして使用されるだけでなく、エージェント・プロセスの環境変数として設定されます。SETは、ドライバやOracle以外のシステムで環境変数として必要とされるパラメータ値に使用します。

    PRIVATEを指定すると、その初期化パラメータはエージェントに対してプライベートとなり、Oracle Databaseにアップロードされません。ほとんどのパラメータは、プライベートに設定しません。ただし、初期化パラメータ・ファイルにパスワードなどの機密情報を格納している場合、初期化パラメータとその値はアップロード時に暗号化されないため、機密情報のサーバーへのアップロードを避けたいことがあります。初期化パラメータをプライベートに設定すると、アップロードは実行されず、動的パフォーマンス・ビューにも表示されなくなります。PRIVATEは、パラメータ値にユーザー名やパスワードなどの機密情報が含まれる場合にのみ、初期化パラメータに使用します。

    SET PRIVATEを指定すると、そのパラメータ値はエージェント・プロセスの環境変数として設定され、かつプライベートになります(Oracle Databaseに転送されず、動的パフォーマンス・ビューやグラフィカル・ユーザー・インタフェースにも表示されません)。

Oracle Database Gateway for ODBCの初期化パラメータ

このトピックでは、Oracle Database Gateway for ODBCで設定できる初期化ファイル・パラメータをリストします。

HS_DB_DOMAIN

Oracle以外のシステムにおける一意のネットワーク・サブアドレスを指定します。

プロパティ 説明

デフォルト値

WORLD

値の範囲

1から199文字

HS_DB_DOMAIN初期化パラメータは、Oracle Databaseリファレンスで説明されているDB_DOMAIN初期化パラメータと同様です。HS_DB_DOMAIN初期化パラメータは、Oracle Names Serverを使用する場合は必須です。HS_DB_NAMEおよびHS_DB_DOMAIN初期化パラメータでは、Oracle以外のシステムのグローバル名を定義します。

注意:

コオペラティブ・サーバー環境では、HS_DB_NAMEおよびHS_DB_DOMAIN初期化パラメータを組み合せて一意のアドレスを構成する必要があります。

HS_DB_INTERNAL_NAME

異機種間サービス・エージェントの接続先となるインスタンスを識別する一意の16進数を指定します。

プロパティ 説明

デフォルト値

01010101

値の範囲

1から16の16進文字

このパラメータの値は、グローバル・ネーム・サービスがアクティブ化されたときにトランザクションIDの一部として使用されます。一意でない数値を指定すると、トランザクションで2フェーズ・コミットのリカバリ・アクションが必要な場合に問題が発生する可能性があります。

HS_DB_NAME

Oracle以外のシステムに割り当てるデータ・ストアの一意の英数字名を指定します。

プロパティ 説明

デフォルト値

HO

値の範囲

1から8文字

この名前により、コオペラティブ・サーバー環境内でOracle以外のシステムが識別されます。HS_DB_NAMEおよびHS_DB_DOMAIN初期化パラメータでは、Oracle以外のシステムのグローバル名を定義します。

HS_DESCRIBE_CACHE_HWM

異機種間サービスで使用される記述キャッシュのエントリの最大数を指定します。

プロパティ 説明

デフォルト値

100

値の範囲

1から4000

この制限は、記述キャッシュの最高水位標として知られています。キャッシュには、異機種間サービスがOracle以外のデータ・ストアに再アクセスせずに済むように、異機種間サービスで再利用するマップされた表の記述が含まれます。

多くのマップされた表にアクセスする場合、最高水位標を増加させてパフォーマンスを向上してください。最高水位標を増加させるとパフォーマンスは向上しますが、メモリー使用量も増大します。

HS_LANGUAGE

異機種間サービスに、Oracle以外のデータソースのキャラクタ・セット、言語および地域情報を提供します。

プロパティ 説明

デフォルト値

システム固有

値の範囲

任意の有効な言語名(最大255文字)

値には次の書式を使用する必要があります。

language[_territory.character_set]

注意:

グローバリゼーション・サポートの初期化パラメータは、エラー・メッセージ、SQLサービスのデータ、および分散外部プロシージャのパラメータに影響します。

言語

HS_LANGUAGE初期化パラメータの言語構成要素により、次の項目が決定されます。

  • 日付の月日の名前

  • 日時に対するAD、BC、PMおよびAMの記号

  • デフォルトのソート・メカニズム

Oracleでは、異機種間サービスの汎用メッセージに対応するエラー・メッセージ(ORA-25000からORA-28000)の言語は決定されません。これらは、Oracle Databaseのセッション設定により制御されます。

キャラクタ・セット

Oracle Databaseのキャラクタ・セットとOracle以外のデータソースのキャラクタ・セットは、同じであることが理想的です。ほとんどの場合、HS_LANGUAGEはキャラクタ・セット・マッピングとパフォーマンスを最適化するためのOracleデータベース・キャラクタ・セットと完全に同じに設定する必要があります。同じでない場合、異機種間サービスは、Oracle以外のデータソースのキャラクタ・セットをOracle Databaseのキャラクタ・セットに変換し、それを再び元に戻そうとします。この変換により、パフォーマンスが低下する可能性があります。状況によっては、異機種間サービスは、あるキャラクタ・セットから別のキャラクタ・セットに文字を変換できません。

注意:

指定するキャラクタ・セットは、エージェントがインストールされているプラットフォームにおけるオペレーティング・システムのキャラクタ・セットのスーパーセットである必要があります。

データベース・キャラクタ・セットとしてUnicodeを使用するOracleデータベースとOracle以外のデータベースが増えているため、ゲートウェイもUnicodeキャラクタ・セットで実行することをお薦めします。そのためには、HS_LANGUAGE=AL32UTF8を設定する必要があります。ただし、ゲートウェイがWindowsで実行される場合、Microsoft ODBCドライバ・マネージャ・インタフェースはダブルバイト・キャラクタ・セットUCS2でのみデータを交換できます。これにより、説明されているバッファおよび列サイズの比率が拡大します。適切なサイズに調整する方法の説明は、「HS_FDS_REMOTE_DB_CHARSET」を参照してください。

地域

地域の句により、日と週の順序規則、デフォルトの日付書式、小数点文字とグループ・セパレータ、およびISOと各国の通貨記号が指定されます。Oracle DatabaseとOracle以外のデータソース間におけるグローバリゼーション・サポートのレベルは、ゲートウェイがどのように実装されているかに応じて変化します。

HS_LONG_PIECE_TRANSFER_SIZE

転送されるLONGデータのピース・サイズを設定します。

プロパティ 説明

デフォルト値

64 KB

値の範囲

2GB以下の任意の値

ピース・サイズを小さくすると、メモリー要件は減少しますが、すべてのデータをフェッチするためのラウンドトリップ回数は増加します。ピース・サイズを大きくすると、ラウンドトリップ回数は減少しますが、内部的に中間ピースを格納するためのメモリー要件は増大します。つまり、この初期化パラメータは、ラウンドトリップ回数とメモリー要件(およびネットワーク待機時間またはレスポンス時間)の最適なトレードオフ関係に基づいて、最高のパフォーマンスを発揮するようにシステムをチューニングする場合に使用します。

HS_OPEN_CURSORS

Oracle以外のシステムのインスタンスに対する1つの接続でオープンできるカーソルの最大数を定義します。

プロパティ 説明

デフォルト値

50

値の範囲

1からOracle DatabaseのOPEN_CURSORS初期化パラメータの値まで

この値は、Oracle Databaseのオープン・カーソルの数を超えることはできません。そのため、Oracle DatabaseのOPEN_CURSORS初期化パラメータと同じ値を設定することをお薦めします。

HS_RPC_FETCH_REBLOCKING

Oracle DatabaseとOracle以外のデータ・ストアに接続された異機種間サービス・エージェントとの間におけるデータ転送のパフォーマンスを異機種間サービスにより最適化するかどうかを制御します。

プロパティ 説明

デフォルト値

ON

値の範囲

OFFまたはON

次の値を指定できます。

  • OFFを指定すると、エージェントからサーバーにデータを即座に送信するように、フェッチされたデータの再ブロッキングが無効化されます。

  • ONでは再ブロック化が可能です。これは、Oracle以外のシステムからフェッチされたデータがエージェントにバッファされ、フェッチされたデータの量がHS_RPC_FETCH_SIZE初期化パラメータの値以上になるまでOracleデータベースに送信されないことを意味します。ただし、フェッチでそれ以上データが存在しないことが示された場合、またはOracle以外のシステムがエラーをレポートした場合は、バッファされたデータが即時に返されます。

HS_RPC_FETCH_SIZE

内部データ・バッファリングを調整して、サーバーとエージェント・プロセス間のデータ転送レートを最適化します。

プロパティ 説明

デフォルト値

50000

値の範囲

1から10000000

値を増やすと、指定されたデータ量を転送するために必要なネットワークのラウンドトリップの回数が減りますが、データ帯域幅が増え、問合せの発行から問合せのすべてのフェッチの完了までとして測定されるレイテンシが短縮される傾向があります。一方、最初のフェッチ結果は追加データが使用可能になるまで送信されないため、フェッチ・サイズを増やすと問合せの初期フェッチの結果のレイテンシが増大します。

HS_TIME_ZONE

現在のSQLセッションに対応するデフォルトのローカル・タイムゾーンの置換を指定します。

プロパティ 説明

[+|-]hh:mmのデフォルト値

NLS_TERRITORY初期化パラメータから導出

[+|-]hh:mmの値の範囲

有効な日時書式マスク

書式マスク[+|-]hh:mmは、UTC(協定世界時、旧称グリニッジ標準時)の前後の時間および分を示すために指定します。次に例を示します。

HS_TIME_ZONE = [+ | -] hh:mm

HS_TRANSACTION_MODEL

Oracle以外のデータベースがトランザクションによって更新されるときに使用されるトランザクション・モデルのタイプを指定します。

プロパティ 説明

デフォルト値

なし

値の範囲

READ_ONLYおよびSINGLE_SITE

次の値を指定できます。

  • READ_ONLYは、Oracle以外のデータベースに対する読取りアクセスを提供します。

  • SINGLE_SITEは、Oracle以外のデータベースに対する読取り/書込みアクセスを提供します。ただし、ゲートウェイは分散更新に参加できず、データをレプリケートするためにOracle Streamsで使用できません。

IFILE

IFILE初期化パラメータを使用して、現在の初期化ファイル内に別の初期化ファイルを埋め込みます。

プロパティ 説明

デフォルト値

なし

値の範囲

有効なパラメータ・ファイル名

値は絶対パスである必要があり、環境変数を含めることはできません。3レベルのネスト制限は適用されません。

HS_FDS_TIMESTAMP_MAPPING

Oracle以外のタイムスタンプをOracleタイムスタンプにマップします。

プロパティ 説明

デフォルト値

DATE

値の範囲

CHAR|DATE|TIMESTAMP

構文

HS_FDS_TIMESTAMP_MAPPING={CHAR|DATE|TIMESTAMP}

CHARに設定されている場合、Oracle以外のターゲット・タイムスタンプはCHAR(26)にマップされます。DATE (デフォルト)に設定されている場合、Oracle以外のターゲット・タイムスタンプはOracle DATEにマップされます。TIMESTAMPに設定されている場合、Oracle以外のターゲット・タイムスタンプはOracle TIMESTAMPにマップされます。

HS_FDS_DATE_MAPPING

Oracle以外のターゲット日付をOracleターゲット日付にマップします。

プロパティ 説明

デフォルト値

DATE

値の範囲

DATE|CHAR

構文

HS_FDS_DATE_MAPPING={DATE|CHAR}

CHARに設定されている場合、Oracle以外のターゲット日付はCHAR(10)にマップされます。DATEに設定されている場合、Oracle以外のターゲット日付はOracle Dateにマップされます。

HS_FDS_CONNECT_INFO

HS_FDS_CONNECT_INFOでは、Oracle以外のシステムに対する接続を記述します。

プロパティ 説明

デフォルト値

なし

値の範囲

適用なし

デフォルトの初期化パラメータ・ファイルには、このパラメータのエントリがすでに含まれています。ゲートウェイのHS_FDS_CONNECT_INFOの構文は、次のとおりです。

HS_FDS_CONNECT_INFO=dsn_value

ここで、Microsoft Windowsでのdsn_valueはMicrosoft Windows ODBCデータ ソース アドミニストレーターで定義されたシステムDSNの名前で、UNIXベースのシステムではodbc.iniファイルで構成されたデータソース名です。

dsn_valueのエントリは大/小文字が区別されます。

HS_FDS_DEFAULT_OWNER

SQL文に所有者が指定されない場合に、Oracle以外のデータベース表で使用される表の所有者の名前です。

プロパティ 説明

デフォルト値

なし

値の範囲

適用なし

注意:

このパラメータが指定されず、所有者がSQL文に明示的に指定されていない場合、Oracleユーザーのユーザー名またはデータベース・リンクの作成時に指定されたユーザー名が使用されます。

HS_FDS_TRACE_LEVEL

ゲートウェイ接続に対するエラー・トレースをオンにするかオフにするかを指定します。

プロパティ 説明

デフォルト値

OFF

値の範囲

OFFONDEBUG

有効な値は次のとおりです。

  • OFFにすると、エラー・メッセージのトレースは使用できません。

  • ONにすると、問題が発生したときに、発生したエラー・メッセージをトレースできます。デフォルトでは、結果はゲートウェイのインストール先のLOGディレクトリにあるゲートウェイ・ログ・ファイルに書き込まれます。

  • DEBUGを指定すると、デバッグに使用できる詳細なエラー・メッセージのトレースが有効化されます。

HS_FDS_SHAREABLE_NAME

ODBCドライバ・マネージャのフルパス名を指定します。

プロパティ 説明

デフォルト値

なし

値の範囲

適用なし

このパラメータは、必須パラメータです。形式は次のとおりです。

HS_FDS_SHAREABLE_NAME=odbc_installation_path/lib/libodbc.sl

説明:

odbc_installation_pathは、ODBCドライバのインストール先のパスです。

このパラメータはUNIXベースのプラットフォームにのみ適用されます。

HS_FDS_FETCH_ROWS

HS_FDS_FETCH_ROWSでは、フェッチ配列サイズを指定します。これは、Oracle以外のデータベースからフェッチされ、Oracle Databaseに一度に戻される行数です。

プロパティ 説明

デフォルト値

100

値の範囲

1から1000の任意の整数

構文

HS_FDS_FETCH_ROWS=num

このパラメータは、HS_RPC_FETCH_SIZEおよびHS_RPC_FETCH_REBLOCKINGパラメータの影響を受けます。

HS_FDS_REMOTE_DB_CHARSET

このパラメータは、HS_LANGUAGEAL32UTF8に設定され、ゲートウェイがWindowsで実行されている場合にのみ有効です。

プロパティ 説明

デフォルト値

なし

値の範囲

適用なし

構文

HS_FDS_REMOTE_DB_CHARSET

データベース・キャラクタ・セットとしてUnicodeを使用するOracleデータベースとOracle以外のデータベースが増えているため、ゲートウェイもUnicodeキャラクタ・セットで実行することをお薦めします。そのためには、HS_LANGUAGE=AL32UTF8を設定する必要があります。ただし、ゲートウェイがWindowsで実行される場合、Microsoft ODBCドライバ・マネージャ・インタフェースはダブルバイト・キャラクタ・セットUCS2でのみデータを交換できます。これにより、説明されているバッファおよび列サイズの比率が拡大します。補正するために、ゲートウェイは、HS_FDS_REMOTE_DB_CHARSETが対応するOracle以外のデータベース・キャラクタ・セットに設定されている場合に、適切なサイズに調整できます。たとえば、HS_FDS_REMOTE_DB_CHARSET=KO16KSC5601です。

HS_FDS_SQLLEN_INTERPRETATION

このパラメータは、64ビット・プラットフォームでのみ有効です。ODBC標準は、64ビット・プラットフォームで(内部ODBCコンストラクトの) SQLLENを64ビットとして指定しますが、一部のODBCドライバ・マネージャおよびドライバはこの規則に違反し、32ビットとして実装します。

プロパティ 説明

デフォルト値

64

値の範囲

{64|32}

構文

HS_FDS_SQLLEN_INTERPRETATION= {64|32}

Oracle Database Gateway for ODBCが動作を補正できるように、これらのタイプのドライバ・マネージャおよびドライバを使用する場合はHS_FDS_SQLLEN_INTERPRETATION=32を指定する必要があります。

HS_FDS_REPORT_REAL_AS_DOUBLE

Oracle Database Gateway for ODBCでSINGLE FLOAT PRECISIONフィールドをDOUBLE FLOAT PRECISIONフィールドとして処理できるようにします。

プロパティ 説明

デフォルト値

FALSE

値の範囲

TRUEFALSE

デフォルト値はFALSEです。