8.1 Oracle Trace File Analyzerのトラブルシューティング
この項では、Oracle Trace File Analyzerの問題の診断および修正について説明します。
- tfactl statusコマンドを実行して表示したときに、クラスタ・ノードが単一クラスタとして表示されない
- 再起動後にOracle Trace File Analyzerが起動されず、init.tfaスクリプトが欠落している
- 「Can't locate **** in @inc (@inc contains:....)」のようなエラー・メッセージ
- リリース更新リビジョン(RUR)以外のOracle Trace File Analyzerのパッチ適用がリモート・ノードで失敗する
- インストール後にroot以外のアクセスが有効にならない
- パッチ適用またはアップグレード後にTFA_HOMEおよびリポジトリの場所が移動される
- 2015年7月以降のリリース更新リビジョン(RUR)の適用後にOracle Trace File AnalyzerがTFA-00103で失敗する
- 再起動後に、またはそれ以外の場合に予期せずOSWatcherパラメータが異なる
- Linux 7でOracle Trace File AnalyzerのインストールまたはOracle Trace File Analyzerの検出(tfactl rediscover)が失敗する
- OSWatcherがTFA_HOMEから実行されていない場合にOSWatcherアナライザが失敗する
- Java例外com.sleepycat.je.EnvironmentLockedExceptionでOracle Trace File Analyzerが起動に失敗する
- Solution-Soft社のTime Machineソフトウェアがシステムにインストールされているが、実行されていない場合にOracle Trace File Analyzerが起動に失敗する
- 非特権ユーザーがtfactlコマンドを実行できない
- Oracle Trace File Analyzerデーモンが起動しないか実行されない
- Oracle Trace File AnalyzerでCRS、DB、ASMなどのコンポーネントの診断トレースが収集されない
- Oracle Trace File Analyzerの起動に失敗する
- TFACTL収集エラー: tfa_main.trc内の"METADATA JSON FILE ALREADY EXISTS"
親トピック: トラブルシューティング
8.1.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を使用するため、パスワードの入力を求める回数が減少します。
8.1.2 再起動後にOracle Trace File Analyzerが起動されず、init.tfaスクリプトが欠落している
説明: Linux 6以上でinit.tfa
がinit
またはSystem D
から実行されたときに、Oracle Trace File Analyzerのバイナリを含むTFA_HOME
を格納しているファイル・システムがマウントされませんでした。
原因: 多くの原因があり、次のものに限定されるわけではありません。
-
メンテナンスやパッチ適用のためにファイル・システムのマウントが無効になっていた
-
ファイル・システムに関する問題やエラー
-
NFSがアクセスできないネットワーク
-
TFA_HOME
があるファイル・システムのマウントに時間がかかる
処置: この問題を解決するには、My Oracle Supportノート2224163.1を参照してください。
8.1.3 「Can't locate **** in @inc (@inc contains:....)」のようなエラー・メッセージ
原因: 古いバージョンの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
# ahf_setup
8.1.4 リリース更新リビジョン(RUR)以外のOracle Trace File Analyzerのパッチ適用がリモート・ノードで失敗する
原因: Oracle Trace File AnalyzerをOracle Trace File Analyzerソケットを介してアップグレードするときに、ソケットの問題が原因でリモート・ノードのアップグレードに失敗します。
説明: アップグレードが完了したら、すべてのノードのバージョン、ビルドIDおよびステータスが同じであるか、レポートをクロスチェックします。
.-------------------------------------------------------------.
| Host | TFA Version | TFA Build ID | Upgrade Status |
+-------+-------------+----------------------+----------------+
| node1 | 19.3.0.0.0 | 12126020151019114604 | UPGRADED |
| node2 | 19.3.0.0.0 | 12126020151019114604 | UPGRADED |
'-------+-------------+----------------------+----------------'
次のような違いが見られる場合は、問題を修正する必要があります。
.--------------------------------------------------------------.
| Host | TFA Version | TFA Build ID | Upgrade Status |
+-------+-------------+-----------------------+----------------+
| node1 | 19.3.0.0.0 | 12126020151019114604 | UPGRADED |
| node2 | 19.3.0.0.0 | 12120020140619094932 | NOT UPGRADED |
'-------+-------------+-----------------------+----------------'
処置: アップグレードに失敗したすべてのノードにOracle Trace File Analyzerインストーラをコピーし、それらのノードでインストーラをローカルに実行します。
ahf_setup
バイナリをアップグレードした後、アップグレードを開始したノードのルートSSL証明書を置き換えます。
次のファイルを既存の構成ノードから追加するノードにコピーします。これらのファイルのアクセス権を、追加するマシンのroot
に対して700
に変更します。
TFA_HOME/data/hostname/tfa/server.jks
TFA_HOME/data/hostname/tfa/client.jks
TFA_HOME/data/hostname/tfa/internal/ssl.properties
8.1.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にアクセスできるようになります。
8.1.6 パッチ適用またはアップグレード後にTFA_HOMEおよびリポジトリの場所が移動される
説明: Oracle Trace File Analyzerバージョン12.1.2.6.0より前のバージョンでは、既存の独立型のOracle Trace File Analyzerがインストールされている場合(GRID_HOME
の外部にインストールされたMOSバージョン)、Oracle Trace File AnalyzerにOracle 12.1.0.2の一部としてOracle Grid Infrastructureのパッチが適用されると、TFA_HOME
がGRID_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_HOME
がGRID_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
に移行され、必要に応じてアップグレードされます。
8.1.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
、root
のownership: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を完了した1つのノードに移動し、root
としてsynctfanodes.sh
スクリプトを実行します。
# $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構成に含まれるノードも表示します。
表示されたノード・リストを確認し、同期化するノードのスペース区切りリストを指定します。このプロセスは冪等であるため、すでにアップグレードされたノードを含めても問題ありません。
たとえば:
ノードsales1、sales2、sales3およびsales4はすべて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およびsales3でprint 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から収集が行われますが、他のノードからは収集が行われません。
$ tfactl diagcollect
Choose the event you want to perform a diagnostic collection for:
1. Mar/12/2019 16:08:20 [ db.orcl.orcl ] ORA-04030: out of process memory when trying to allocate
2. Mar/12/2019 16:08:18 [ db.orcl.orcl ] ORA-04031: unable to allocate 8 bytes of shared memory
3. Mar/12/2019 16:08:16 [ db.orcl.orcl ] ORA-00494: enqueue held for too long more than seconds by osid
4. Mar/12/2019 16:08:14 [ db.orcl.orcl ] ORA-29709: Communication failure with Cluster Synchronization
5. Mar/12/2019 16:08:04 [ db.orcl.orcl ] ORA-29702: error occurred in Cluster Group Service operation
6. Mar/12/2019 16:07:59 [ db.orcl.orcl ] ORA-32701: Possible hangs up to hang ID= detected
7. Mar/12/2019 16:07:51 [ db.orcl.orcl ] ORA-07445: exception encountered: core dump [] [] [] [] [] []
8. Mar/12/2019 16:07:49 [ db.orcl.orcl ] ORA-00700: soft internal error, arguments: [700], [], [],[]
9. Mar/11/2019 22:02:19 [ db.oradb.oradb ] DIA0 Critical Database Process Blocked: Hang ID 1 blocks 5 sessions
10. Default diagnostic collection, for no specific event
Please choose the event : 1-10 [] 10
By default TFA will collect diagnostics for the last 12 hours. This can result in large collections
For more targeted collections enter the time of the incident, otherwise hit <RETURN> to collect for the last 12 hours
[YYYY-MM-DD HH24:MI:SS,<RETURN>=Collect for last 12 hours] :
Collecting data for the last 12 hours for all components...
Collecting data for all nodes
Collection Id : 20190312163846node1
Detailed Logging at : /scratch/app/product/18c/tfa/repository/collection_Tue_Mar_12_16_38_47_PDT_2019_node_all/diagcollect_20190312163846_node1.log
2019/03/12 16:38:50 PDT : NOTE : Any file or directory name containing the string .com will be renamed to replace .com with dotcom
2019/03/12 16:38:50 PDT : Collection Name : tfa_Tue_Mar_12_16_38_47_PDT_2019.zip
2019/03/12 16:38:50 PDT : Collecting diagnostics from hosts : [node1]
2019/03/12 16:38:50 PDT : Scanning of files for Collection in progress...
2019/03/12 16:38:50 PDT : Collecting additional diagnostic information...
2019/03/12 16:38:55 PDT : Getting list of files satisfying time range [03/12/2019 04:38:50 PDT, 03/12/2019 16:38:55 PDT]
2019/03/12 16:39:02 PDT : Collecting ADR incident files...
2019/03/12 16:39:06 PDT : Completed collection of additional diagnostic information...
2019/03/12 16:39:07 PDT : Completed Local Collection
.------------------------------------.
| Collection Summary |
+----------+-----------+------+------+
| Host | Status | Size | Time |
+----------+-----------+------+------+
| node1 | Completed | 21MB | 17s |
'----------+-----------+------+------'
Logs are being collected to: /scratch/app/product/18c/tfa/repository/collection_Tue_Mar_12_16_38_47_PDT_2019_node_all
/scratch/app/product/18c/tfa/repository/collection_Tue_Mar_12_16_38_47_PDT_2019_node_all/node1.tfa_Tue_Mar_12_16_38_47_PDT_2019.zip
残りのノードでのアップグレード中、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構成に含めるには、次のようにします。
-
すでに生成されたキーを持つノードから同期化スクリプトを実行します
-
これらのノードに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
、root
のownership:group
のみが読取り可能です。すべてのノードで各ファイルのチェックサムが一致している必要があります。
8.1.8 再起動後に、またはそれ以外の場合に予期せずOSWatcherパラメータが異なる
Oracle Trace File AnalyzerでOSWatcherを管理する場合、インストールまたは再起動後に、OSWatcherは次のような非特権ユーザーとして起動されます。
-
Oracle RACシステムの場合は
grid
-
Oracle以外のRACシステムの場合は
oracle
root
としてOSWatcherを停止して再起動することはお薦めしません。
たとえば:
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によって管理されていない)である必要があります。
8.1.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のバージョンにリンクします。
8.1.10 OSWatcherがTFA_HOMEから実行されていない場合にOSWatcherアナライザが失敗する
説明: 次のようなエラーが報告されます。
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
から実行されていない場合に予期される動作です。
-
Oracle Trace File Analyzerの外部で実行されているOSWatcherバージョンを停止して無効にします。
-
Oracle Trace File Analyzer内からOSWatcherを起動します。
8.1.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
原因: 根本原因は不明です。
処置:
-
BDBにアクセスしているプロセスがあるかどうかをチェックします。
# fuser $GI_BASE/tfa//database/BERKELEY_JE_DB/je.lck
-
プロセスが返された場合は、それを強制終了します。
# kill -9
-
$GI_BASE/tfa//database/BERKELEY_JE_DB/je.lck
ファイルを削除します。# rm -rf $GI_BASE/tfa//database/BERKELEY_JE_DB/je.lck
-
Oracle Trace File Analyzerを起動します。
# $TFA_HOME/bin/tfactl start
8.1.12 Solution-Soft社のTime Machineソフトウェアがシステムにインストールされているが、実行されていない場合にOracle Trace File Analyzerが起動に失敗する
処置: Time Machineソフトウェアをアンインストールします。
8.1.13 非特権ユーザーがtfactlコマンドを実行できない
説明:
root
として、非特権ユーザーがtfactl
コマンドを実行するためのOracle Trace File Analyzer権限を持っていることを確認します。
]# tfactl access lsusers
.---------------------------------.
| TFA Users in node1 |
+-----------+-----------+---------+
| User Name | User Type | Status |
+-----------+-----------+---------+
| oracle | USER | Allowed |
'-----------+-----------+---------'
.---------------------------------.
| TFA Users in node2 |
+-----------+-----------+---------+
| User Name | User Type | Status |
+-----------+-----------+---------+
| oracle | USER | Allowed |
'-----------+-----------+---------'
ユーザーがリストされ、ステータスがDisabledとして表示される場合は、非特権ユーザー・アクセスが無効になっていることを示しています。
処置:
ユーザー(たとえば、oracle
)がリストされていない場合は、oracle
を追加します。
tfactl access add -user oracle
前述のいずれの方法でも問題が解決しない場合は、tfactl diagnosetfa -local
を実行します。生成されたファイルをOracleサポートにアップロードします。
8.1.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が起動しないことを示しています。
処置:
-
Oracle Trace File Analyzerが実行されていないことを確認します。
ps -ef|grep -i tfa
ノート:
一部のオペレーティング・システムでは、ps
コマンドの出力が80文字で切り捨てられます。ps
コマンドでは、実行中であってもプロセスが表示されません。 -
Oracle Trace File Analyzerデーモンが実行されていないことを確認するには、
root
として次のコマンドを実行します。# tfactl print status
TFA-00002 Oracle Trace File Analyzer (TFA) is not running
-
Oracle Trace File Analyzerデーモンを
root
として起動してみます。# tfactl start Starting TFA.. Waiting up to 100 seconds for TFA to be started.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Successfully started TFA Process.. . . . . . TFA Started and listening for commands
Oracle Trace File Analyzerの起動が引き続き失敗する場合は、
tfactl diagnosetfa -local
を実行します。生成されたファイルをOracleサポートにアップロードします。
8.1.15 Oracle Trace File AnalyzerでCRS、DB、ASMなどのコンポーネントの診断トレースが収集されない
説明: Oracle Trace File AnalyzerがCRS、DB、ASMなどのコンポーネントの診断トレースを収集できない場合は、tfactl print directories
コマンドを実行して、Grid Infrastructureのベース・ディレクトリおよび診断ディレクトリがAHFに追加されていることを確認します。追加されていない場合は、tfactl directory add <dir>
コマンドを使用して追加してみてください。コマンドがエラーとなり、「<dir> is not a valid directory to add to TFA」と表示される場合、これはAHFで問題のディレクトリが無効とみなされ、TFAには追加されないことを示しています。
原因: AHFでは、システム・ファイル、保護されたファイル、データ・ファイルが配置されているいくつかの標準ディレクトリが検出およびインベントリされません。これは、AHFでこれらが無効なファイルとみなされるためです。
処置: root
またはadmin
ユーザーは、必要なサブディレクトリを追加できます。tfactl directory add
コマンドで-force
オプションを使用してAHFにディレクトリ全体を追加するのではなく、tfactl directory add <dir> -force
で診断コレクションを再実行することをお薦めします。
8.1.16 Oracle Trace File Analyzerの起動に失敗する
tfa_main.trc
ファイルに記録されます。Exception in isPortAvailable - sdx b.9q23g87y6y: Address already in use: NET_Bind java.net.BindException: Address already in use: NET_Bind
原因: 予約済ポート5000から5005がすでに他のプロセスで使用されているため、Oracle Trace File Analyzerを起動できません。
処置: 使用可能なポート番号でdata_dir/internal/port.txt
ファイルを更新した後、tfactl start
コマンドを実行してください。
8.1.17 TFACTL収集エラー: tfa_main.trc内の"METADATA JSON FILE ALREADY EXISTS"
説明: 複数の手動収集を同じノードまたは別のノードで同時または1秒以内に開始すると、一部の収集で問題が発生する可能性があります。
原因: この問題は、複数の手動収集が、複数のノードにわたりほぼ同時に開始されたときに発生します。.zip.json
ファイルが収集ディレクトリに作成され、同じタグが割り当てられるため、1つの収集プロセスでは最初にそのファイルが生成されますが、他の収集プロセスは"METADATA JSON FILE ALREADY EXISTS"エラーで失敗します。一時ディレクトリが異なる場合でも、ほぼ同時実行であるため、検証ステップがスキップされる場合があります。
処置: この問題を回避するには、複数の収集を、tagオプションを使用して別々のノードで開始します。たとえば、次のタグを追加します:-tag <host>_#TFADEFAULTTAG#
これにより、収集ディレクトリが必ず一意のネーミング形式に従うようになります(atpd-exa-aq5hx4_collection_Tue_Nov_26_03_45_00_UTC_2024_node_all
など)。