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

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

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.tfainitまたは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_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に移行され、必要に応じてアップグレードされます。

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がまだ完了していないノードを確認するには、各ノードで、次のファイルの存在をチェックします。これらのファイルは、rootrootownership: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構成に含まれるノードも表示します。

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

たとえば:

ノードsales1sales2sales3および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および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から収集が行われますが、他のノードからは収集が行われません。

$ 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構成に含めるには、次のようにします。

  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

rootrootownership: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から実行されていない場合に予期される動作です。

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

  2. 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

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

処置:

  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

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が起動しないことを示しています。

処置:

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

    ps -ef|grep -i tfa

    ノート:

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

    # tfactl print status
    TFA-00002 Oracle Trace File Analyzer (TFA) is not running
  3. 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で診断コレクションを再実行することをお薦めします。