TimesTenデーモン属性の管理

timesten.confファイルには、TimesTenデーモン属性が含まれています。

  • TimesTen Scaleoutでは、timesten.confファイルの値をインポートする場合は、ttGridAdmin instanceConfigImportコマンドを使用します。『Oracle TimesTen In-Memory Databaseリファレンス』インスタンス構成属性のインポート(instanceConfigImport)を参照してください。

  • TimesTen Classicでは、timesten.confファイルの値を作成または変更する場合は、接続属性を使用するか、このファイルを手動で編集するか、ttInstanceCreateユーティリティまたはttInstanceModifyユーティリティを使用します。

    ttInstanceModifyユーティリティを使用して、特によく変更される属性についてtimesten.confファイルを変更します。ttInstanceModifyを使用して特定の属性を変更できず、timesten.confファイルを直接変更する必要がある場合は、TimesTenデーモンを停止してからファイルを変更します。ファイルの変更が完了したら、TimesTenデーモンを再起動します。TimesTenサーバー属性を変更する場合、停止する必要があるのはサーバーのみです。TimesTenデーモンを停止する必要はありません。

    Oracle TimesTen In-Memory DatabaseリファレンスttInstanceCreateおよびttInstanceModifyを参照してください。

timesten.confファイルの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスTimesTenインスタンスの構成ファイルを参照してください。

LinuxおよびUNIXの場合、timesten.confファイルは、次のデーモンのホーム・ディレクトリにあります。

timesten_home/conf 

timesten.confファイルで制御される機能は次のとおりです。

  • デーモンがリスニングを行うネットワーク・インタフェース

  • TimesTenインスタンスに存在可能なTimesTenサブデーモンの最小数および最大数

  • TimesTenサーバーを起動するかどうか

  • クライアント/サーバーのプロセス間通信用に共有メモリー・セグメントを使用するかどうか

  • システムで事前に生成されるサーバー・プロセスの数

  • デーモン・ログ・ファイルおよびユーザー・ログ・ファイルの場所とサイズ

  • クリティカル・イベントに対して保存するデーモン・ロギングの期間

  • 下位互換性

  • TimesTenインスタンスの最大ユーザー数

  • NFSマウントされたシステム間のデータ・アクセス。Linuxの場合のみです。

  • キャッシュ、OCI、Pro*C/C++またはODP.NETを使用するアプリケーションのTNS_ADMIN値。このオプションは、このファイルでは変更できません。

  • 致命的エラーの後のデフォルトのデータベース・リカバリの変更

この項の後半の内容は次のとおりです。

デーモンでリスニングするアドレスの決定

デフォルトでは、TimesTenのメイン・デーモン、すべてのサブデーモンおよびエージェントは、使用可能な任意のアドレスを使用してリクエスト用のソケットでリスニングします。

すべてのTimesTenユーティリティおよびエージェントは、ループバック・アドレスを使用してメイン・デーモンと通信し、メイン・デーモンはループバック・アドレスを使用しエージェントと通信します。

デフォルトでは、IPv4アドレスとIPv6アドレスの両方が使用されます。IPv6アドレスの使用を無効にするには、timesten.confファイルの別の行でenableIPv6属性を0に設定します。

enableIPv6=0

この変更は、TimesTenメイン・デーモンの再起動後に有効になります。IPv4アドレスの使用は無効にできません。

TimesTenがリスニングするIPアドレスを制御するには、timesten.confファイルでIPv4アドレスのlisten_addr属性とIPv6アドレスのlisten_6_addr属性を使用してこれらのアドレスを指定します。このオプションが指定されたアドレスには、ホスト名または数値のIPアドレスのいずれかを指定できます。複数のIPアドレスに解決されるホスト名を指定した場合、TimesTenはこれらすべてのアドレスをリスニングします。

listen_addr属性およびlisten_6_addr属性は、単一のサーバーに複数のネットワーク・アドレスおよび複数のネットワーク・カードが含まれている場合に存在します。TimesTenデーモンがサーバーのネットワーク・アドレスのサブセットをリスニングしているネットワーク・アドレスを制限するには、デーモンがリスニングするアドレスに対してのみエントリを作成します。

ノート:

listen_addr属性またはlisten_6_addr属性を使用すると、IPv4とIPv6の両方をリスニングする使用可能なすべてのアドレスが無効になります。つまり、listen_addr属性を設定する場合は、listen_6_addr属性も設定する必要があります(逆も同様)。

次に例を示します:

  • ローカル・ネットワークの内部と外部の両方でアクセス可能なパブリック・ネットワーク・アドレス、およびローカル・ネットワーク内部でのみアクセス可能なプライベート・アドレスがサーバーに含まれている場合、プライベート・アドレスのみを含むlisten_addr属性またはlisten_6_addr属性(あるいはその両方)を追加すると、パブリック・アドレスで受信されるTimesTenへのすべての通信がブロックされます。

  • ローカル・ホスト(またはループバック・アドレス)のみを指定することによって、TimesTenメイン・デーモンをサーバー外部からのすべての通信から切り離し、TimesTenメイン・デーモンでローカルのクライアントおよびサブデーモンのみと通信できます。

TimesTenレプリケーションでは、listen_addr属性またはlisten_6_addr属性は使用されません。レプリケーションの使用時にこれらの属性を設定する必要はありません。listen_addr属性またはlisten_6_addr属性が使用されている環境でレプリケーションを使用する場合は、使用可能なネットワーク・アドレスを使用するようにレプリケーション・スキームを構成する必要があります。

デーモンがリスニングする必要があるアドレスを明示的に指定するには、timesten.confファイルの別の行に次のように入力します。

listen_addr=Ipv4Address
listen_6_addr=Ipv6Address

たとえば、ループバック・アドレスのみをリスニングするようにデーモンを制限する場合は、次を追加します。

listen_addr=127.0.0.1
listen_6_addr=::1

または

listen_addr=localhost
listen_6_addr=localhost

これは、ローカル・システム上のプロセスのみがデーモンと通信できることを意味します。他のシステムからのプロセスは除外されるため、他のシステムからのクライアント・アクセスなどの操作はできません。

異なるサブネットに複数のイーサネット・カードがある場合は、複数のlisten_addr属性またはlisten_6_addr属性(あるいはその両方)を指定してデーモンがリスニングするアドレスを制御できます。

たとえば、timesten.confファイルにlisten_addr=10.20.30.51listen_6_addr=2020:100:100:300::51の両方を設定した場合、デーモンはIPv4ループバック・アドレス、指定されたIPv4アドレス、IPv6ループバック・アドレスおよび指定されたIPv6アドレスをリスニングします。

127.0.0.1
10.20.30.51
::1
2020:100:100:300::51

timesten.confファイルの別の行に、各属性のエントリを最大4つ入力できます。指定したアドレスに加えて、TimesTenは独自の目的で常にループバック・アドレスをリスニングします。

サブデーモンの管理

TimesTenメイン・デーモンは、必要に応じてサブデーモンを動的に生成します。最大数および最小数を指定して、デーモンが生成できるサブデーモンの範囲を手動で指定できます。

任意の時点で、リカバリ中の失敗した各アプリケーション・プロセスに対するTimesTenプロセス・リカバリに、1つのサブデーモンが必要な場合があります。

デフォルトでは、TimesTenは最小で2つのサブデーモンを生成し、サブデーモンのデフォルトの最大数を50に指定します。ただし、これらの設定は、timesten.confファイルのmin_subs属性およびmax_subs属性に新しい値を割り当てることで変更できます。

共有メモリー・キーの範囲の構成

shmkey_rangeデーモン属性を指定して、TimesTenで使用するすべての共有メモリー・キーの範囲を構成できます。

共有メモリーの衝突を防ぐため、共有メモリー・キーを特定の範囲内に制限できます。ただしこのオプションを使用する場合、特定の範囲内の共有メモリー・キーが他の共有メモリー・セグメントによって使用されていないことを確認するのはユーザーの責任になります。

ノート:

このオプションはUNIXまたはLinuxプラットフォームでのみ使用できます。このオプションはWindowsプラットフォームには使用できません。

構文は次のとおりです。

shmkey_range=low-high

次に例を示します:

shmkey_range=0x4000000-0x40FFFFFF

low-high句にスペースを含めることはできません。先頭と末尾も範囲に含まれます。したがって前述の例では、0x40000000と0x40FFFFFFはどちらも有効なキーです。また、範囲の最小サイズは16です。

このオプションを使用すると共有メモリー・キーが枯渇することがあります。特に複数の無効化が存在する場合や、当初の想定より多くのTimesTenデータベースが存在する場合に、これが発生することがあります。

共有メモリー・キーに対して次の無効な値のいずれかを入力すると、TimesTenデーモンによる起動プロセスは終了されます。

  • 無効な数値文字列

  • 範囲に数字を1つだけ指定

  • 範囲指定で最初の数が2番目の数より大きい

  • 範囲のサイズが16未満。

  • 範囲指定が正しくない。