21 Oracle Trace File Analyzerのトラブルシューティング

この項では、Oracle Trace File Analyzerの問題の診断および修正について説明します。

21.1 tfactl statusコマンドを実行して表示するとクラスタ・ノードが単一クラスタとして表示されない

原因: 証明書が同期化されていません。

処理: 手動でキーを同期化します。

いずれかのクラスタ・ノードに移動し、synctfanodes.shスクリプトをrootとして実行します。

# $GIHOME/tfa/nodename/tfa_home/bin/synctfanodes.sh

ノート:

このスクリプトは、SSHおよびSCPを使用します。rootにパスワードなしSSHが設定されていない場合、Oracle Trace File Analyzerは、コマンドが実行されるたびにパスワードをノードごとに3回求めます。

ノード上でExpectユーティリティが使用可能な場合、Oracle Trace File AnalyzerはExpectを使用します。これにより、パスワードを求める回数が減少します。

21.2 再起動後にOracle Trace File Analyzerが起動されず、init.tfaスクリプトが欠落している

説明: Linux6以降でinit.tfainitまたはSystem Dから実行された際に、Oracle Trace File Analyzerのバイナリが格納されているTFA_HOMEのあるファイル・システムがマウントされていませんでした。

原因: 多くの原因があるため、次のみに制限されません。

  • メンテナンスやパッチ適用のためにファイル・システムのマウントが無効化されていた

  • ファイル・システムに関連する問題やエラー

  • NFSがアクセス不可のネットワーク

  • TFA_HOMEのあるファイル・システムのマウントが遅い

処理: My Oracle Supportノート2224163.1を参照して、この問題を解決してください。

21.3 @incで****が見つかりません(@incには次が含まれます:....)のようなエラー・メッセージ

原因: 古いバージョンのPerlを使用すると、このエラーが発生します。

処理: Oracle Trace File Analyzerでは、Perlバージョン5.10以降が必要です。このようなエラーが発生した場合は、Perlをバージョン5.10以降にアップグレードします。

インストール後、tfa_home/tfa_setup.txtファイル内のPerlの場所を更新して、新しい場所を指定します。

PERL=/u01/perl/bin/perl

インストール中に問題が発生した場合は、-perlhome dir インストール・オプションを使用します。

指定するディレクトリには、/bin/perlを含める必要があります。rootとしてPerlをインストールする場合、rootがPerlの実行可能ファイルを所有している必要があります。

# which perl
/usr/bin/perl
# ./installTFA-LINUX -perlhome /usr

21.4 リリース更新リビジョン(RUR)以外のOracle Trace File Analyzerのパッチ適用がリモート・ノードで失敗する

原因: Oracle Trace File AnalyzerをOracle Trace File Analyzerのソケットを介してアップグレードすると、ソケットの問題が原因で、リモート・ノードでのアップグレードが失敗します。

説明: アップグレードが完了したら、すべてのノードのバージョン、ビルドID、およびステータスが同じであるか、レポートをクロスチェックします。

.-------------------------------------------------------------.
| Host  | TFA Version | TFA Build ID         | Upgrade Status |
+-------+-------------+----------------------+----------------+
| node1 | 12.1.2.6.0  | 12126020151019114604 | UPGRADED       |
| node2 | 12.1.2.6.0  | 12126020151019114604 | UPGRADED       |
'-------+-------------+----------------------+----------------'

次のような相違がある場合は、問題を修正する必要があります。

.--------------------------------------------------------------.
| Host  | TFA Version | TFA Build ID          | Upgrade Status |
+-------+-------------+-----------------------+----------------+
| node1 | 12.1.2.6.0  | 12126020151019114604  | UPGRADED       |
| node2 | 12.1.2.3.0  | 12120020140619094932  | NOT UPGRADED   |
'-------+-------------+-----------------------+----------------'

処理: アップグレードに失敗したすべてのノードにOracle Trace File Analyzerのインストーラをコピーし、これらのノードでインストーラをローカルで実行します。

./installTFALite –local

バイナリをアップグレードした後、アップグレードを開始したノードからルートSSL証明書を置換します。

既存の構成ノードから、追加対象のノードに次のファイルをコピーします。追加対象のマシン上のrootに対する、これらのファイルの権限を700に変更します。

tfa_home/server.jks
tfa_home/client.jks
tfa_home/internal/ssl.properties

21.5 インストール後に非rootアクセスが有効化されない

説明: 非rootアクセスが有効な場合は、Oracle Grid Infrastructureソフトウェア所有者の非rootアクセスがデフォルトでアクティブ化されている必要があります。

処理: Oracle Trace File Analyzerに対する非rootアクセスを有効にするには、tfactl access add -userコマンドをrootとして実行します。

次に例を示します。

tfactl access add -user xyx

コマンドを実行すると、非rootユーザー・グループxyz のOracle Trace File Analyzerへのアクセスが有効になります。

21.6 パッチ適用またはアップグレード後にTFA_HOMEおよびリポジトリの場所が移動される

説明: バージョン12.1.2.6.0より前のOracle Trace File Analyzerでは、既存の独立型のOracle Trace File Analyzerがインストールされている場合(GRID_HOMEの外部にインストールされたMOSバージョン)、Oracle Trace File Analyzerは、Oracle 12.1.0.2の一部としてOracle Grid Infrastructureとともにパッチが適用され、TFA_HOMEGRID_HOMEに移動され、リポジトリ・ディレクトリがOracle Grid Infrastructure所有者のORACLE_BASEディレクトリに移動されます。

リポジトリ・ディレクトリがデフォルト以外の場所に変更されると、変更内容は失われます。

  • Oracle Trace File Analyzerのzipファイルのリポジトリの場所を必要なベース・ディレクトリに設定するには、tfactl set repositorydirコマンドを実行します。

  • Oracle Trace File Analyzerリポジトリの最大サイズを変更するには、tfactl set reposizeMBコマンドを実行します。

Oracle Trace File Analyzerバージョン12.1.2.6.0以降では、TFA_HOMEGRID_HOMEの外部に存在する場合、リリース更新リビジョン(RUR)のインストールの一環として、Oracle Trace File Analyzerのインストールが移動されます。ただし、リリース更新リビジョン(RUR)にOracle Trace File Analyzerの新しいバージョンがある場合、Oracle Trace File Analyzerは、現在の場所でアップグレードされます。

Oracle Trace File AnalyzerがGRID_HOMEにインストールされていて、GRID_HOMEがパッチ適用の一環として移動されている場合、既存のTFA_HOMEは新しいGRID_HOMEに移行され、必要に応じてアップグレードされます。

21.7 2015年7月以降のリリース更新リビジョン(RUR)の適用後にOracle Trace File AnalyzerがTFA-00103で失敗する

Oracle Trace File Analyzerのアップグレードのフェーズ1

12.1.2.4.1より後のバージョンのOracle Trace File Analyzerでは、通信モデルが変更されています。通信上の問題を回避するために、Oracle Trace File Analyzer構成のすべてのノードで、Oracle Trace File Analyzerの通信の変更を完了する必要があります。Oracle Trace File Analyzerは、リリース更新リビジョン(RUR)適用の一環として各ノードでローカルにアップグレードされます。リリース更新リビジョン(RUR)プロセスは、新しいソフトウェアを適用してOracle Trace File Analyzerを再起動しますが、新しい接続モデルを実装しません。

Oracle Trace File Analyzerのアップグレードのフェーズ2

新しい通信モデルを自動的に実装する前に、Oracle Trace File Analyzerは、すべてのノード上でのリリース更新リビジョン(RUR)の適用が完了するのを24時間待機します。すべてのノードでOracle Trace File Analyzerがアップグレードされたら、10分以内にフェーズ2を実行する必要があります。すべてのノードにリリース更新リビジョン(RUR)が適用される(フェーズ1)まで、Oracle Trace File Analyzerの新しい通信モデルは実装されません(フェーズ2)。

Oracle Trace File Analyzerによって、次のメッセージで示されます。

TFA-00103 - TFA is not yet secured to run all commands.

構成内のすべてのノードでOracle Trace File Analyzerがアップグレードされると(フェーズ1)、Oracle Trace File Analyzerは次の操作を実行します。

  • 新しいSSLキーの生成

  • クラスタ内の有効なノードへのキーの送信

  • これらの各ノードでのOracle Trace File Analyzerの再起動(フェーズ2)

フェーズ2が完了すると、Oracle Trace File Analyzerは新しい通信モデルを使用してコマンドを正常に処理するはずです。

両方のフェーズが完了し、すべてのノード間でOracle Trace File Analyzerの通信が確立されていることを確認する方法

最初に、rootとして次のコマンドを実行します。

 tfactl print status

.--------------------------------------------------------------------------------.
| Host   | Status  | PID   | Port |   Version  |      Build ID        | Inventory|
+--------+---------+-------+------+------------+----------------------+----------+
| sales1 | RUNNING | 4390  | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales2 | RUNNING | 23604 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales3 | RUNNING | 28653 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales4 | RUNNING | 5989  | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
'--------+---------+-------+------+------------+----------------------+----------'

すべてのノードのバージョンおよびビルドIDが同じであることが表示されたら、最大約10分以内にキーの同期を完了する必要があります。

次のコマンドを実行してください。

tfactl print directories

tfactl print directoriesを実行すると、Oracle Trace File Analyzerに登録されているディレクトリのリストが返されます。一部のノードで通信が確立されていない場合、コマンドによってTFA is not yet secured to run all commandsというメッセージが返されます。

また、このメッセージはフェーズ2が完了していないことを示します。フェーズ2がまだ完了していないノードを確認するには、各ノードで、次のファイルの存在を確認します。これらのファイルは、root、およびrootownership:groupにのみ読取り可能である必要があります。各ファイルのチェックサムがすべてのノードで一致している必要があります。

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/client.jks

-rwx------   1 root  root   3199 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/client.jks

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/server.jks

-rwx------   1 root  root   3201 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/server.jks

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/internal/ssl.properties

-rwx------   1 root  root   220 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/internal/ssl.properties

選択によって、またはメンテナンスによって一部のノードが停止されているために、すべてのノードを同時にアップグレードしない場合どうなるか。

Oracle Trace File Analyzerは、すべてのノードでアップグレードが完了するまで、または24時間が経過するまで、フェーズ2の操作が完了するのを待機します。

24時間後に、Oracle Trace File Analyzerは次の操作を実行します。

  • 新しいキーの生成

  • アップグレードされたすべてのノードへのキーのコピー

  • これらのノードでのOracle Trace File Analyzerの再起動

キーを取得しなかったノードはすべて、Oracle Trace File Analyzer構成の外部にあります。Oracle Trace File Analyzerをアップグレードしたら、キーを手動で他のノードと同期化します。

すべてのノードでリリース更新リビジョン(RUR)の適用が24時間以内に完了した場合は、キーを手動で同期化します。

手動でキーを同期化するには、フェーズ2を正常に完了したノードに移動し、synctfanodes.shスクリプトをrootとして実行します。

# $GIHOME/tfa/nodename/tfa_home/bin/synctfanodes.sh

ノート:

このスクリプトは、SSHおよびSCPを使用します。rootにパスワードなしSSHが設定されていない場合、Oracle Trace File Analyzerは、コマンドが実行されるたびにパスワードをノードごとに3回求めます。

ノード上でExpectユーティリティが使用可能な場合、Oracle Trace File AnalyzerはExpectを使用します。これにより、パスワードを求める回数が減少します。

このスクリプトは、Oracle Trace File Analyzerがまだアップグレードされていないノードを含む、Oracle Trace File Analyzer構成内のすべてのノードを表示します。

また、このスクリプトはOracle Grid Infrastructure構成に含まれるノードも表示します。

表示されたノード・リストを確認し、同期するノードをスペース区切りのリストで指定してください。プロセスは冪等であるため、アップグレード済のノードを含めても問題ありません。

次に例を示します。

ノードsales1sales2sales3sales4はすべてOracle Grid Infrastructureの一部です。2015年7月のリリース更新リビジョン(RUR)が適用されるまで、ノードではOracle Trace File Analyzer 12.1.2.0.0が実行されていました。

停止による制限のため、リリース更新リビジョン(RUR)は最初にsales1およびsales3のみに適用されました。

Oracle Trace File Analyzerのアップグレードのフェーズ1の完了後に、print statusを実行します。コマンドを実行すると、一部のノードでOracle Trace File Analyzerの異なるバージョンが実行中であっても、すべてのノードがリストされます。

-bash-3.2# /u01/app/12.1.0/grid/bin/tfactl print status
.--------------------------------------------------------------------------------.
| Host   | Status  | PID   | Port |   Version  |       Build ID       |Inventory |
+--------+---------+------ +------+------------+----------------------+----------+
| sales1 | RUNNING | 27270 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales3 | RUNNING | 19222 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales2 | RUNNING | 10141 | 5000 | 12.1.2.0.0 | 12120020140619094932 | COMPLETE |
| sales4 | RUNNING | 17725 | 5000 | 12.1.2.0.0 | 12120020140619094932 | COMPLETE |
'--------+---------+-------+------+------------+----------------------+----------'

Oracle Trace File Analyzerの新しい通信モデルが一部のノードに設定されていないため、rootとして実行すると、多くのコマンドが次のメッセージを表示して失敗します。

TFA is not yet secured to run all commands.

tfactlコマンドを非rootとして実行しようとして失敗する場合、Oracle Trace File Analyzerを使用するための十分な権限がないことを意味します。

24時間後に、Oracle Trace File Analyzerは、sales1およびsales3のフェーズ2を完了します。Oracle Trace File Analyzerの通信モデルがsales1およびsales3に対して設定されます。sales1およびsales3で、通常のOracle Trace File Analyzerの操作を実行できます。sales2およびsales4との通信がまだ確立されていないため、これらのノードへのリモート・コマンドの実行は失敗します。

sales1およびsales3print statusを実行すると、sales2およびsales4は表示されなくなります。Oracle Trace File Analyzerの新しい通信モデルを使用するOracle Trace File Analyzerのみが通信を行います。

-bash-3.2# /u01/app/12.1.0/grid/bin/tfactl print status

.--------------------------------------------------------------------------------.
| Host   | Status  | PID   | Port |   Version  |     Build ID         |Inventory |
+--------+---------+-------+------+------------+----------------------+----------+
| sales1 | RUNNING | 4390  | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales3 | RUNNING | 23604 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
'--------+---------+-------+------+------------+----------------------+----------'

コマンドtfactl diagcollectを実行すると、sales1およびsales3を対象に収集が実行されますが、他のノードは対象になりません。

-bash-3.2$ /u01/app/12.1.0/grid/bin/tfactl diagcollect
Collecting data for the last 4 hours for this component...
Collecting data for all nodes

Repository Location in sales1 : /u01/app/oragrid/tfa/repository
2015/06/30 05:25:27 PDT : Collection Name : tfa_Tue_Jun_30_05_25_20_PDT_2015.zip
2015/06/30 05:25:27 PDT : Sending diagcollect request to host : sales2
2015/06/30 05:25:27 PDT : Sending diagcollect request to host : sales3
2015/06/30 05:25:27 PDT : Sending diagcollect request to host : sales4
2015/06/30 05:25:27 PDT : Scanning of files for Collection in progress...
....
....
....
2015/06/30 05:25:37 PDT : Remote Collection in Progress...
2015/06/30 05:25:57 PDT : sales3:Completed Collection
2015/06/30 05:26:07 PDT : sales2:Failed Unable to connect to Node sales2
2015/06/30 05:26:07 PDT : sales4:Failed Unable to connect to Node sales4
2015/06/30 05:26:07 PDT : Completed collection of zip files.

残りのノードでのアップグレード時に、構成を同期化しないかぎり、Oracle Trace File Analyzerはすでにアップグレード済のノードを認識できません。

bash-3.2# /u01/app/12.1.0/grid/bin/tfactl print status

.------------------------------------------------------------------------------.
| Host   | Status  | PID | Port | Version    |     Build ID         | Inventory|
+--------+---------+-----+------+------------+----------------------+----------+
| sales3 | RUNNING | 9   | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
'--------+---------+-----+------+------------+----------------------+----------'

24時間の待機期間中にリリース更新リビジョン(RUR)の適用が完了しなかったノードをOracle Trace File Analyzerの構成に含めるには、次の手順を実行します。

  1. すでに生成されたキーを持つノードから同期化スクリプトを実行します。

  2. これらのノードにSSL構成を手動でコピーします。

前述の例のsales1では、次のようになります。

/u01/app/12.1.0/grid/tfa/sales1/tfa_home/bin/synctfanodes.sh
Current Node List in TFA :
sales1
sales2
sales3
sales4

Node List in Cluster :
sales1 sales2 sales3 sales4

Node List to sync TFA Certificates :
1 sales2
2 sales3
3 sales4

Do you want to update this node list? [Y|N] [N]: Y

Please Enter all the nodes you want to sync...

Enter Node List (seperated by space) : sales2 sales4

Syncing TFA Certificates on sales2 :

TFA_HOME on sales2 : /u01/app/12.1.0/grid/tfa/sales2/tfa_home

Copying TFA Certificates to sales2...
Copying SSL Properties to sales2...
Shutting down TFA on sales2...
Sleeping for 5 seconds...
Starting TFA on sales2...

Syncing TFA Certificates on sales4 :

TFA_HOME on sales4 : /u01/app/12.1.0/grid/tfa/sales4/tfa_home

Copying TFA Certificates to sales4...
Copying SSL Properties to sales4...
Shutting down TFA on sales4...
Sleeping for 5 seconds...
Starting TFA on sales4...

Successfully re-started TFA..

.--------------------------------------------------------------------------------.
| Host   | Status  | PID   | Port |   Version  |      Build ID        | Inventory|
+--------+---------+-------+------+------------+----------------------+----------+
| sales1 | RUNNING | 4390  | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales2 | RUNNING | 23604 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales3 | RUNNING | 28653 | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
| sales4 | RUNNING | 5989  | 5000 | 12.1.2.4.2 | 12124220150629072212 | COMPLETE |
'--------+---------+-------+------+------------+----------------------+----------'

ノート:

ノード・リストは、キーの同期化が必要なノードsales2およびsales4のみに変更されました。

この場合、同じファイルを受信済であるため、sales3を同期化してもかまいません。その後、Oracle Trace File Analyzerを再起動します。

一部のノードのアップグレードが同時に実行されていません。Oracle Trace File Analyzerがキー・ファイルを同期化するまで24時間待機したくありません。どうすればよいでしょうか。

同期化スクリプトを使用して、Oracle Trace File Analyzerに証明書の生成と同期化を強制します。実行時に、スクリプトにより、SSL構成ファイルを生成してリモート・ノードに対して同期化するかどうかを確認するプロンプトが出されます。

次に例を示します。

-bash-3.2# /u01/app/12.1.0/grid/tfa/sales1/tfa_home/bin/synctfanodes.sh

Current Node List in TFA : 
sales1 
sales2 
sales3 
sales4

TFA has not yet generated any certificates on this Node.

Do you want to generate new certificates to synchronize across the nodes? [Y|N] [Y]:

Generating new TFA Certificates...

Restarting TFA on sales1...
Shutting down TFA 
TFA-00002 : Oracle Trace File Analyzer (TFA) is not running
TFA Stopped Successfully 
. . . . . 
. . . 
Successfully shutdown TFA.. 
Starting TFA.. 
Waiting up to 100 seconds for TFA to be started.. 
. . . . . 
. . . . . 
Successfully started TFA Process.. 
. . . . . 
TFA Started and listening for commands

Node List in Cluster :
sales1 sales2 sales3 sales4

Node List to sync TFA Certificates : 
1 sales2 
2 sales3 
3 sales4

Do you want to update this node list? [Y|N] [N]:

キー・ファイルが生成されて同期化されたら、各ノードで次のようにしてファイルを見つける必要があります。

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/client.jks

-rwx------   1 root     root    3199 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/client.jks

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/server.jks

-rwx------   1 root     root    3201 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/server.jks

# ls -al /u01/app/12.1.0/grid/tfa/sales1/tfa_home/internal/ssl.properties

-rwx------   1 root     root    220 Jun 30 14:12 /u01/app/12.1.0/grid/tfa/sales1/tfa_home/internal/ssl.properties

rootおよびrootownership:groupのみが読取り可能です。各ファイルのチェックサムがすべてのノードで一致している必要があります。

21.8 再起動後に、またはそれ以外の場合に予期せずOSWatcherパラメータが異なる

Oracle Trace File AnalyzerでOSWatcherを管理する場合、インストールまたは再起動後に、OSWatcherは次のような非特権ユーザーとして起動されます。

  • Oracle RACシステムの場合: grid

  • 非Oracle RACシステムの場合: oracle

OSWatcherを停止後に、rootとして再起動することはお薦めしません。

次に例を示します。

tfactl oswbb stop

tfactl start oswbb 20 72 (interval of 20 seconds and retention of 72 hours)

この場合、OSWatcherは、停止後にoracleまたはgridとして起動されるまで、または再起動が実行されるまで、rootとして実行されます。いずれの場合も、パラメータはプロパティ・ファイルに保持されます。他のパラメータが指定されないかぎり、OSWatcherのデフォルトの間隔と保存期間(30と48)が使用されます。Oracle Trace File Analyzerバージョン12.1.2.5.2以降では、OSWatcherのプロパティ・ファイルは、ユーザーごとに保持されます。OSWatcherが起動されるたびに、間隔または保存時間のパラメータはそのユーザーに対して保持されます。それより前のバージョンでは、OSWatcher起動パラメータが予想と異なる場合は、OSWatcherの停止後に異なるパラメータを使用してrootとして起動したことが原因です。プロパティ・ファイルが1つのみであったため、これらの設定はすべての再起動で保持されました。

12.1.2.5.2以降では、再起動が実行されると、OSWatcherは常にoracleまたはgridのプロパティからパラメータを使用して起動する必要があります。OSWatcherの停止後に、再起動前とは別のパラメータを使用してrootとして再起動すると、OSWatcherの起動パラメータが異なります。rootプロパティからフェッチされたパラメータを、再起動後に有効にしないでください。パラメータは、oracleプロパティのパラメータに戻す必要があります。

Oracleサポートが問題を調査するために異なる設定を推奨したことが原因で、パラメータが異なり、保持される設定が変更されている場合があります。その場合には、OSWatcherを停止し、通常のパラメータを使用して非特権ユーザーとして再起動してください。

tfactl oswbb stop

tfactl start oswbb (in this case the default interval of 30 seconds and retention of 48 hours would be persisted)

ノート:

OSWatcherがインストール済で実行中であり、Oracle Trace File Analyzerによって管理されていない場合、Oracle Trace File Analyzerはそのインストールおよびパラメータに従います。oswbbツールのステータスをリストした場合に、ステータスはNOT RUNNING(Oracle Trace File Analyzerの管理対象外)でなければなりません。

21.9 Linux 7でOracle Trace File AnalyzerのインストールまたはOracle Trace File Analyzerの検出(tfactl rediscover)が失敗する

説明: 報告されたエラーは次のようなものです。

Can't locate Data/Dumper.pm in @INC (@INC contains: /usr/local/lib64/perl5 
/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl 
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . 
/u01/app/12.1.0/grid/tfa/dc75orarac02/tfa_home/bin 
/u01/app/12.1.0/grid/tfa/dc75orarac02/tfa_home/bin/common 
/u01/app/12.1.0/grid/tfa/dc75orarac02/tfa_home/bin/modules 
/u01/app/12.1.0/grid/tfa/dc75orarac02/tfa_home/bin/common/exceptions) at 
/u01/app/12.1.0/grid/tfa/dc75orarac02/tfa_home/bin/common/tfactlshare.pm line 545.

原因: このエラーは、Oracle Trace File Analyzerバージョン12.1.2.6.4で修正済のバグ21790910およびバグ22393355が原因で発生します。

処理: オペレーティング・システムのPerlをGRID_HOMEのPerlのバージョンにリンクします。

21.10 OSWatcherがTFA_HOMEから実行されていない場合にOSWatcher Analyzerが失敗する

説明: 報告されたエラーは次のようなものです。

tfactl> oswbb
Error: Cannot find OSWatcher files under
/u01/app/grid/tfa/repository/suptools//oswbb//archive
OSWatcher analyzer commands are supported only when it is running from TFA_HOME

原因: OSWatcherがTFA_HOMEから実行されていない場合に予期される動作です。

処理:
  1. Oracle Trace File Analyzerの外部から実行されているOSWatcherバージョンを停止して無効にします。

  2. Oracle Trace File Analyzer内からOSWatcherを起動します。

21.11 Java例外com.sleepycat.je.EnvironmentLockedExceptionでOracle Trace File Analyzerが起動に失敗する

説明: $TFA_BASE//logにあるOracle Trace File Analyzer syserroroutログで検出されたエラーの報告は次のとおりです。

/u01/app/oracle/tfa//log$ cat syserrorout.08.06.2015-16.19.54

Exception in thread "TFAMain" com.sleepycat.je.EnvironmentLockedException: (JE 5.0.84) 
/u01/app/oracle/tfa//database/BERKELEY_JE_DB The environment cannot be locked for single writer access. 
ENV_LOCKED: The je.lck file could not be locked. Environment is invalid and must be closed.
at com.sleepycat.je.log.FileManager.(FileManager.java:368)
at com.sleepycat.je.dbi.EnvironmentImpl.(EnvironmentImpl.java:483)
at com.sleepycat.je.dbi.EnvironmentImpl.(EnvironmentImpl.java:409

原因: 根本原因は不明です。

処理:

  1. BDBにアクセスしているプロセスがあるかどうかを確認します。

    # fuser $GI_BASE/tfa//database/BERKELEY_JE_DB/je.lck
  2. プロセスが返された場合は、そのプロセスを強制終了します。

    # kill -9
  3. $GI_BASE/tfa//database/BERKELEY_JE_DB/je.lckファイルを削除します。

    # rm -rf $GI_BASE/tfa//database/BERKELEY_JE_DB/je.lck
  4. Oracle Trace File Analyzerを起動します。

    # $TFA_HOME/bin/tfactl start

21.12 システム上にSolution-Soft社のTime Machineソフトウェアをインストール済だが実行していない場合にOracle Trace File Analyzerが起動に失敗する

処理: Time Machineソフトウェアをアンインストールします。

21.13 非特権ユーザーはtfactlコマンドを実行不可か。

説明:

rootとして、非特権ユーザーがtfactlコマンドを実行するためのOracle Trace File Analyzer権限を持っていることを確認してください。

tfactl access lsuser
/u01/app/12.1.0/grid/bin/tfactl access lsusers
.---------------------------------.
| TFA Users in myNode1            |
+-----------+-----------+---------+
| User Name | User Type | Status  |
+-----------+-----------+---------+
| oracle    | USER      | Allowed |
'-----------+-----------+---------'

ユーザーがリストされており、ステータスがDisabledとして表示される場合は、非特権ユーザーのすべてのアクセスが無効化されていることを示します。

処理:

非特権ユーザーのアクセスを有効にするには、次のコマンドを実行します。

tfactl access enable

ユーザー(例: oracle)がリストされない場合は、oracleを追加します。

tfactl access add -user oracle

前述のいずれの処理でも問題が解決されない場合は、tfactl diagnosetfa -localを実行します。生成されたファイルをOracleサポートにアップロードします。

21.14 Oracle Trace File Analyzerデーモンが起動しないか実行されない

説明:
TFA-00001: Failed to start Oracle Trace File Analyzer (TFA) daemon
TFA-00002: Oracle Trace File Analyzer (TFA) is not running

これらのエラーはJavaが起動されないことを示しています。

処理:

  1. Oracle Trace File Analyzerが実行されていないことを確認してください。

    ps -ef|grep -i tfa

    ノート:

    一部のオペレーティング・システムでは、psコマンドの出力は80文字で切り捨てられます。psコマンドでは、実行中であってもプロセスが表示されません。
  2. Oracle Trace File Analyzerデーモンが実行されていないことを確認するには、次のコマンドをrootとして実行します。

    # tfactl print status
  3. Oracle Trace File Analyzerデーモンの起動をrootとして試行します。

    # tfactl start

    Oracle Trace File Analyzerの起動が引き続き失敗する場合は、tfactl diagnosetfa -localを実行します。生成されたファイルをOracleサポートにアップロードします。