ヘッダーをスキップ
Oracle® TimesTen In-Memory Databaseエラー・メッセージおよびSNMPトラップ
11gリリース2 (11.2.2)
B66726-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 SNMPトラップによる診断

Simple Network Management Program(SNMP)は、ネットワーク管理サービスのためのプロトコルです。通常、ネットワーク管理ソフトウェアは、SNMPを使用してルーターやスイッチなどのネットワーク・デバイスの状態の問合せまたは制御を行います。また、これらのデバイスはトラップと呼ばれる非同期アラートを生成して、管理システムに問題を通知する場合もあります。

次の各項では、TimesTenにおけるSNMPおよびトラップについて説明します。

TimesTenとSNMP

TimesTenでは、SNMPを介して問合せや制御を行うことはできません。TimesTenで行うのは、ユーザーのリカバリ・メカニズムを簡素化するため、特定の重大なイベントに対してSNMPトラップを送信することのみです。TimesTenでは、次のイベントに対してトラップを送信できます。

こうしたイベントが発生すると、TimesTenデーモンによってログ・エントリも書き込まれますが、これらのエントリをSNMPトラップを介して公開することで、ネットワーク管理ソフトウェアで迅速な処置を行うことができる場合があります。

SNMPのデータ型

SNMPのデータ型は、INTEGERまたはTEXTです。

ASN_INTEGERデータは、次のとおりです。

残りの変数は、ASN_OCTET_STRING型です。

領域不足メッセージのトラップ

デフォルトでは、PermWarnThreshold属性およびTempWarnThreshold属性のパーティション領域のしきい値に基づいて、データベースの領域が少ないことが記録されます。永続データベースのメモリー・パーティションしきい値を定義するPermWarnThresholdが90に設定されている場合は、永続データベースのメモリーが一杯であることを示すメッセージが記録されます。データベースの永続メモリーが設定されたしきい値よりも10%を下回った場合、すなわち、この例では80%を下回ると、データベースの領域が少ない状態ではなくなったことを示す2つ目のメッセージが記録されます。

データベースに接続するときに、PermWarnThresholdおよびTempWarnThreshold属性を設定することによって、領域不足のしきい値を変更できます。『Oracle TimesTen In-Memory Databaseリファレンス』のPermWarnThresholdに関する説明およびTempWarnThresholdに関する説明を参照してください。

TimesTenがSNMPトラップを送信する方法

SNMPトラップは、UDP/IPパケットです。したがって、配信される保証はなく、トラップのサブスクライバがない場合はエラーではありません。TimesTenが送信するのはSNMPv1トラップのみであり、これはすべてのネットワーク管理システムで認識されています。

SNMPトラップの生成および受信

SNMPトラップの生成を有効にするには、snmp.iniの行-enabled 01に変更します。SNMPトラップを生成すると、繰り返し発生する障害の場合(一杯になったデータベースにアプリケーションが新しい行を挿入しようとし続ける場合など)にアプリケーションのパフォーマンスが低下する可能性があるため、TimesTenではデフォルトでSNMPトラップが生成されません。

SNMPトラップを受信するには、ネットワーク管理ソフトウェアが必要です。

snmp.iniファイルの構成

ルート・インストールの場合は、UNIXシステム上の構成ファイル/var/TimesTen/snmp.ini、およびWindowsシステム上のinstall_dir\srv\info\snmp.iniが、トラップの生成を有効または無効にし、SNMPトラップのコミュニティ文字列、ターゲット・ホスト、およびトラップをリスニングするターゲット・ポートを制御します。


注意:

ルート以外のインストールの場合、ファイルはinstall_dir/snmp.iniです。install_dirはTimesTenインストールのパスです。

ファイルの内容は次のとおりです。

構成要素 説明
enabled {0|1} SNMPトラップの生成を無効または有効にします。
-community {string} SNMPコミュニティ文字列です。デフォルトはpublicです。
-trapdest {host:portnumber} SNMPトラップ・メッセージを受信するSNMPエージェントのホスト名およびポート番号です。デフォルト・ホストはlocalhostです。SNMPエージェントがリスニングするデフォルト・ポート番号は162です。

snmp.iniファイルには、最大8つの宛先を指定できます。

-trapport {portnumber} デフォルト・ポートを使用しない場合にローカル・マシンでSNMPトラップを受信するには、-trapportオプションでポート番号を指定します。デフォルト・ポート番号は162です。-trapdest-trapportも指定しない場合、トラップはデフォルト、つまりIPv4ループバック・アドレスにあるlocalhostのポート162に送信されます。

オプションの環境変数TT_SNMP_INIによって、snmp.iniファイルの場所を上書きできます。この変数を設定する場合、SNMP送信側構成ファイルのフルパスを指定する必要があります(これには、snmp.ini以外の名前を指定できます)。

例3-1

メッセージを送信し、1つのターゲット宛先を設定する場合、snmp.iniファイルは次のようになります。

#Enable SNMP trap generation
-enabled 1
#Default community is "public"
-community "public"
#Default trap destination is "localhost" and default destination SNMP trap port is 162
-trapdest "localhost:162"

例3-2

メッセージを送信し、複数のターゲット宛先を設定する場合、snmp.iniファイルは次のようになります。

#Enable SNMP trap generation
-enabled 1
#Default community is "public"
-community "public"
#Default trap destination is "localhost" and default destination SNMP trap port is 162
-trapdest "localhost:162"
-trapdest "pluto:10999"
-trapdest "mymachine:189"

例3-3

トラップの生成を無効にする場合、snmp.iniファイルは次のようになります。

#Disable SNMP trap generation
-enabled 0
#Default community is "public"
-community "public"
#Default trap destination is "localhost" and default destination SNMP trap port is 162
-trapdest "localhost:162"

1つ以上のオプションを指定しなかった場合、またはsnmp.iniファイルが欠落している場合は、各オプションのデフォルト値が使用されます。

オーバーフロー時のトラップの切捨て

1つのトラップの最大パケット・サイズは、1024バイトです。1024バイトの制限を超えるデータがある場合は、トラップは制限内に切り捨てられます。この場合、トラップのttTrapTruncated OIDが1に設定されます。


注意:

CPANのhttp://www.cpan.org/ディレクトリにあるUCD-SNMP perlモジュールを使用して、SNMPトラップを受信し、それに従って処理することもできます。

TimesTen MIB

管理情報ベース(MIB)は、データベース・スキーマに似ています。これは、SNMPデータの構造について記述しています。一般的なMIBについては、前述したSNMPの概要に関するドキュメントを参照してください。

MIB拡張ファイルinstall_dir/mibs/TimesTen-MIB.txtでは、TimesTenのSNMP情報の構造について記述しています。

TimesTenのOIDは、Private Enterprise 5549に基づいています。ルートへの完全なパスは、iso.org.dod.internet.private.enterprise.TimesTen.*または数字で1.3.6.1.4.1.5549.*です。

トラップ

すべてのトラップには、トラップ発生時のグリニッジ標準時(GMT)タイムスタンプ、およびプロセスID、プロセスのユーザー名(または、UNIXシステムでのユーザーID)、TimesTenインスタンス名、TimesTenのリリース番号、トラップ固有のメッセージが含まれます。また、ほとんどのトラップには、そのメッセージ固有の追加情報があります。たとえば、ttRepAgentDiedTrapには、レプリケーション・ストアIDがあります。各トラップの変数のリストについては、TimesTen-MIB.txtファイルを参照してください。

トラップ名と重大度レベル

TimesTen SNMPトラップは、重大度レベルによって分類できます。トラップの情報は、次のいずれかです。

表3-1は、各トラップとその重大度レベルを示しています。

表3-1 トラップの説明と重大度レベル

トラップ名 重大度レベル 説明

ttAssertFailTrap

エラー

TimesTen表明(アサーション)障害

ttAsyncMVFailed

警告

非同期マテリアライズド・ビューのリフレッシュが失敗しました。SNMPトラップには、dsname、デーモンPIDおよびviewidが含まれています。エラーがロックなどの一時エラーによるものである場合、リフレッシュは次回のリフレッシュで正常に終了する可能性があります。

ttCacheAgentDiedTrap

エラー

TimesTen IMDB Cacheデーモンが停止しました。

ttCacheAgentFailoverTrap

警告

キャッシュ・エージェントで、Oracleへの接続が失われ、接続のリカバリが開始されたことが検出されました。

ttCacheAutoRefFailedTrap

エラー

TimesTen IMDB Cache増分自動リフレッシュが失敗しました。

ttCacheAutorefreshDsMarkedDeadTrap

警告

TimesTen IMDB Cache増分自動リフレッシュが失敗しました。リモート・データベースのキャッシュ・エージェントが停止したか応答していません。リモート・データベースの自動リフレッシュが無効になっています。

ttCacheAutorefreshLogSpaceDeFragDetectedTrap

警告

読取り専用キャッシュ・グループ用にOracleに作成されているトリガー・ログ表の一部は断片化しました。ドキュメントに指定されているように、ユーザーは必要な処置を講じることができます。

ttCacheAwtRtReadFailedTrap

エラー

非同期WRITETHROUGHキャッシュ・グループの場合、実行時情報はOracleインスタンスに格納されます。Oracleからのこの情報の読取り中は、レプリケーションは実行時データ表(tt_version_reppeers)を検索できないか、または表内の情報を検索できません。

ttCacheAwtRtUpdateFailedTrap

エラー

非同期WRITETHROUGHキャッシュ・グループの場合、実行時情報はOracleインスタンスに格納されます。この情報の更新中は、レプリケーションは実行時データ表(tt_version_reppeers)を検索できないか、または表内の情報を検索できません。

ttCacheCgNotAutorefreshedTrap

警告

キャッシュ・グループは自動リフレッシュされません。かわりに、キャッシュ・グループの手動ロードまたは手動リフレッシュを行って、これを手動でリカバリする必要があります。

ttCacheLowOracleTblSpace

警告

キャッシュ管理ユーザーが使用している表領域が、最小しきい値を下回っています。

ttCacheRecoveryAutorefreshTrap

警告

キャッシュ・エージェントが完全自動リフレッシュを実行しています。これは、キャッシュ管理ユーザー用の表領域の不足のため、Oracleでの変更ログ表が切り捨てられた場合に実行される必要があります。

ttCacheValidationAbortedTrap

エラー

キャッシュ・エージェントが、致命的エラーによってキャッシュ・グループの検証を強制終了しました。詳細は、ユーザー・エラー・ログを参照してください。

ttCacheValidationErrorTrap

エラー

キャッシュ・エージェントが、キャッシュ・グループcache-group-nameでキャッシュ・グループを適切にリフレッシュできない致命的な異常を検出したか、リフレッシュ間隔time-in-ms中に致命的な異常を検出しました。詳細は、ユーザー・エラー・ログを参照してください。

ttCacheValidationWarningTrap

警告

キャッシュ・エージェントが、キャッシュ・グループcache-group-nameでキャッシュ・グループを適切にリフレッシュできない異常を検出しました。詳細は、ユーザー・エラー・ログを参照してください。

ttDSCkptFailedTrap

エラー

チェックポイントに失敗しました。ユーザー・エラー・ログを参照し、組込みプロシージャttCkptHistoryを使用してチェックポイント履歴を確認してください。

ttDaemonOutOfMemoryTrap

エラー

TimesTenデーモンでmallocのコールが失敗しました。

ttDSDataCorruptionTrap

エラー

データベースの破損エラーが発生しました。

ttDSGoingInvalidTrap

エラー

データベースが無効な状態に設定されています。データベースの無効化は、通常、データベースに接続されたアプリケーションが、最初にデータベースから切断されないで強制終了(キル)または突然終了した場合に発生します。データベース操作中にTimesTenがリカバリ不可能な内部エラーを検出した場合に、データベースを無効化することもあります。コミットまたはロールバックして、データベースをリカバリする必要があります。

ttDSThreadCreateFailedTrap

エラー

データベースへの複数の接続を持つプロセス(通常はマルチスレッド)が異常終了しました。接続をクリーンアップするために割り当てられたサブデーモンは、接続ごとに別々のスレッドを作成します。これらのスレッドの1つの作成が失敗した場合、このトラップがスローされます。スレッドの作成は、メモリーの限界またはシステム内にスレッドが多すぎることによって失敗する場合があります。トラップがスローされた後、スレッドの作成は間隔を長くしながらさらに4回試行されます。最初の試行と最後の試行の間の合計時間は、約30秒です。5回目の試行が失敗した場合、データベースは無効化されます。

ttFileWriteErrorTrap

エラー

ファイルI/Oの書込み中にエラーが発生しました。

ttMainDaemonDiedTrap

エラー

メイン・デーモンまたはサブデーモンが異常終了しました。このメッセージは、メイン・デーモンが停止したことがサブデーモンに通知されたときに、サブデーモンによって送信されます。これはメイン・デーモンが強制終了(キル)されたか、クラッシュしたことを示します。メイン・デーモンを再起動する必要があります。

ttMainDaemonExitingTrap

情報

メイン・デーモンまたはサブデーモンが正常に終了しました。

ttMainDaemonReadyTrap

情報

メイン・デーモンが起動しました。

ttMsgLogOpenFailedTrap

エラー

メッセージ・ログを開くことができませんでした(ファイルに対する権限が不足している可能性があります)。ファイルの場所および権限を確認してください。

ttPartitionSpaceExhaustedTrap

エラー

データベース・パーティションの永続領域または一時領域が使い果たされました。このメッセージは、データベース内の永続的または一時的な空き領域が使い果たされた場合に送信されます。一般に、このメッセージの前にttPartitionSpaceStateTrap警告メッセージが送信されます。しきい値を設定する方法については、『Oracle TimesTen In-Memory Databaseリファレンス』のPermWarnThresholdに関する説明およびTempWarnThresholdに関する説明を参照してください。

ttPartitionSpaceStateTrap

警告

データベース・パーティションの永続領域または一時領域が、OKから不足(またはその逆)に移行しています。このメッセージは、データベース内の永続パーティションまたは一時パーティションの空き領域がしきい値に到達したか、またはしきい値未満になった場合に送信されます。このメッセージが送信されるのは、初めてデータベースに接続したときに、空き領域がPermWarnThrehold属性またはTempWarnThreshold属性に指定されたしきい値に達した場合にかぎられます。しきい値を設定する方法については、『Oracle TimesTen In-Memory Databaseリファレンス』のPermWarnThresholdに関する説明およびTempWarnThresholdに関する説明を参照してください。

ttQueryThresholdWarnTrap

警告

SQL問合せがユーザー指定のしきい値を超えました。問合せのテキストが、ユーザー・ログ・メッセージにあります。問合せのトランザクションIDおよび文IDが、トラップとユーザー・ログ・メッセージの両方にあります。トラップの発行後、問合せの実行が継続されます。

ttRepAgentClockSkewTrap

エラー

ピアが指定されたレプリケーションで、過度のクロック・スキューのため障害が発生しました。アクティブ・スタンバイ・スキームのノード間のスキューが許容制限の250ミリ秒を超えています。

ttRepAgentDiedTrap

エラー

レプリケーション・エージェントが異常終了しました。このメッセージは、レプリケーション・エージェントが異常終了したことがTimesTenのメイン・デーモンに通知されたときに送信されます。通常、これはレプリケーション・エージェントが強制終了(キル)されたか、クラッシュしたことを示します。

ttRepAgentExitingTrap

情報

レプリケーション・エージェントが正常に終了しました。

ttRepAgentStartingTrap

情報

レプリケーション・エージェントが起動しています。

ttRepCatchupStartTrap

警告

障害後、TimesTenが、双方向レプリケーションが構成されているサブスクライバからマスターのリストアを開始したことを示します。

ttRepCatchupStopTrap

警告

TimesTenが、双方向レプリケーションが構成されているサブスクライバからマスター・データベースをリストアしたことを示します。

ttRepConflictReportStartingTrap

情報

競合の頻度がレプリケーション・スキームで設定した最低水位標を下回ったため、競合レポートが再開されたことを示します。このトラップは、レポートが一時停止されている期間に未報告となった競合の数も示します。

ttRepConflictReportStoppingTrap

情報

競合の頻度がレプリケーション・スキームで設定した最高水位標を上回ったため、競合レポートが一時停止されたことを示します。

ttRepReturnTransitionTrap

警告

レプリケーションのRETURN RECEIPTが、サブスクライバで有効または無効になりました。

ttRepSubscriberFailedTrap

エラー

マスターによってサブスクライバのために累積されたログが多すぎるため、サブスクライバがfailedと指定されました。

ttRepSubscriberTCPConnectFailedTrap

エラー

レプリケーションのTCP接続が失敗しました。

ttRepUpdateFailedTrap

警告

レプリケーションの挿入、更新または削除の操作が失敗しました。

ttUnexpectedEndOfLogTrap

エラー/警告

データベースのリカバリ中に、ログ・ファイルが早期に終了しました。アプリケーションがLogAutoTruncate=1(デフォルト)で接続している場合、このトラップは警告を示し、エラー・メッセージを伴ってリカバリが続行されます。アプリケーションがLogAutoTruncate=0で接続している場合、リカバリはエラー・メッセージを伴って終了します。


一般的なTimesTenトラップでは、次の情報が出力されます。

Enterprise Specific Trap (ttDSGoingInvalidTrap) Uptime: 4:34:16
enterprises.timesten.ttSystem.ttTimeStamp = "2002-07-20 22:24:49 (GMT)"
enterprises.timesten.ttSystem.ttPid = 127
enterprises.timesten.ttSystem.ttUid = "SYSTEM"
enterprises.timesten.ttSystem.ttVersion = "@(#) TimesTen Revision: 11.2.2.0.0 Date: 2008/07/07 18:24:10, instance giraffe"
enterprises.timesten.ttMsg, ttMesg "Data store going Invalid (from master daemon)"
enterprises.timesten.ttDataStore.ttDSName = "tptbmdata1122"
enterprises.timesten.ttDataStore.ttDSShmKey = "DBI39775920.0.SHM.12"
enterprises.timesten.ttDataStore.ttDSNConn = 2

このトラップは、Windowsシステムで実行中のTimesTenデーモンから生成されたものです。Uptimeフィールド(SNMPで必要)には、このトラップを生成したプロセスの起動時からの経過時間が示されます。この場合、プロセスttsrv1122.exeは、4時間34分16秒実行されています。

このトラップは、無効化されているデータベースのイベントのものです。そのため、データベース名、データベースの共有メモリー・キーおよびデータベースへの現在の接続数も示されています。