主コンテンツへ
Oracle® TimesTen In-Memory Databaseオペレーション・ガイド
リリース18.1
E98635-05
  目次へ移動
目次
索引へ移動
Index

前
 
次
 

4 TimesTenデーモンの処理

TimesTenデーモンは、TimesTenのインストール時に起動されます。デーモンは、バックグラウンドで実行されます。

TimesTenデーモンは次の機能を実行します。

アプリケーション開発者は、デーモンと直接対話しません。デーモンでアプリケーション・コードは実行されないため、通常、アプリケーション開発者がデーモンについて考慮する必要はありません。TimesTenデータベースにアクセスするアプリケーション・プログラムは、TimesTen内部ルーチンを透過的に使用してデーモンと通信します。

次の項では、TimesTenデーモンとの対話について説明します。

デーモンの起動と停止

TimesTenデーモンを起動および停止するには、インスタンス管理者である必要があります。

setuprootスクリプトのインストール

TimesTenデーモン起動スクリプト(setuprootスクリプト)をインストールすると、オペレーティング・システムが再起動するたびにデーモンが自動的に起動されます。

setuprootスクリプトをrootとしてインストールします。

  • TimesTen Classicでは、setuprootスクリプトは、timesten_home/binディレクトリにあります。

    % cd $TIMESTEN_HOME/bin
    % setuproot -install
    
  • TimesTen Scaleoutの場合、setuprootスクリプトのインストール手順は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のシステム起動時に自動的に起動するインスタンスの設定に関する項を参照してください。また、デーモンは、ttGridAdmin dbOpenコマンドまたはttGridAdmin modelApplyコマンドに対して実行される処理の一環として、各データ・インスタンスで自動的に起動されます。

rootユーザーは、デーモン起動スクリプトを実行してデーモンを起動できます。次の表に、デーモン起動スクリプトの場所をプラットフォームごとに示します。

環境 デーモン起動スクリプトの場所
Linux /etc/init.d/tt_instance_name
AIX /etc/init.d/tt_instance_name

手動でのデーモンの起動と停止

  • TimesTen Classicでは、setuprootスクリプトを実行していないかぎり、各システムの再起動後にインスタンス管理者が手動でデーモンを起動および停止する必要があります。TimesTenメイン・デーモンを手動で起動および停止するには、-startまたは-stopオプションを指定してttDaemonAdminユーティリティを使用します。

  • TimesTen Scaleoutでは、データ・インスタンスのデーモンを手動で起動する必要がある場合、ttGridAdmin instanceExecコマンド内でttDaemonAdmin -startオプションまたは-stopオプションを実行できます。

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttDaemonAdminに関する項およびグリッド・インスタンスでのコマンドまたはスクリプトの実行(instanceExec)に関する項を参照してください。

TimesTenアプリケーションの停止

次の項で説明するコマンドを使用して、TimesTenアプリケーションを停止できます。

TimesTen Classic内のアプリケーションの停止

TimesTen Classic内のアプリケーションは、共有メモリーに割り当てられたデータベース、ユーザー接続、場合によっては他のTimesTenデータベースまたはOracleデータベースと通信するためのレプリケーション・エージェントやキャッシュ・エージェントで構成されています。

TimesTen Classicデータベースへのアクティブな接続をすべて閉じるには、ttAdmin -disconnectコマンドを実行します。詳細は、このマニュアル内のデータベースからの切断、およびOracle TimesTen In-Memory DatabaseリファレンスのttAdminを参照してください。

TimesTen Classicデータベースをアンロードする場合は、「メモリーからのTimesTen Classicデータベースのアンロード」で詳細を確認してください。

TimesTen Scaleout内のアプリケーションの停止

TimesTen Scaleoutでは、次の操作を実行すると、データベースからすべてのTimesTenアプリケーションを切断できます。

  • ユーザー接続に対してデータベースを閉じますttGridAdmin dbCloseコマンドにより、データベースへの新しいユーザー接続を無効にします。

  • すべてのアプリケーションをデータベースから切断します。ttGridAdmin dbDisconnectコマンドは、データベースへのすべてのユーザー接続を終了します。

  • データベースをメモリーからアンロードしますttGridAdmin dbUnloadコマンドにより、それぞれのホストのメモリーからデータベースの各要素をアンロードします。

詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のメモリーからのデータベースのアンロードに関する項を参照してください。

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 Server属性を変更する場合、停止する必要があるのはサーバーのみです。TimesTenデーモンを停止する必要はありません。

    ttInstanceCreateユーティリティおよびttInstanceModifyユーティリティの詳細は、『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 Serverが起動されるかどうか

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

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

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

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

  • 下位互換性

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

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

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

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

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

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

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

timesten.confファイルのlisten_addr属性は、指定された値で示される特定のアドレスをリスニングするようにTimesTenデーモンに指示します。このオプションが指定されたアドレスには、ホスト名または数値のIPアドレスのいずれかを指定できます。

listen_addr属性は、単一のサーバーに複数のネットワーク・アドレスおよびネットワーク・カードが含まれている場合に存在します。この場合、TimesTenデーモンによってリスニングされるネットワーク・アドレスを、サーバーのネットワーク・アドレスのサブセットに制限できます。これは、デーモンがリスニングする対象となるアドレスを入力することによって行います。次の状態が発生する可能性があります。

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

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

TimesTenレプリケーションとlisten_addrパラメータの間に関連はなく、レプリケーションを有効にした場合にlisten_addr属性を有効にする必要はありません。listen_addrが有効になっている環境でレプリケーションを使用する場合は、使用可能なネットワーク・アドレスがレプリケーション・ノードで認識される必要があります。ただし、-listenaddr属性が有効になっていない場合でも、レプリケーションは機能します。

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

listen_addr=address

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

listen_addr=127.0.0.1

または

listen_addr=localhost

これは、ローカル・システム上のプロセスのみがデーモンと通信できることを意味します。他のシステムからのプロセスは除外されるため、他のシステムとの間でレプリケーションを行ったり、他のシステムからクライアント・アクセス権を付与することはできません。

異なるサブネットに複数のイーサネット・カードがある場合は、listen_addrエントリを指定してデーモンに接続できるシステムを制御できます。

timesten.confファイル内の最大4行の個別の行に属性および値を指定して、リスニングする最大4つのアドレスを入力できます。指定したアドレスに加えて、ループバック・アドレスでも常にTimesTenによるリスニングが行われています。

IPv6のリスニング

デフォルトでは、TimesTenはIPv4プロトコルを使用します。デーモンによるIPv6のリスニングを有効にするには、timesten.confファイルに次の行を個別の行に入力する必要があります。

enableIPv6=1

および

listen_6_addr=address
  • IPv6アドレスを指定するには、IPv6を有効にするlisten_6_addr属性を指定します。

  • enableIPv6属性と1つ以上のlisten_addr属性またはlisten_6_addr属性を指定すると、IPv6ループバック・インタフェースがリストに追加されます。

  • enableIPv6属性を指定し、listen_addr属性またはlisten_6_addr属性でアドレスを何も指定しなかった場合、デーモンはすべてのIPv6インタフェースおよびすべてのIPv4インタフェースでリスニングします。

このオプションが指定されたアドレスには、ホスト名または数値のIPアドレスのいずれかを指定できます。listen_addrオプションの詳細は、「アドレスをリスニングするデーモンの決定」を参照してください。

1つ以上のlisten_addr属性が指定されると、デーモンは指定されたIPv4インタフェースに対するリスニングを行い、IPv4ループバック・アドレスがリストに追加されます(ループバック・アドレスが指定されていない場合)。enableIPv6のみが指定されている場合は、IPv4およびIPv6のすべてのインタフェースに対するリスニングを行います。

listen_addrlisten_6_addrの両方の属性を指定できます。1つ以上のlisten_6_addr属性が指定されると、デーモンは指定されたIPv4またはIPv6インタフェースに対するリスニングを行い、IPv4とIPv6の両方のループバック・インタフェースが追加されます(ループバック・インタフェースが指定されていない場合)。ネーム・リゾルバが1つの名前に対して複数のIPv4またはIPv6(あるいはその両方)のアドレスを返した場合、デーモンはすべての名前に対するリスニングを行います。

サブデーモンの管理

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

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

デフォルトでは、TimesTenは最小で4つのサブデーモンを生成します。サブデーモンのデフォルトの最大数は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未満。

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

TimesTen Client/Serverの属性の管理

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

TimesTen Server属性の変更

TimesTen Serverは、バックグラウンドで常時稼働しているTimesTenデーモンの子プロセスです。TimesTen Server属性を変更するには、次の手順を実行する必要があります。

  1. TimesTen Serverを停止します。

  2. 次の項の説明に従って、timesten.confファイル内の属性を変更します。

  3. TimesTen Serverを再起動します。

TimesTen Serverの制御

timesten.confファイルのserver_port=portno属性は、TimesTen Serverの起動と使用するポートをTimesTenデーモンに指示します。portnoは、サーバーでリスニングされるポート番号です。

TimesTen ClassicでのTimesTen Serverプロセスの事前作成

各TimesTen Client接続に、1つのサーバー・プロセスが必要です。デフォルトでは、クライアントが接続をリクエストするとサーバー・プロセスが生成されます。TimesTen Classicでは、サーバー・システムのtimesten.confファイルにserver_pool属性を設定することによって、予約サーバー・プロセスのプールを事前作成できます。これらのサーバー・プロセスは、クライアント接続でただちに使用可能になり、クライアント/サーバー接続のパフォーマンスが向上します。

サーバー・システム上のtimesten.confファイル内のserver_pool=number属性は、number個のプロセスを作成するようにTimesTen Serverに指示します。このオプションを指定しない場合、プロセスは事前に生成されず、予約プールに保存されます。

新しい接続のリクエスト時に、サーバー・プールにプロセスが存在しない場合は、オペレーティング・システムの制限に達していないかぎり、新しいプロセスが起動されます。

オペレーティング・システムで処理可能な数を超えるプロセスをリクエストすると、警告が戻されます。リクエストしたプロセスの数に関係なく、予約プールにプロセスが残っていなくても、システムで使用可能なプロセスが存在しない場合にクライアントが接続をリクエストしないかぎり、エラーは発生しません。

TimesTen Serverに対する変更は、TimesTen Serverが再起動されると有効になります。

TimesTen Serverに対する複数の接続の指定

デフォルトでは、TimesTenでは、1つのサーバーへの接続は子サーバー・プロセスごとに1つのみ作成されます。サーバー接続属性を使用するか(「LinuxまたはUNIXシステム上のTimesTen ServerのサーバーDSNの定義」または『Oracle TimesTen In-Memory Databaseリファレンス』のTimesTen Server接続属性に関する項を参照)、この項で説明するTimesTenデーモン属性を設定することで、1つのTimesTen Serverに対して複数の接続を設定できます。

TimesTen Serverを再起動するまで、TimesTen Serverの設定に対する変更は有効になりません。サーバーを再起動するには、次のコマンドを使用します。

% ttDaemonAdmin -restartserver

ノート:

サーバー接続属性とこれらのデーモン属性の両方を設定した場合は、サーバー接続属性の値が優先されます。

子サーバー・プロセス当たりのクライアント接続の最大数の構成

1つのサーバー・プロセスでデータベースへの複数のクライアント接続に対応できるようにマルチスレッド・モードで子サーバー・プロセスを実行するには、次の属性をtimesten.confファイルに追加します。

max_conns_per_server=NumberOfClientConnections

詳細は、「LinuxまたはUNIXシステム上のTimesTen ServerのサーバーDSNの定義」を参照してください。

子サーバー・プロセス間での接続分散の構成

ラウンドロビン接続分散を使用する特定のサーバーDSN (max_conns_per_server >1の場合)に対して子サーバー・プロセスの数を指定するには、次の属性をtimesten.confファイルに追加します。

servers_per_dsn=NumberOfChildServerProcesses

デフォルトでは(値=1)、サーバーDSNへの最初のmax_conns_per_serverクライアント接続は1つの子サーバー・プロセスに割り当てられ、次のmax_conns_per_server connectionは2つ目の子サーバー・プロセスに割り当てられるといったようになります。サーバー・プロセス間での接続の分散方法を制御するためにservers_per_dsn属性とmax_conns_per_server属性がどのように互いに関連するかの詳細は、「LinuxまたはUNIXシステム上のTimesTen ServerのサーバーDSNの定義」を参照してください。

子サーバー・プロセスのスレッド・スタック・サイズの構成

クライアント接続ごとに子サーバー・プロセスのスレッド・スタック・サイズを設定するには、次の属性をtimesten.confファイルに追加します。

server_stack_size=ThreadStackSize

詳細は、「LinuxまたはUNIXシステム上のTimesTen ServerのサーバーDSNの定義」を参照してください。


ノート:

TimesTen Serverへのこれらの変更は、TimesTenデーモンを再起動するまでは有効になりません。

クライアント/サーバーIPCでの共有メモリーの使用方法

デフォルトでは、TimesTenは、TimesTen ClientドライバにリンクされたアプリケーションとTimesTen Server間でTCP/IP通信を使用します。

クライアント・アプリケーションがTimesTen Serverと同じシステム上に存在する場合は、かわりにプロセス間通信(IPC)に共有メモリーを使用して、パフォーマンスを向上させることができます。共有メモリーをIPCとして使用する前に、システムが正しく構成されていることを検証します。

Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドのLinuxの前提条件を参照してください。

timesten.confファイルのserver_shmipc属性は、IPCの共有メモリー・セグメントを使用するクライアント接続を受け入れるようにTimesTen Serverに指示します。

この属性がない場合は、この行をtimesten.confファイルに追加して、TimesTenデーモンの再起動時に共有メモリーIPC機能を使用するTimesTen Serverを起動するようにします。

この属性がある場合は、server_shmipc属性の値を0に変更して共有メモリーIPCを使用しないようにします。これで、TimesTenデーモンの起動時に、TimesTen Serverが共有メモリーのIPC機能付きで起動されなくなります。


ノート:

TimesTenでは、共有メモリーのIPC対応サーバーの最大16の異なるインスタンスがサポートされています。アプリケーションで16を超えて異なる共有メモリー・セグメントに接続しようとすると、ODBCエラーが戻されます。

共有メモリー・セグメントのサイズの管理

timesten.confファイルのserver_shmsize size属性は、指定したサイズ(MB)の共有メモリー・セグメントを作成するようにTimesTen Serverに指示します。

この属性がない場合、TimesTen Serverは64MBの共有メモリー・セグメントを作成します。

共有メモリー・セグメントの適切な値は、次の要因によって異なります。

  • TimesTen Serverのインスタンスに属するすべてデータベースへの同時クライアント/サーバー接続の推定数。

  • このような接続ごとに同時に割り当てられる文の数。

  • 問合せに対して送信されるデータの量。

共有メモリー・セグメントのサイズを決定するためのガイドラインには、次の内容が含まれます。

  • 許可される最大サイズは1GBです。

  • TimesTenには、内部的に使用する1MBのメモリーが必要です。

  • 接続ごとに、16KBの固定ブロックが必要です。

  • 各文は、IPC用の16KBのブロックで始まります。ただし、このサイズは、問合せに対して送信されるデータのサイズに応じて増減されます。文のバッファ・サイズは、TimesTenによって2倍に増加されたり、半分に減少されます。

たとえば、ユーザー・アプリケーションで最大100の同時共有メモリー対応クライアント/サーバー接続が想定される場合、および各接続に最大50の文があると想定され、最大の問合せによって128 KBのデータが戻される場合は、次の計算式を使用してserver_shmsizeを構成します。

server_shmsize = 1 MB + (100 * 16) KB + (100 * 50 * 128) KB
              = 1 MB + 2 MB + 625 MB = 628 MB

これは、この例に必要な最大のメモリーです。100すべての接続のそれぞれに50文が含まれ、それらの各文に、結果行に128KBのデータを戻す問合せが含まれている場合にのみ、メモリー・セグメント全体が使用されます。

この例で、server_shmsizeを128 MBに構成した場合、新しい共有メモリー対応クライアント/サーバー接続がTimesTen Serverによって拒否されるか、共有メモリー・セグメント内のリソース不足が原因で問合せに失敗する場合があります。

共有メモリー・セグメントのサイズの変更

設定した共有メモリー・セグメントの値を変更するには、TimesTen Serverを停止する必要があります。サーバーを停止すると、TimesTen Serverのインスタンスに関連付けられているすべてのデータベースへの既存のクライアント/サーバー接続が切断されます。server_shmsize属性の値を変更するステップは次のとおりです。

  1. timesten.confファイルのserver_shmsizeの値を変更します。

  2. ttDaemonAdminユーティリティを使用して、TimesTen Serverを再起動します。TimesTen Serverを再起動できるのは、インスタンス管理者のみです。

TimesTen Serverログ・メッセージの制御

timesten.confファイルのnoserverlog属性は、クライアント・アプリケーションとの間の接続および切断のロギングを無効にするようにTimesTenデーモンに指示します。

TimesTen Serverがインストールされている場合は、次の方法で接続および切断に関するメッセージのロギングを有効または無効にできます。

  • ロギングを有効にするには、noserverlog属性の値を1に変更します。

  • ロギングを無効にするには、noserverlog属性の値を0に変更します。

エラー、警告および情報メッセージ

デーモンは、動作時に、エラー、警告および情報メッセージを生成します。これらのメッセージは、Timestenのシステム管理およびアプリケーションのデバッグに有効です。

デフォルトで、TimesTenメッセージおよび診断情報は、次のように格納されます。

  • エラー・メッセージ情報を含むユーザー・エラー・ログ。通常、これらのメッセージには、実行する必要がある可能性がある処理が含まれています。デフォルトのファイルは、timesten_home/diag/tterrors.logです。

  • ユーザー・エラー・ログ内のすべての情報およびTimesTenカスタマ・サポートで使用される情報が格納されるデーモン・ログ・ファイル。デフォルトのファイルは、timesten_home/diag/ttmesg.logです。

  • TimesTenがデータベースを無効化した場合の無効化ファイルの診断情報。このファイルには、TimesTenカスタマ・サポートで役に立つトラブルシューティング情報が含まれます。無効化ファイルは、DataStore接続属性により指定される値に基づいて作成され、名づけられます。接続属性はファイル名ではありません。たとえば、LinuxおよびUNIXシステムでは、DataStore接続属性が/home/ttuser/AdminDataの場合、実際の無効化ファイル名には、接尾辞.inval/home/ttuser/AdminData.invalが付きます。無効化ファイルの詳細は、「クリティカル・イベント・ロギング」を参照してください。

  • クリティカル・イベント・ログ・ファイルには、クリティカル・イベント発生時に収集されたデーモン・ログ・エントリが含まれ、クリティカルな障害の診断を支援します。詳細は、「クリティカル・イベント・ロギング」を参照してください。

TimesTenインスタンス構成ファイル(timesten.confファイル)では、デーモン・ログ・ファイルおよびユーザー・ログ・ファイルの場所とサイズに加え、システムに保存しておくファイルの数を指定できます。

LinuxまたはUNIXでは、TimesTenデーモンとサブデーモンのメッセージをログに記録するために使用するsyslog機能も指定できます。timesten.confファイルの別の行に次を追加します。

facility=name

指定できる名前値は、authcrondaemonlocal0-local7lprmailnewsuserまたはuucpです。

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のTimesTenインスタンスの構成ファイルに関する項を参照してください。

ttDaemonLogユーティリティを使用すると、TimesTenユーザー・ログおよびエラー・ログに対して書込みおよびフェッチを行うイベントのタイプを制御できます。また、このユーティリティを使用して、すべてのメッセージまたは選択したメッセージ・カテゴリをログから標準出力に表示することもできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttDaemonLogに関する説明を参照してください。

クリティカル・イベント・ロギング

クリティカル・イベントが発生すると、TimesTenでは、クリティカル・イベントの時点でデーモン・ログ・エントリが収集され、クリティカルな障害の診断を支援します。クリティカル・イベントの例としては、データベース障害またはログ・ベースのキャッチアップ障害があります。データベースの無効化は、TimesTenによってデータベース内のデータが破損して使用できないことが検出された場合に発生します。

  • TimesTenにより、クリティカル・イベントの時点で収集されたデーモン・ログ・ファイルのスニペットを含むクリティカル・イベント・ファイルが生成されます。クリティカル・イベント・ログ・ファイルは、デーモン・ログ・ファイルと同じディレクトリに作成されて格納されます(timesten.confファイル内のsupportlog構成属性によって指定されます)。クリティカル・イベント・ログ・ファイルには、ttmesg.log.ts_timestamp.gzの形式で名前が付けられます(timestampはホスト上の現在の時間)。

  • クリティカル・イベントが発生すると、TimesTenにより、クリティカル・イベント情報が収集されたこと、およびクリティカル・イベント・ログ・ファイルの名前がデーモン・ログ・ファイルに記録されます。

  • データベースの無効化が発生すると、TimesTenにより、データベース無効化の時点でクリティカル・イベント情報が収集されたこと、およびクリティカル・イベント・ログ・ファイルの名前が.invalファイルに記録されます。.invalファイルはDataStoreディレクトリに構成されているものと同じディレクトリに配置されています。

複数のクリティカル・イベントが短時間に連続して発生した場合、TimesTenでは、次のクリティカル・イベント・ログ・ファイル内に後続の各イベントに関する新しい情報のみが収集されます。

timesten.confファイルでdaemon_log_snippet_interval_in_mins構成属性を使用して、デーモン・ログ収集の期間を構成できます。timesten.confファイルへのすべての変更と同様、変更を有効にするには、メイン・デーモンを再起動する必要があります。この構成属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のTimesTenインスタンスの構成ファイルに関する項を参照してください。

例4-1 クリティカル・イベントの発生時のデーモン・ログの出力例

クリティカル・イベントの発生とクリティカル・イベント・ログ・ファイルの名前は、デーモン・ログ・ファイルに記録されます。次の例では、2つのクリティカル・イベントが短時間に連続して発生した場合にデーモン・ログ・ファイルに表示されるメッセージを示します。

17:08:00.224 Err : : 12532: A critical event has happened. Saving last 600 seconds 
snippet of daemon log at /timesten/instance/diag/ttmesg.log.ts_1568160480.gz.
17:08:00.643 Err : : 12532: Read 543878 bytes from daemon log file and wrote into
 the daemon log snippet file located at /timesten/instance/diag/ttmesg.log.ts_1568160480.gz
 
17:11:12.657 Err : : 12532: A critical event has happened. Saving last 600 seconds
 snippet of daemon log at /timesten/instance/diag/ttmesg.log.ts_1568160672.gz.
17:11:12.657 Err : : 12532: Part of the daemon log snippet has already been
 recorded in a prior snippet file ending with timestamp 1568160480.gz
17:11:13.077 Err : : 12532: Read 2678582 bytes from daemon log file and wrote
 into the daemon log snippet file located at
 /timesten/instance/diag/ttmesg.log.ts_1568160672.gz

その後、指定したttmesg.log.ts_timestamp.gzファイルに収集されたログ・レコードを評価できます。

例4-2 データベースの無効化の.invalファイルの出力例

データベースの無効化イベントとクリティカル・イベント・ログ・ファイルの名前は、.invalファイルに記載されています。次の例では、2つのクリティカル・イベントが短時間に連続して発生した場合に.invalファイルに表示されるメッセージを示します。

2019-09-10 17:08:00.752
Hostname: myhost
Invalidated data store: /timesten/instance/datastores/mydb
Data store created: 2019/09/10 17:04:25
TimesTen Release 18.1.3.1.0 (Linux x86-64, 64-bit dbg) (myhost)
Data store created by Release 18.1.3.1.0 (Linux x86-64, 64-bit dbg) (myhost)
Source: Data store marked invalid by master daemon: grid LBCU pre-condition check failed
A critical event has happened. Saving last 600 seconds snippet of daemon log at 
/timesten/instance/diag/ttmesg.log.ts_1568160480.gz.
Read 953765 bytes from daemon log file and wrote into the daemon log snippet file 
located at /timesten/instance/diag/ttmesg.log.ts_1568160480.gz
 
2019-09-10 17:11:13.905
Hostname: myhost
Invalidated data store: /timesten/instance/datastores/mydb
Data store created: 2019/09/10 17:04:25
TimesTen Release 18.1.3.1.0 (Linux x86-64, 64-bit dbg) 
Data store created by Release 18.1.3.1.0 (Linux x86-64, 64-bit dbg) 
Source: Data store marked invalid by master daemon: subdaemon managing database 
exited or died
A critical event has happened. Saving last 600 seconds snippet of daemon log at 
/timesten/instance/diag/ttmesg.log.ts_1568160673.gz.
Part of the daemon log snippet has already been recorded in a prior snippet file 
ending with timestamp ts_1568160480.gz
Read 781026 bytes from daemon log file and wrote into the daemon log snippet file 
located at /timesten/instance/diag/ttmesg.log.ts_1568160673.gz

その後、指定したttmesg.log.ts_timestamp.gzファイルに収集されたログ・レコードを評価できます。