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以外のシステムにおける一意のネットワーク・サブアドレスを指定します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
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進数を指定します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
このパラメータの値は、グローバル・ネーム・サービスがアクティブ化されたときにトランザクションIDの一部として使用されます。一意でない数値を指定すると、トランザクションで2フェーズ・コミットのリカバリ・アクションが必要な場合に問題が発生する可能性があります。
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」を参照してください。
HS_LONG_PIECE_TRANSFER_SIZE
転送されるLONG
データのピース・サイズを設定します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
ピース・サイズを小さくすると、メモリー要件は減少しますが、すべてのデータをフェッチするためのラウンドトリップ回数は増加します。ピース・サイズを大きくすると、ラウンドトリップ回数は減少しますが、内部的に中間ピースを格納するためのメモリー要件は増大します。つまり、この初期化パラメータは、ラウンドトリップ回数とメモリー要件(およびネットワーク待機時間またはレスポンス時間)の最適なトレードオフ関係に基づいて、最高のパフォーマンスを発揮するようにシステムをチューニングする場合に使用します。
HS_OPEN_CURSORS
Oracle以外のシステムのインスタンスに対する1つの接続でオープンできるカーソルの最大数を定義します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
この値は、Oracle Databaseのオープン・カーソルの数を超えることはできません。そのため、Oracle DatabaseのOPEN_CURSORS
初期化パラメータと同じ値を設定することをお薦めします。
HS_RPC_FETCH_REBLOCKING
Oracle DatabaseとOracle以外のデータ・ストアに接続された異機種間サービス・エージェントとの間におけるデータ転送のパフォーマンスを異機種間サービスにより最適化するかどうかを制御します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
次の値を指定できます。
-
OFF
を指定すると、エージェントからサーバーにデータを即座に送信するように、フェッチされたデータの再ブロッキングが無効化されます。 -
ON
では再ブロック化が可能です。これは、Oracle以外のシステムからフェッチされたデータがエージェントにバッファされ、フェッチされたデータの量がHS_RPC_FETCH_SIZE
初期化パラメータの値以上になるまでOracleデータベースに送信されないことを意味します。ただし、フェッチでそれ以上データが存在しないことが示された場合、またはOracle以外のシステムがエラーをレポートした場合は、バッファされたデータが即時に返されます。
HS_RPC_FETCH_SIZE
内部データ・バッファリングを調整して、サーバーとエージェント・プロセス間のデータ転送レートを最適化します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
値を増やすと、指定されたデータ量を転送するために必要なネットワークのラウンドトリップの回数が減りますが、データ帯域幅が増え、問合せの発行から問合せのすべてのフェッチの完了までとして測定されるレイテンシが短縮される傾向があります。一方、最初のフェッチ結果は追加データが使用可能になるまで送信されないため、フェッチ・サイズを増やすと問合せの初期フェッチの結果のレイテンシが増大します。
HS_TIME_ZONE
現在のSQLセッションに対応するデフォルトのローカル・タイムゾーンの置換を指定します。
プロパティ | 説明 |
---|---|
[+|-]hh:mmのデフォルト値 |
|
[+|-]hh:mmの値の範囲 |
有効な日時書式マスク |
書式マスク[+|-]hh:mmは、UTC(協定世界時、旧称グリニッジ標準時)の前後の時間および分を示すために指定します。次に例を示します。
HS_TIME_ZONE = [+ | -] hh:mm
HS_TRANSACTION_MODEL
Oracle以外のデータベースがトランザクションによって更新されるときに使用されるトランザクション・モデルのタイプを指定します。
プロパティ | 説明 |
---|---|
デフォルト値 |
なし |
値の範囲 |
|
次の値を指定できます。
-
READ_ONLY
は、Oracle以外のデータベースに対する読取りアクセスを提供します。 -
SINGLE_SITE
は、Oracle以外のデータベースに対する読取り/書込みアクセスを提供します。ただし、ゲートウェイは分散更新に参加できず、データをレプリケートするためにOracle Streamsで使用できません。
IFILE
IFILE
初期化パラメータを使用して、現在の初期化ファイル内に別の初期化ファイルを埋め込みます。
プロパティ | 説明 |
---|---|
デフォルト値 |
なし |
値の範囲 |
有効なパラメータ・ファイル名 |
値は絶対パスである必要があり、環境変数を含めることはできません。3レベルのネスト制限は適用されません。
関連項目:
HS_FDS_TIMESTAMP_MAPPING
Oracle以外のタイムスタンプをOracleタイムスタンプにマップします。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
構文 |
|
CHAR
に設定されている場合、Oracle以外のターゲット・タイムスタンプはCHAR(26)
にマップされます。DATE
(デフォルト)に設定されている場合、Oracle以外のターゲット・タイムスタンプはOracle DATE
にマップされます。TIMESTAMP
に設定されている場合、Oracle以外のターゲット・タイムスタンプはOracle TIMESTAMP
にマップされます。
HS_FDS_DATE_MAPPING
Oracle以外のターゲット日付をOracleターゲット日付にマップします。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
構文 |
|
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_SHAREABLE_NAME
ODBCドライバ・マネージャのフルパス名を指定します。
プロパティ | 説明 |
---|---|
デフォルト値 |
なし |
値の範囲 |
適用なし |
このパラメータは、必須パラメータです。形式は次のとおりです。
HS_FDS_SHAREABLE_NAME=odbc_installation_path/lib/libodbc.sl
説明:
odbc_installation_path
は、ODBCドライバのインストール先のパスです。
このパラメータはUNIXベースのプラットフォームにのみ適用されます。
HS_FDS_REMOTE_DB_CHARSET
このパラメータは、HS_LANGUAGE
がAL32UTF8
に設定され、ゲートウェイがWindowsで実行されている場合にのみ有効です。
プロパティ | 説明 |
---|---|
デフォルト値 |
なし |
値の範囲 |
適用なし |
構文 |
|
データベース・キャラクタ・セットとして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ビットとして実装します。
プロパティ | 説明 |
---|---|
デフォルト値 |
|
値の範囲 |
|
構文 |
|
Oracle Database Gateway for ODBCが動作を補正できるように、これらのタイプのドライバ・マネージャおよびドライバを使用する場合はHS_FDS_SQLLEN_INTERPRETATION=32
を指定する必要があります。