4.1 Oracle Trace File Analyzerの管理および構成

この項では、Oracle Trace File Analyzerデーモン、診断収集、および収集リポジトリの管理について説明します。

4.1.1 Oracle Trace File Analyzerのステータスおよび構成の問合せ

printコマンドを使用して、ステータスまたは構成を問い合せます。

表4-1 構成のリストおよび説明

構成のリスト デフォルト値 説明

自動診断収集

ON

重大な問題が発生した場合に収集をトリガーします。

使用可能な値:

  • ON

  • OFF

診断収集中のファイルの切捨て

ON

収集の時間範囲内のエントリのみを含むようにログ・ファイルを切り捨てます。

使用可能な値:

  • ON

  • OFF

リポジトリの最大サイズ(MB)

10GBまたはファイル・システム内の空き領域の50%のいずれか小さい方。

リポジトリに許可される最大サイズ。

トレース・レベル

INFO

詳細度を高くします。

使用可能な値:

  • FATAL

  • ERROR

  • WARNING

  • INFO

  • DEBUG

  • TRACE

値がINFOの場合、トレースの量が最小になります。値がTRACEの場合、トレースの量が最大になります。

Oracleサポートから要請があった場合にのみトレース・レベルの値を変更することをお薦めします。

自動パージ

ON

次の場合に収集をパージします:

リポジトリの空き領域が1 GBを下回った場合。

または

リポジトリを閉じる前。

パージでは、サイズが最も大きいものから最も小さいものへ順番に収集が削除されます。リポジトリを開くために十分な領域ができるまで、パージが続行されます。

パージする収集の最小経過期間(時間)

12

収集を保持する最小時間数。この時間が経過すると、パージ対象となります。

アラート・ログのスキャンを有効にするための最小空き領域(MB)

500

tfa_home内の空き領域がこの値を下回った場合に、ログのスキャンを一時停止します。

関連トピック

4.1.2 Oracle Trace File Analyzerデーモンの管理

Oracle Trace File Analyzerは、UNIXシステムではinit、Linuxではinit/upstart/systemdから実行され、Microsoft WindowsではWindowsサービスを使用するため、ノードが起動されるたびにOracle Trace File Analyzerが自動的に起動されます。

Oracle Trace File Analyzerデーモンを管理するには:

init制御ファイル/etc/init.d/init.tfaは、プラットフォームに依存します。
  1. Oracle Trace File Analyzerを手動で起動または停止するには、次のようにします。
    • tfactl start: Oracle Trace File Analyzerデーモンを起動します

    • tfactl stop: Oracle Trace File Analyzerデーモンを停止します

    Oracle Trace File Analyzerデーモンが失敗した場合は、オペレーティング・システムによってデーモンが自動的に再起動されます。

  2. Oracle Trace File Analyzerデーモンの自動再起動を有効または無効にするには、次のようにします。
    • tfactl disable: Oracle Trace File Analyzerデーモンの自動再起動を無効にします。

    • tfactl enable: Oracle Trace File Analyzerデーモンの自動再起動を有効にします。

4.1.3 リポジトリの管理

Oracle Trace File Analyzerは、すべての診断収集をリポジトリに格納します。

リポジトリ・サイズは、Oracle Trace File Analyzerが収集を格納するためにディスク上で使用できる最大領域です。

4.1.3.1 リポジトリの自動パージ

次の場合、Oracle Trace File Analyzerはリポジトリを閉じます。

  • TFA_HOMEの空き領域が100 MB未満の場合(さらに索引付けも停止します)

  • ORACLE_BASEの空き領域が100 MB未満の場合(さらに索引付けも停止します)

  • リポジトリの空き領域が1 GB未満の場合

  • リポジトリの現在のサイズがリポジトリの最大サイズ(reposizeMB)を超えている場合

Oracle Trace File Analyzerデーモンはリポジトリを監視して、空き領域が1 GBを下回ったとき、またはリポジトリを閉じる前に、リポジトリを自動的にパージします。リポジトリを開くのに十分な領域が確保されるまで、パージによって収集がサイズの大きい順に削除されます。

Oracle Trace File Analyzerは、minagetopurgeよりも古い収集のみを自動的にパージします。デフォルトでは、minagetopurgeは12時間です。

リポジトリを自動的にパージするには

  1. パージする最小期間を変更するには、次のようにします。
    set minagetopurge=number of hours
    たとえば:
    tfactl set minagetopurge=48

    リポジトリの自動パージはデフォルトで有効になっています。

  2. 自動パージを有効または無効にするには、次のようにします。
    set autopurge=ON|OFF
    たとえば:
    tfactl set autopurge=ON
  3. リポジトリの場所を変更するには、次のようにします。
    set repositorydir=dir
    たとえば:

    ノート:

    新しいディレクトリをrepositoryとして指定する必要があります。
    tfactl set repositorydir=/opt/repository
  4. リポジトリのサイズを変更するには、次のようにします。
    set reposizeMB
    たとえば:
    tfactl set reposizeMB=20480

関連トピック

4.1.3.2 リポジトリの手動パージ

リポジトリを手動でパージするには:

  1. Oracle Trace File Analyzerリポジトリのステータスを表示するには、次のようにします。
    tfactl print repository
  2. 収集に関する統計を表示するには、次のようにします。
    tfactl print collections
  3. 特定の時間よりも古い収集を手動でパージするには、次のようにします。
    tfactl purge -older number[h|d] [-force]

関連トピック

4.1.4 収集の管理

Oracle Trace File Analyzerで構成されたディレクトリおよび診断収集を管理します。

4.1.4.1 ディレクトリを含める

Oracle Trace File Analyzerの構成にディレクトリを追加して、診断収集にそのディレクトリを含めます。

Oracle Trace File Analyzerは、次に関する診断収集のメタデータを格納します。

  • ディレクトリ

  • サブディレクトリ

  • ディレクトリおよびすべてのサブディレクトリのファイル

すべてのOracle Trace File Analyzerユーザーは、読取りアクセス権を持つディレクトリを追加できます。

ディレクトリを管理するには:

  1. Oracle Trace File Analyzerで構成された現在のディレクトリを表示するには、次のようにします
    tfactl print directories [ -node all | local | n1,n2,... ] 
    [ -comp component_name1,component_name2,.. ] 
    [ -policy  exclusions | noexclusions ] 
    [ -permission public | private ]
  2. ディレクトリを追加するには、次のようにします:
    tfactl directory add dir 
    [ -public ] 
    [ -exclusions | -noexclusions | -collectall ] 
    [ -node all | n1,n2,... ]
  3. ディレクトリを収集対象から削除するには、次のようにします。
    tfactl directory remove dir [ -node all | n1,n2,... ]

関連トピック

4.1.4.2 収集のサイズの管理

Oracle Trace File Analyzerの構成オプションtrimfilesmaxcorefilesizemaxcorecollectionsizeおよびdiagcollect -coresを使用して、コア・ファイルを含めます。

収集のサイズを管理するには:

  1. 診断収集中にファイルを削除するには、次のようにします。
    tfactl set trimfiles=ON|OFF
    • ON (デフォルト)に設定すると、Oracle Trace File Analyzerにより、イベント発生前後のデータが含まれるようにファイルが削除されます

    • OFFに設定すると、イベント発生時に書き込まれたすべてのファイルが収集されます

  2. コア・ファイルの最大サイズをn MB (デフォルトは50 MB)に設定するには、次のようにします。
    tfactl set maxcorefilesize=n

    Oracle Trace File Analyzerは、maxcorefilesizeを超えるコア・ファイルをスキップします。

  3. コア・ファイルの最大収集サイズをn MB (デフォルトは500 MB)に設定するには、次のようにします。
    tfactl set maxcorecollectionsize=n

    maxcorecollectionsizeに達すると、Oracle Trace File Analyzerはコア・ファイルの収集をスキップします。

  4. 診断収集でコア・ファイルを収集するには、次のようにします。
    tfactl diagcollect -cores

関連トピック

4.1.4.3 特定のイベントに対する自動診断収集の一時制限

tfactl blackoutコマンドを使用して、自動診断収集を抑止します。

ターゲットにブラックアウトを設定した場合、Oracle Trace File Analyzerがスキャン中にそのターゲットのアラート・ログでイベントを検出すると、自動診断収集を停止します。

また、自動診断収集を詳細なレベルで制限することもできます(ORA-00600や、特定の引数を持つORA-00600のみなど)。

tfactl blackout add -targettype database -target mydb -event "ORA-00600"

イベントORA-00600は、targettype : database、target : mydbでWed Feb 20 00:20:34 PST 2019までブラックアウトされます

まだ存在しないリソースをブラックアウトすることもできます。たとえば、データベースを作成する際に、プロビジョニングが完了するまでステータスを考慮しない場合は、次のようにします。
  1. 作成しようとしているデータベースをブラックアウトします
  2. データベースを作成します
  3. ブラックアウトを削除します

関連トピック

4.1.5 ホストの構成

Oracle Trace File Analyzerの構成にホストを追加するには、tfactlに対するrootアクセスまたはsudoアクセスが必要です。

SSL証明書を追加、削除および置換するには:

  1. Oracle Trace File Analyzerの構成の現在のホストのリストを表示するには、次のようにします。
    tfactl print hosts
  2. 初めてOracle Trace File Analyzerの構成にホストを追加するには、次のようにします。
    1. 必要に応じて、新しいホストにOracle Trace File Analyzerをインストールして起動します。
    2. 既存のホストから、次を実行してすべてのホストの認証証明書を同期化します。
      tfactl syncnodes

      Oracle Trace File Analyzerにより、現在認識されているノードのリストが表示され、必要に応じてこのノードのリストを更新するよう求められます。

    3. Yを選択して、新しいホストの名前を入力します。

      Oracle Trace File Analyzerが新しいホスト上のOracle Trace File Analyzerにアクセスして証明書を同期化し、それぞれが各自のホスト・リストに相手を追加します。

  3. ホストを削除するには、次のようにします。
    tfactl host remove host
  4. ホストおよびすでに同期化されている証明書を追加するには、次のようにします。
    tfactl host add host

    インストール中に、Oracle Trace File Analyzerによって自己署名SSL証明書が生成されます。これらの証明書を次のいずれかに置き換えます。

    • 個人の自己署名証明書

    • CA署名証明書

4.1.6 ポートの構成

クラスタ内のOracle Trace File Analyzerデーモンは、ポート5000から5005を介して安全に通信します。

ご使用のシステムでポート範囲を使用できない場合は、システム上で使用可能なポートに置き換えます。

ポートを変更するには:

  1. プライマリ・ポートを設定するには、tfactl set portコマンドを使用します。
    tfactl set port=port_1
    または、使用するポートを順番に指定したカンマ区切りリストを指定します。最大5つのポートを指定できます。
    tfactl set port=port_1,port_2,port_3,port_4,port_5
  2. すべてのノードでOracle Trace File Analyzerを再起動します。
    tfactl restart

4.1.7 SSLおよびSSL証明書の構成

SSL/TLSプロトコルを表示および制限します。自己署名証明書またはCA署名証明書を使用するようにOracle Trace File Analyzerを構成します。

4.1.7.1 SSL/TLSプロトコルの構成

クラスタ内のOracle Trace File Analyzerデーモンは、SSL/TLSプロトコルを使用して安全に通信します。

Oracle Trace File Analyzerで使用できるSSLプロトコルは、次のとおりです。

  • TLSv1.2

  • TLCv1.1

  • TLSv1

Oracle Trace File Analyzerでは、古いプロトコルであるSSLv3およびSSLv2Helloの使用が常に制限されます。

プロトコルを表示および制限するには:

  1. 使用可能なプロトコルと制限されているプロトコルを表示するには、次のようにします。
    tfactl print protocols
    たとえば:
    $ tfactl print protocols
    .---------------------------------------.
    |                 node1                 |
    +---------------------------------------+
    | Protocols                             |
    +---------------------------------------+
    | Available : [TLSv1, TLSv1.2, TLSv1.1] |
    | Restricted : [SSLv3, SSLv2Hello]      |
    '---------------------------------------'
    
  2. 特定のプロトコルの使用を制限するには、次のようにします。
    tfactl restrictprotocol [-force] protocol
    たとえば:
    tfactl restrictprotocol TLSv1

4.1.7.2 自己署名証明書の構成

Java keytoolを使用して、自己署名SSL証明書を個人の自己署名証明書に置き換えます。

自己署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

ノート:

TFAによって出荷されるデフォルトの自己署名証明書のキー・サイズは2048ビットです。
  1. 秘密キーおよびサーバーの自己署名証明書を含むキーストア・ファイルを作成します。
    keytool -genkey -alias server_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myserver.jks
  2. 秘密キーおよびその秘密キーとクライアント用の自己署名証明書を含むキーストア・ファイルを作成します。
    keytool -genkey -alias client_full -keyalg RSA -keysize 2048 -validity 18263 -keystore myclient.jks
  3. サーバー公開キー証明書をサーバー・キーストアからエクスポートします。
    keytool -export -alias server_full -file myserver_pub.crt -keystore myserver.jks -storepass password
  4. クライアント公開キー証明書をサーバー・キーストアからエクスポートします。
    keytool -export -alias client_full -file myclient_pub.crt -keystore myclient.jks -storepass password
  5. サーバー公開キー証明書をクライアント・キーストアにインポートします。
    keytool -import -alias server_pub -file myserver_pub.crt -keystore myclient.jks -storepass password
  6. クライアント公開キー証明書をサーバー・キーストアにインポートします。
    keytool -import -alias client_pub -file myclient_pub.crt  -keystore myserver.jks -storepass password
  7. キーストアの権限をroot  read-onlyに制限します。
    chmod 400 myclient.jks myserver.jks
  8. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    tfactl set sslconfig
    tfactl set sslconfig
    Please Enter server certificate path : /u01/oracle.ahf/data/host/tfa/myserver.jks 
    Please Enter Password for server keystore keypass :
    Please Confirm Password for server keystore keypass :
    Please Enter Password for server keystore storepass :
    Please Confirm Password for server keystore storepass :
    Please Enter client certificate path? : /u01/oracle.ahf/data/host/tfa/myclient.jks
    Please Enter Password for client keystore keypass :
    Please Confirm Password for client keystore keypass :
    Please Enter Password for client keystore storepass :
    Please Confirm Password for client keystore storepass :
    SSL certificate details successfully set
    The certificates are restricted to root read only
  9. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    tfactl restart

4.1.7.3 CA署名証明書の構成

Java keytoolopensslを使用して、自己署名SSL証明書を認証局(CA)署名証明書に置き換えます。

CA署名証明書を使用するようにOracle Trace File Analyzerを構成するには:

  1. サーバー・リクエストに対する秘密キーを作成します。
    openssl genrsa -aes256 -out myserver.key 2048
  2. クライアント・リクエストに対する秘密キーを作成します。
    openssl genrsa -aes256 -out myclient.key 2048
  3. サーバーの証明書署名リクエスト(CSR)を作成します。
    openssl req -key myserver.key -new -sha256 -out myserver.csr
  4. クライアントの証明書署名リクエスト(CSR)を作成します。
    openssl req -key myclient.key -new -sha256 -out myclient.csr
  5. 作成したクライアントおよびサーバーのCSRを、関連する署名認証局に送信します。

    署名認証局から署名済証明書が返送されます。

    • myserver.cert
    • myclient.cert
    • CAルート証明書
    • 中間証明書
  6. 証明書をサーバーおよびクライアント用のJKS形式に変換します。
    openssl pkcs12 -export -out serverCert.pkcs12 -in myserver.cert -inkey myserver.key
    keytool -v -importkeystore -srckeystore serverCert.pkcs12 -srcstoretype PKCS12 -destkeystore myserver.jks -deststoretype JKS
    openssl pkcs12 -export -out clientCert.pkcs12 -in myclient.cert -inkey myclient.key
    keytool -v -importkeystore -srckeystore clientCert.pkcs12 -srcstoretype PKCS12 -destkeystore myclient.jks -deststoretype JKS
  7. サーバー公開キーをクライアントのjksファイルにインポートします。
    keytool -import -v -alias server-ca -file myserver.cert -keystore myclient.jks
  8. クライアント公開キーをサーバーのjksファイルにインポートします。
    keytool -import -v -alias client-ca -file myclient.cert -keystore myserver.jks
  9. CAルート証明書を署名認証局からOracle Trace File Analyzerサーバー証明書にインポートします:
    keytool -importcert -trustcacerts -alias root -file caroot.cert -keystore myserver.jks
  10. 中間証明書をOracle Trace File Analyzerサーバー証明書にインポートします:
    keytool -importcert -trustcacerts -alias inter -file intermediate.cert -keystore myserver.jks
  11. 中間証明書をOracle Trace File Analyzerクライアント証明書にインポートします:
    keytool -importcert -trustcacerts -alias inter -file intermediate.cert -keystore myclient.jks
  12. キーストアの権限をroot  read-onlyに制限します。
    chmod 400 myclient.jks myserver.jks
  13. 新しい証明書を使用するようにOracle Trace File Analyzerを構成します。
    tfactl set sslconfig
    tfactl set sslconfig
    Please Enter server certificate path : /u01/oracle.ahf/data/host/tfa/myserver.jks 
    Please Enter Password for server keystore keypass :
    Please Confirm Password for server keystore keypass :
    Please Enter Password for server keystore storepass :
    Please Confirm Password for server keystore storepass :
    Please Enter client certificate path? : /u01/oracle.ahf/data/host/tfa/myclient.jks
    Please Enter Password for client keystore keypass :
    Please Confirm Password for client keystore keypass :
    Please Enter Password for client keystore storepass :
    Please Confirm Password for client keystore storepass :
    SSL certificate details successfully set
    The certificates are restricted to root read only
  14. Oracle Trace File Analyzerプロセスを再起動して、新しい証明書の使用を開始します。
    tfactl stop 
    tfactl start

4.1.7.4 SSL暗号スイートの構成

暗号スイートは、キーを作成してデータを暗号化するためにTLS/SSLプロトコルで使用される暗号化アルゴリズムのセットです。

Oracle Trace File Analyzerは、JRE 1.8で使用されるすべての暗号スイートをサポートします。

デフォルトで使用される暗号スイートは、TLS_RSA_WITH_AES_128_CBC_SHA256です。

  1. コマンドを使用して暗号スイートを変更できます。
    tfactl set ciphersuite=cipher_suite
    たとえば:
    tfactl set ciphersuite=TLS_RSA_WITH_AES_128_GCM_SHA256
    JRE暗号スイートのリストは、次を参照してください。

    https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider

4.1.8 電子メール通知の詳細の構成

自動収集の完了後に、登録された電子メール・アドレスに電子メールを送信するようにOracle Trace File Analyzerを構成します。

電子メールを送信するには、Oracle Trace Analyzerが実行されているシステムを構成します。通知が機能するように、ユーザーの電子メール・アドレスを使用して通知を構成する必要があります。

電子メール通知の詳細を構成するには:

  1. 特定のORACLE_HOMEに使用する通知電子メールを設定するには、コマンドにオペレーティング・システムの所有者を含めます。
    tfactl set notificationAddress=os_user:email
    たとえば:
    tfactl set notificationAddress=oracle:some.body@example.com
  2. すべてのORACLE_HOMEに使用する通知電子メールを設定するには、次のようにします。
    tfactl set notificationAddress=email
    たとえば:
    tfactl set notificationAddress=another.body@example.com
  3. tfactl set smtpを使用してSMTPサーバーを構成します。

    プロンプトが表示されたら、SMTPパラメータを設定します。

    表4-2 tfactl diagnosetfaコマンド・パラメータ

    パラメータ 説明

    smtp.host

    SMTPサーバーのホスト名を指定します。

    smtp.port

    SMTPサーバー・ポートを指定します。

    smtp.user

    SMTPユーザーを指定します。

    smtp.password

    SMTPユーザーのパスワードを指定します。

    smtp.auth

    認証フラグをtrueまたはfalseに設定します。

    smtp.ssl

    SSLフラグをtrueまたはfalseに設定します。

    smtp.from

    送信元メールIDを指定します。

    smtp.to

    受信者メールIDのカンマ区切りリストを指定します。

    smtp.cc

    CCメールIDのカンマ区切りリストを指定します。

    smtp.bcc

    BCCメールIDのカンマ区切りリストを指定します。

    smtp.debug

    デバッグ・フラグをtrueまたはfalseに設定します。

    ノート:

    tfactl print smtpを使用して、現在のSMTP構成の詳細を表示できます。

  4. tfactl sendmail email_addressを使用してテスト電子メールを送信し、SMTP構成を検証します。

    重大なエラーが発生したことをOracle Trace File Analyzerが検出した場合は、次のように電子メール通知が送信されます。

    図4-1 電子メール通知

    図4-1の説明が続きます。
    「図4-1 電子メール通知」の説明
  5. 通知電子メールを受信したら、次を実行します。
    1. 根本原因を特定するには、参照先の収集の詳細を調べます。
    2. 問題を修正できる場合は、問題の根本原因を解決します。
    3. 問題の根本原因がわからない場合は、Oracleサポートに対するSRを登録し、収集の詳細をアップロードします。

4.1.9 索引の管理

Oracle Trace File Analyzerは、診断データの格納に複数の索引を使用します。

DBAツールおよび診断収集では、索引(デフォルト)または付属のBerkeley DB (BDB)を使用できます。

索引を使用するとCPU使用率が低下し、診断収集やDBAツール(lsgreptailviなど)の実行の平均実行時間が短縮されます。ただし、索引の使用には、Berkeley DB (BDB)よりも継続的なリソース使用が必要になります。

DBAツールを使用せず、収集が完了するまで待機する準備ができている場合は、次のように実行して、この索引を無効にできます。
tfactl set indexInventory=false

ISAテレメトリ・データは、Lucene索引に格納されます。この索引は破損する場合があります。破損が検出された場合、デフォルトでは索引が削除され、再作成されます。これにより、一部のISAテレメトリ・データが失われる可能性があります。

ISAデータが失われる危険性を回避する必要がある場合は、リストアするようにこの動作を変更できます。これにより、索引がバックアップされ、REDOデータが保持されます。

  1. (デフォルト)削除して再作成するには、次を使用します。
    tfactl set indexRecoveryMode=recreate
  2. バックアップし、REDOデータを保持して、索引をリストアするには、次を使用します。
    tfactl set indexRecoveryMode=restore