主コンテンツへ
Oracle® TimesTen In-Memory Databaseエラー・メッセージとSNMPトラップ
リリース18.1
E61207-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 
機械翻訳について

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データは、次のとおりです。

  • ttPid

  • ttDSNConn

  • ttDSCurSize

  • ttDaeInst

  • ttRepReceiverPort

  • ttDSReqSize

  • ttDaePid

  • ttDSMaxSize

  • ttCacheAgentPid

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

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

デフォルトでは、TimesTenには、PermWarnThresholdおよびTempWarnThreshold属性のリージョンのしきい値に基づいて、データベース・リージョンが少なくなることが記録されます。 永続データベース・メモリー・リージョンのしきい値を定義するPermWarnThresholdが90に設定されている場合、TimesTenは永続データベース・メモリーがいっぱいであるというメッセージを記録します。 データベースの永続メモリーが設定されたしきい値よりも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システム上の構成ファイルtimesten_home /conf/snmp.iniを使用すると、トラップ生成の有効化または無効化、SNMPトラップのためのコミュニティ文字列、ターゲット・ホスト、およびトラップをリスニングするターゲット・ポートを制御できます。


注意:

各インスタンスには「インスタンス・ホーム」があります。timesten_homeは、インスタンスに関連付けられたディレクトリ構造の最上位レベルを表します。

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

構成要素 説明
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つのターゲット宛先の設定

メッセージを送信し、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トラップ生成の無効化設定

トラップの生成を無効にする場合、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に設定されます。

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 Application-Tier Database Cacheデーモンが停止しました。

ttCacheAgentFailoverTrap

警告

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

ttCacheAutoRefFailedTrap

エラー

TimesTen Application-Tier Database Cacheの増分自動リフレッシュが失敗しました。

ttCacheAutorefreshDsMarkedDeadTrap

警告

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

ttCacheAutorefreshLogSpaceDeFragDetectedTrap

警告

Oracleデータベースの一部の自動リフレッシュ変更ログ表が断片化されています。 ログ表の断片化を解消する方法の詳細は、「Oracle TimesTen In-Memory Databaseトラブルシューティング・ガイド」の「断片化された自動リフレッシュ変更ログ表領域」を参照してください。

ttCacheAwtRtReadFailedTrap

エラー

非同期ライトスルー・キャッシュ・グループの場合、ランタイム情報はOracleデータベース・インスタンスに格納されます。 Oracleデータベースからこの情報を読み取る際に、レプリケーションでランタイム・データ表(tt_version_reppeers)が見つからなかったか、または表内に情報が見つかりませんでした。

ttCacheAwtRtUpdateFailedTrap

エラー

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

ttCacheCgNotAutorefreshedTrap

警告

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

ttCacheLowOracleTblSpace

警告

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

ttCacheRecoveryAutorefreshTrap

警告

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

ttCacheValidationAbortedTrap

エラー

キャッシュ・エージェントは、リカバリ不能なエラーのためにキャッシュ・グループ検証を中断しました。 詳細は、ユーザー・エラー・ログを参照してください。

ttCacheValidationErrorTrap

エラー

キャッシュ・エージェントがキャッシュ・グループのリフレッシュを正しく行わないようにするキャッシュ・グループcache-group-nameによってリカバリ不能な異常を検出したか、time-in-msのリフレッシュ間隔内にリカバリ不能な異常が検出されました。 詳細は、ユーザー・エラー・ログを参照してください。

ttCacheValidationWarningTrap

警告

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

ttDSCkptFailedTrap

エラー

チェックポイントに失敗しました。 ユーザー・エラー・ログを確認し、SYS.GV$CKPT_HISTORYまたはSYS.V$CKPT_HISTORYシステム・ビューまたは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が、双方向レプリケーションが構成されているサブスクライバからマスターのリストアを開始したことを示します。

ttRepAgentStateChange

情報

レプリケーション・エージェントの状態を示します。 レプリケーション・エージェントの状態は、ACTIVEFAILEDIDLERECOVERINGSTANDBYおよびUNKNOWNです。 TimesTenは、レプリケーション・エージェントの状態が変化したときにのみ、このトラップを送信します。

ttRepCatchupStopTrap

警告

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

ttRepConflictReportStartingTrap

情報

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

ttRepConflictReportStoppingTrap

情報

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

ttRepReturnTransitionTrap

警告

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

ttRepSubscriberFailedTrap

エラー

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

ttRepSubscriberTCPConnectFailedTrap

エラー

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

ttRepUpdateFailedTrap

警告

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

ttUnexpectedEndOfLogTrap

エラー/警告

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


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

TimesTen::ttDSTraps
Enterprise Specific Trap (TimesTen::ttDSGoingInvalidTrap) Uptime: 0:0:00:00.00
TimesTen::ttTimeStamp "2019-10-11 17:21:20 (GMT)"
TimesTen::ttPid 128974
TimesTen::ttUid "4121"
TimesTen::ttVersion "@(#)TimesTen: Release: 18.1.3.1.0 Date: 2019-10-11T16:28:39Z, instance instance1"
TimesTen::ttMesg "Data store marked invalid"
TimesTen::ttDSName "database1"
TimesTen::ttDSShmKey "0x210738f"
TimesTen::ttDSNConn 14

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