16 オンデマンド分析および診断収集

tfactlコマンドライン・ツールを使用してOracle Trace File Analyzerをオンデマンドで実行します。

16.1 オンデマンドの診断収集およびログ分析

tfactlコマンドは、分析の実行時に様々なデータベース・コマンド・ツールの組合せを使用できます。

tfactlコマンドを使用すると、共通の構文を使用して、すべてのツールにアクセスできます。共通の構文の使用により、ツール間の構文の違いによる複雑さが解消されます。

分析の実行および問題の解決には、Oracle Trace File Analyzerのツールを使用します。さらにサポートが必要な場合は、tfactlコマンドを使用して、Oracleサポートに提供する診断を収集します。

Oracle Trace File Analyzerは次の操作を実行します。

  • 選択した時刻の関連ログ・データを収集します。

  • その時刻の前後でログ・ファイルを切り捨て、診断に必要なデータのみを収集します。

  • tfactlが実行されたノード上のすべての診断をパッケージ化します。

図16-1 オンデマンド収集

図16-1の説明が続きます
「図16-1 オンデマンド収集」の説明

16.2 システムおよびクラスタのサマリーの表示

summaryコマンドは、システムおよびクラスタのステータスのリアルタイム・レポートを提供します。

構文

tfactl summary [options]

さらにヘルプを表示するには、次のようにします。
tfactl summary -help

16.3 ログ内のエラーの調査

Oracle Trace File Analyzerを使用して、クラスタ全体のすべてのログを分析し、最近のエラーを識別します。

  1. 過去1日間のすべてのエラーを検出するには、次のようにします。
    $ tfactl analyze –last 1d
  2. 指定した期間中に発生したすべてのエラーを検出するには、次のようにします。
    $ tfactl analyze –last 18h
  3. 任意のノード上での特定のエラーの発生をすべて検出するには(たとえば、ORA-00600エラーを報告)、次のようにします。
    $ tfactl analyze -search “ora-00600" -last 8h

例16-1 ログの分析

tfactl analyze –last 14d

Jun/02/2016 11:44:39 to Jun/16/2016 11:44:39 tfactl> analyze -last 14d
INFO: analyzing all (Alert and Unix System Logs) logs for the last 20160 minutes...  Please wait...
INFO: analyzing host: myserver69

                        Report title: Analysis of Alert,System Logs
                   Report date range: last ~14 day(s)
          Report (default) time zone: EST - Eastern Standard Time
                 Analysis started at: 16-Jun-2016 02:45:02 PM EDT
               Elapsed analysis time: 0 second(s).
                  Configuration file: 
/u01/app/tfa/myserver69/tfa_home/ext/tnt/conf/tnt.prop
                 Configuration group: all
                 Total message count:            957, from 02-May-2016 
09:04:07 PM EDT to 16-Jun-2016 12:45:41 PM EDT
   Messages matching last ~14 day(s):            225, from 03-Jun-2016 
02:17:32 PM EDT to 16-Jun-2016 12:45:41 PM EDT
         last ~14 day(s) error count:              2, from 09-Jun-2016 
09:56:47 AM EDT to 09-Jun-2016 09:56:58 AM EDT last ~14 day(s) ignored error count: 0
  last ~14 day(s) unique error count: 2

Message types for last ~14 day(s)
    Occurrences percent  server name          type
    ----------- -------  -------------------- -----
            223   99.1%  myserver69           generic
              2    0.9%  myserver69           ERROR
    ----------- -------
            225  100.0%

Unique error messages for last ~14 day(s)
    Occurrences percent  server name          error
    ----------- -------  -------------------- -----
              1   50.0%  myserver69           Errors in file 
/u01/app/racusr/diag/rdbms/rdb11204/RDB112041/trace/RDB112041_ora_25401.trc
(incident=6398):
                                              ORA-07445: exception
encountered: core dump [] [] [] [] [] []
                                              Incident details in: 
/u01/app/racusr/diag/rdbms/rdb11204/RDB112041/incident/incdir_6398/RDB112041_ora_25401_i6398.trc 

                                              Use ADRCI or Support Workbench to package the incident.
                                              See Note 411.1 at My Oracle Support for error and packaging details.

              1   50.0%  myserver69           Errors in file 
/u01/app/racusr/diag/rdbms/rdb11204/RDB112041/trace/RDB112041_ora_25351.trc
(incident=6394):
                                              ORA-00700: soft internal error, arguments: [kgerev1], [600], [600], [700], [], [], [], [], [], [], [], []
                                              Incident details in: 
/u01/app/racusr/diag/rdbms/rdb11204/RDB112041/incident/incdir_6394/RDB112041_ora_25351_i6394.trc 

                                              Errors in file /u01/app/racusr/diag/rdbms/rdb11204/RDB112041/trace/RDB112041_ora_25351.trc
(incident=6395):
                                              ORA-00600: internal error code, arguments: [], [], [], [], [], [], [], [], [], [], [], []
                                              Incident details in: 
/u01/app/racusr/diag/rdbms/rdb11204/RDB112041/incident/incdir_6395/RDB112041_ora_25351_i6395.trc 

                                              Dumping diagnostic data in directory=[cdmp_20160609095648], requested by (instance=1, osid=25351), summary=[incident=6394].
                                              Use ADRCI or Support Workbench to package the incident.
                                              See Note 411.1 at My Oracle Support for error and packaging details.

    ----------- -------
              2  100.0%
 See Change Which Directories Get Collected for more details.

16.4 含まれているツールを使用したログの分析

Oracle Databaseのサポート・ツール・バンドルは、Oracle Trace File AnalyzerをMy Oracle Supportノート1513912.1からダウンロードした場合のみ使用できます。

Oracle Databaseサポート・ツール・バンドルが付属するOracle Trace File Analyzerには、次のツールが含まれています。

表16-1 LinuxおよびUNIXに含まれるツール

ツール 説明

orachkまたはexachk

Oracleスタックの状態チェックを提供します。

Oracle Trace File Analyzerは、Engineered SystemsにOracle EXAchkをインストールし、すべての非Engineered SystemsにOracle ORAchkをインストールします。

詳細は、My Oracle Supportのノート1070954.1および1268927.2を参照してください。

oswatcher

オペレーティング・システム・メトリックを収集してアーカイブします。これらのメトリックは、インスタンス削除やノード削除、およびパフォーマンスの問題に役立ちます。

詳細は、My Oracle Supportのノート301137.1を参照してください。

procwatcher

データベース・パフォーマンスの診断とセッション・レベルのハング情報を自動化および取得します。

詳細は、My Oracle Supportのノート459694.1を参照してください。

oratop

ほぼリアルタイムのデータベース監視を提供します。

詳細は、My Oracle Supportのノート1500864.1を参照してください。

alertsummary

すべてのノードから、1つ以上のデータベースまたはASMアラート・ファイルのイベントのサマリーを提供します。

ls

すべてのノードから、Oracle Trace File Analyzerが認識する特定のファイル名パターンのファイルをすべてリストします。

pstack

すべてのノードに、指定されたプロセスのプロセス・スタックを生成します。

grep

指定されたデータベースを使用して、アラート・ファイルまたはトレース・ファイル内で特定の文字列を検索します。

summary

構成の概要レベルのサマリを提供します。

vi

特定のデータベースおよびファイル名パターンを表示するために、アラート・ファイルまたはトレース・ファイルをviエディタで開きます。

tail

特定のデータベースおよびファイル名パターンがないか、アラート・ファイルまたはトレース・ファイルに対してtailを実行します。

param

指定されたパターンに一致するすべてのデータベースおよびオペレーティング・システムのパラメータを表示します。

dbglevel

単一コマンドを使用して複数のCRSトレース・レベルを設定および設定解除します。

history

tfactlシェルのシェル履歴を表示します。

changes

特定の期間におけるシステム設定の変更をレポートします。このレポートには、適用されたデータベース・パラメータ、オペレーティング・システム・パラメータ、およびパッチが含まれます。

calog

クラスタ・イベント・ログから重要なイベントをレポートします。

events

ログに記録された警告とエラーをレポートします。

managelogs

ディスク領域使用量を表示し、ADRログおよびトレース・ファイルを消去します。

ps

プロセスを検索します。

triage

oswatcherデータまたはexawatcherのデータを要約します。

表16-2 Microsoft Windowsに含まれるツール

ツール 説明

calog

クラスタ・イベント・ログから重要なイベントをレポートします。

changes

特定の期間におけるシステム設定の変更をレポートします。このレポートには、適用されたデータベース・パラメータ、オペレーティング・システム・パラメータ、およびパッチが含まれます。

dir

すべてのノードから、Oracle Trace File Analyzerが認識する特定のファイル名パターンのファイルをすべてリストします。

events

ログに記録された警告とエラーをレポートします。

findstr

指定されたデータベースを使用して、アラート・ファイルまたはトレース・ファイル内で特定の文字列を検索します。

history

tfactlシェルのシェル履歴を表示します。

managelogs

ディスク領域使用量を表示し、ADRログおよびトレース・ファイルを消去します。

notepad

特定のデータベースおよびファイル名パターンを表示するために、アラート・ファイルまたはトレース・ファイルをnotepadエディタで開きます。

param

指定されたパターンに一致するすべてのデータベースおよびオペレーティング・システムのパラメータを表示します。

summary

構成の概要レベルのサマリを提供します。

tasklist

プロセスを検索します。

インストールされているツールを確認するには、次のようにします。

$ tfactl toolstatus

コマンドラインまたはシェル・モードのいずれかでtfactlを使用して、各ツールを実行できます。

コマンドラインからツールを実行するには、次のようにします。

$ tfactl run tool

次の例では、シェル・モードでtfactlを使用する方法を示します。コマンドを実行するとtfactlが開始され、データベースMyDBに接続してから、oratopが実行されます。

$ tfactl
tfaclt > database MyDB
MyDB tfactl > oratop

16.5 診断データの収集および単一コマンドの使用によるサービス・リクエスト・データ収集

オンデマンドの診断収集を実行するには、次のようにします。

$ tfactl diagcollect

コマンドを実行すると、クラスタ全体にわたって、過去12時間以内に更新されたすべての重要なログ・ファイルの切捨ておよび収集が実行されます。Oracle Trace File Analyzerはリポジトリ・ディレクトリに収集を格納します。–last n h|dオプションを使用して、diagcollect期間を変更できます。

Oracleサポートでは、サービス・リクエスト・データ収集(SRDC)を実行するようにユーザーに依頼することがよくあります。SRDCは、発生した問題のタイプによって異なります。この収集は、問題を診断することを目的とした指示の集合である一連の大量データです。多くの様々なステップが必要とされるため、SRDCを手動で収集するのは困難です。

Oracle Trace File Analyzerでは、次の単一コマンドを使用してSRDC収集を実行できます。

$ tfactl diagcollect -srdc srdc_type –sr sr_number

SRDCを実行するには、次のOracle権限ユーザー・アカウントのいずれかを使用します。

  • ORACLE_HOME所有者

  • GRID_HOME所有者

表16-3 単一コマンドによるサービス・リクエスト・データ収集

問題のタイプ 使用可能なSRDC 収集の範囲

ORAエラー

ORA-00020

ORA-00060

ORA-00600

ORA-00700

ORA-01555

ORA-01628

ORA-04030

ORA-04031

ORA-07445

ORA-27300

ORA-27301

ORA-27302

ORA-30036

ローカルのみ

その他の内部データベース・エラー

internalerror

ローカルのみ

データベース・パフォーマンスの問題

dbperf

クラスタ全体

データベース・パッチ適用の問題

dbpatchinstall

dbpatchconflict

ローカルのみ

データベースのインストール/アップグレードの問題

dbinstall

dbupgrade

dbpreupgrade

ローカルのみ

データベース記憶域の問題

asm

ローカルのみ

自動ワークロード・リポジトリ(AWR)でSYSAUX領域が過剰に使用されている

dbawrspace

ローカルのみ

データベースの起動/停止の問題

dbshutdown

dbstartup

 

Enterprise Manager表領域の使用状況メトリックの問題

emtbsmetrics

ローカルのみ(Enterprise Managerエージェント・ターゲット上)

Enterprise Managerの一般メトリック・ページおよびしきい値の問題

emmetricalert

ローカルのみ(Enterprise Managerエージェント・ターゲットおよびリポジトリ・データベース上)

Enterprise Managerデバッグ・ログ収集

emdebugonを実行して問題を再現してから、emdebugoffを実行します。これにより、デバッグが再度無効にされ、デバッグ・ログが収集されます。

emdebugon

emdebugoff

ローカルのみ(Enterprise Managerエージェント・ターゲットおよびOracle Management Service上)

Data Guardの問題

dbdataguard

ローカルのみ

SRDCによる収集はタイプごとに異なります。次に例を示します。

表16-4 SRDC収集

コマンド 収集される情報

$ tfactl diagcollect –srdc ORA-04031

  • IPSパッケージ

  • パッチ・リスト

  • AWRレポート

  • メモリー情報

  • RDA HCVE出力

$ tfactl diagcollect –srdc dbperf

  • ADDMレポート

  • 正常な期間および問題の期間のAWR

  • AWRの期間比較レポート

  • 正常な期間および問題の期間のASHレポート

  • OSWatcher

  • IPSパッケージ(問題の期間中にエラーが検出された場合)

  • Oracle ORAchk(パフォーマンス関連チェック)

Oracle Trace File Analyzerにより、SRDCタイプに基づいて必要な情報を入力するよう求められます。

たとえば、ORA-4031 SRDCを実行するとします。

$ tfactl diagcollect –srdc ORA-04031

Oracle Trace File Analyzerにより、イベント日時およびデータベース名の入力を求められます。

  1. Oracle Trace File Analyzerは、システム(最大10)の最新イベントを識別するためにシステムをスキャンします。

  2. 関連するイベントが選択されると、Oracle Trace File Analyzerは診断収集を続行します。

  3. Oracle Trace File Analyzerは、必要なすべてのファイルを識別します。

  4. Oracle Trace File Analyzerは、必要に応じてすべてのファイルを切り捨てます。

  5. Oracle Trace File Analyzerは、サポートに提供できるようにすべてのデータをzipファイル内にパッケージ化します。

非対話型(サイレント)モードでSRDC収集を実行することもできます。次のように、すべての必須パラメータを前もって指定します。

$ tfactl diagcollect –srdc srdc_type -database db -from "date time" -to "date time"

例16-2 診断収集

$ tfactl diagcollect

Collecting data for the last 12 hours for all components...
Collecting data for all nodes

Collection Id : 20160616115923myserver69

Detailed Logging at : 
/u01/app/tfa/repository/collection_Thu_Jun_16_11_59_23_PDT_2016_node_all/diagcollect_20160616115923_myserver69.log
2016/06/16 11:59:27 PDT : Collection Name : 
tfa_Thu_Jun_16_11_59_23_PDT_2016.zip
2016/06/16 11:59:28 PDT : Collecting diagnostics from hosts : 
[myserver70, myserver71, myserver69]
2016/06/16 11:59:28 PDT : Scanning of files for Collection in progress...
2016/06/16 11:59:28 PDT : Collecting additional diagnostic information...
2016/06/16 11:59:33 PDT : Getting list of files satisfying time range
[06/15/2016 23:59:27 PDT, 06/16/2016 11:59:33 PDT]
2016/06/16 11:59:37 PDT : Collecting ADR incident files...
2016/06/16 12:00:32 PDT : Completed collection of additional diagnostic information...
2016/06/16 12:00:39 PDT : Completed Local Collection
2016/06/16 12:00:40 PDT : Remote Collection in Progress...
.--------------------------------------.
|          Collection Summary          |
+------------+-----------+------+------+
| Host       | Status    | Size | Time |
+------------+-----------+------+------+
| myserver71 | Completed | 15MB |  64s |
| myserver70 | Completed | 14MB |  67s |
| myserver69 | Completed | 14MB |  71s |
'------------+-----------+------+------'

Logs are being collected to: 
/u01/app/tfa/repository/collection_Thu_Jun_16_11_59_23_PDT_2016_node_all
/u01/app/tfa/repository/collection_Thu_Jun_16_11_59_23_PDT_2016_node_all/myserver71.tfa_Thu_Jun_16_11_59_23_PDT_2016.zip
/u01/app/tfa/repository/collection_Thu_Jun_16_11_59_23_PDT_2016_node_all/myserver69.tfa_Thu_Jun_16_11_59_23_PDT_2016.zip
/u01/app/tfa/repository/collection_Thu_Jun_16_11_59_23_PDT_2016_node_all/myserver70.tfa_Thu_Jun_16_11_59_23_PDT_2016.zip

例16-3 単一コマンドによるSRDC

$ tfactl diagcollect –srdc ora600
Enter value for EVENT_TIME [YYYY-MM-DD HH24:MI:SS,<RETURN>=ALL] :
Enter value for DATABASE_NAME [<RETURN>=ALL] :

1. Jun/09/2016 09:56:47 : [rdb11204] ORA-00600: internal error code,
arguments: [], [], [], [], [], [], [], [], [], [], [], [] 2. May/19/2016 14:19:30 : [rdb11204] ORA-00600: internal error code,
arguments: [], [], [], [], [], [], [], [], [], [], [], [] 3. May/13/2016 10:14:30 : [rdb11204] ORA-00600: internal error code,
arguments: [], [], [], [], [], [], [], [], [], [], [], [] 4. May/13/2016 10:14:09 : [rdb11204] ORA-00600: internal error code,
arguments: [], [], [], [], [], [], [], [], [], [], [], []

Please choose the event : 1-4 [1] 1
Selected value is : 1 ( Jun/09/2016 09:56:47 ) Collecting data for local node(s) Scanning files 
from Jun/09/2016 03:56:47 to Jun/09/2016 15:56:47

Collection Id : 20160616115820myserver69

Detailed Logging at : 
/u01/app/tfa/repository/srdc_ora600_collection_Thu_Jun_16_11_58_20_PDT_2016_node_local/diagcollect_20160616115820_myserver69.log
2016/06/16 11:58:23 PDT : Collection Name : 
tfa_srdc_ora600_Thu_Jun_16_11_58_20_PDT_2016.zip
2016/06/16 11:58:23 PDT : Scanning of files for Collection in progress...
2016/06/16 11:58:23 PDT : Collecting additional diagnostic information...
2016/06/16 11:58:28 PDT : Getting list of files satisfying time range
[06/09/2016 03:56:47 PDT, 06/09/2016 15:56:47 PDT]
2016/06/16 11:58:30 PDT : Collecting ADR incident files...
2016/06/16 11:59:02 PDT : Completed collection of additional diagnostic information...
2016/06/16 11:59:06 PDT : Completed Local Collection 
.---------------------------------------.
|           Collection Summary          |
+------------+-----------+-------+------+
| Host       | Status    | Size  | Time |
+------------+-----------+-------+------+
| myserver69 | Completed | 7.9MB |  43s |
'------------+-----------+-------+------'

16.6 Oracleサポートへの収集のアップロード

収集のアップロードを有効にするには、My Oracle Supportのユーザー名とパスワードを使用して、Oracle Trace File Analyzerを構成します。

次に例を示します。
tfactl setupmos

Oracle Trace File Analyzerは、暗号化されたウォレットに安全にログイン詳細を格納します。格納できるユーザー・ログイン詳細は1つのみです。

  1. –sr sr_numberオプションを使用して、診断収集を実行します。
    tfactl diagcollect diagcollect options -sr sr_number
    収集の最後に、Oracle Trace File Analyzerは、すべての収集をサービス・リクエストに自動的にアップロードします。

Oracle Trace File Analyzerは、他のファイルをサービス・リクエストにアップロードすることもできます。

以前にtfactl setupmosを使用してrootによって設定されたウォレットを使用してアップロードできます。

tfactl upload -sr sr_number -wallet space-separated list of files to upload

また、ウォレットを使用せずにアップロードすることもできます。ウォレットを使用せずにアップロードすると、tfactlによりパスワードの入力を求められます。

tfactl upload -sr sr_number -user user_id space-separated list of files to upload