よくあるご質問

購入前から利用中の"困った"までを解決する質問&回答集

質問

WEBサーバのCPU負荷が高い状態が数分間継続し、desknet's NEOが使用できません。(Oracle版)

回答

対象:WindowsOracle版
Oracle11gより、問題の回避、検出、診断など、Automatic Diagnostic Repository(以下、ADR)機能にて管理されるようになっています。
そのADR機能がデフォルトでは有効で、デフォルトのログの出力先が、「${ORACLE_HOME}\log」となっています。

そのログ出力先フォルダが存在しない為に、OracleClientのログファイルのローテーションによりCPUリソースを圧迫して、発生している可能性があります。

弊社で確認できている事象としまして、desknet’s NEOへアクセスの度に、OracleClientのログ出力先フォルダが存在しないことで、OracleClientのログファイル「log_番号.xml」に

(例)
“Directory does not exist for read/write [C:\app\Administrator\product\11.2.0\client_1\log]”

が出力され続けます。

このログファイルは、1ファイル、10MBでローテーションされ、このタイミングでCPUリソースを消費し負荷を上昇させます。

「log_番号.xml」ファイルが大量にある場合、ローテーションに時間を要し、CPUリソースを占有し続け、負荷が高い状況が継続し、結果、desknet’s NEOへアクセスできない状況になります。

<log_番号.xmlファイル出力対象フォルダ>
C:\Users\Administrator\Oracle\oradiag_xxx\diag\clients\user_xxx\host_xxx\alert
C:\Windows\Temp\oradiag_xxx\diag\clients\user_xxx\host_xxx\alert
 
 
 
[対処方法]
以下の何れかの対応を行います。

1)ログ出力先のフォルダを作成する。

 以下のパスのフォルダを作成してください。
 ${ORACLE_HOME}\log\diag\clients

 ※OracleClinetデフォルトインストールの場合、以下になります。
  「C:\app\Administrator\product\11.2.0\client_1\log\diag\clients」
  

2)ログを出力しない設定にする。
「sqlnet.ora」ファイルに、「DIAG_ADR_ENABLED=OFF」を追加する。

 ※OracleClinetデフォルトインストールの場合、
  「C:\app\Administrator\product\11.2.0\client_1\network\admin」
  フォルダ下に、「sqlnet.ora」ファイルはあります。

メモ帳等、テキストエディターにて編集し、保存してください。

例)
# sqlnet.ora Network Configuration File:
C:\app\Administrator\product\11.2.0\client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to
# install “Software Only”, this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.

SQLNET.AUTHENTICATION_SERVICES= (NONE)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

DIAG_ADR_ENABLED=OFF     ・・・・☆追加する
 
 
 
[既存ログの削除方法]
ADRコマンド・インタプリタより行います。
作業を行う場合は、運用を停止してから実施して下さい。
詳細のパージ(削除)方法はOracleのマニュアルをご確認のうえ実施して下さい。

例1)
1)コマンドプロンプト起動します。
 
2)adrciコマンドを入力します。
 C:\Users\Administrator>adrci
 
3)ADR baseをセットします。
 adrci> set base C:\Users\Administrator\Oracle\oradiag_administrator
  ※ADR_baseは、「diag」フォルダが存在するパスの前までを指定します。
   上記は、C:\Users\Administrator\Oracle\oradiag_administrator\diag
   のケースです。
   パスは、環境によって異なりますので、環境に合わせて設定します。
 
4)ADR homeを確認します。
 adrci> show home
 ADR Home = c:\users\administrator\oracle
 \oradiag_administrator\diag\clients\user_administrator\host_xxxx:
 
5)ログをパージ(削除)します。
 デフォルトでは、「alert」フォルダログが720時間(30日)
 「trace」フォルダログが8760時間(365日)になります。
 この設定で良い場合は、以下コマンドを実施します。
 adrci>puage
  ※設定に関係なく、指定した経過時間(分)で削除する場合は以下のコマンドを
   実施します。
   [1日(1440分)以上経過したログを削除する場合]
    adrci>purge -age 1440 -type alert
    adrci>exit

例2)
1)コマンドプロンプト起動します。
 
2)adrciコマンドを入力します。
 C:\Users\Administrator>adrci
 
3)ADR baseをセットします。
 adrci> set base C:\Windows\Temp\oradiag_xxx
  ※ADR_baseは、「diag」フォルダが存在するパスの前までを指定します。
   上記は、C:\Windows\Temp\oradiag_xxx\diag
   のケースです。
   パスは、環境によって異なりますので、環境に合わせて設定します。
 
4)ADR homeを確認します。(複数ある場合は以下のよう表示されます)
 adrci> show home
 ADR Homes:
 diag\clients\user_xxx\host_684710773_76
 diag\clients\user_xxx\host_990435674_76
 
5)ADR homeを設定します。
 adrci> set homepath diag\clients\user_xxx\host_684710773_76
 
6)ログをパージ(削除)します。
 デフォルトでは、「alert」フォルダログが720時間(30日)
 「trace」フォルダログが8760時間(365日)になります。
 この設定で良い場合は、以下コマンドを実施します。
  adrci>puage
   ※設定に関係なく、指定した経過時間(分)で削除する場合は以下のコマンドを
    実施します。
    [1日(1440分)以上経過したログを削除する場合]
     adrci>purge -age 1440 -type alert
 
7)2つ目のADR homeを設定します。
 adrci> set homepath diag\clients\user_xxx\host_990435674_76
 
8)ログをパージ(削除)します。
 ※手順は6)と同じとなります。

※[対処方法]にて、ログフォルダを作成する方法を行った場合、ログのパージ(削除)は定期的に行う運用の計画をしてください。
 その際のADR baseは、デフォルトインストールの場合、「C:\app\Administrator\product\11.2.0\client_1\log」になります。

 

 

パッケージ版の運用・管理
[質問ID]
NEO-T0232
[対象]
全バージョン(Oracle版のみ)
[最終更新日]
2016/03/31

お悩み・疑問は解消されましたでしょうか?
不明な点やまだお困りの点がございましたら、下記よりお問合せください。

desknet's NEOをご利用中のお客さま

機能・操作方法に関するお問合せ

クラウド版
通常窓口 平日9時-17時半 (土日祝日を除く):0120-365-800

パッケージ版
平日9時-12時 / 13時-17時半 (土日祝日を除く):0800-500-6330

※お問合せ内容により、担当部署から改めてのご回答となる場合がございます。
あらかじめご了承ください。

導入を検討中のお客さま

  • 詳しい資料をご送付
  • セミナー情報