直線上に配置

Tipsページ


トップページへもどる
JavaScriptお試しページへ
【ASについて】
■調査方法の例
1. AS側 opmnの調査(スタックトレース)
- truss          : 最重要な項目となります。opmn子プロセスのシステム・コールのスタック・トレースを取得します。
                   5分程したら、Ctrl+Cして強制終了してください。
                   例) truss -d -fvall -o {出力ファイル名:truss.log} -p {opmnの子プロセスのPID}

- prstat -v      : プロセスサイズや負荷が確認できます。これも重要です。
                   プロセスサイズや負荷が確認できます。出力をOSファイルにリダイレクトしてください。
                   5分程したら、Ctrl+Cして強制終了してください。
                   例) prstat -v
                   【回数指定の場合】 prstat -v {間隔 秒} {回数}
                   
- pstack         : opmnの子プロセスの全スレッドのスタックトレースを取得します。
                   例) pstack {opmnの子プロセスのPID}
                   
- ps -ef         : 稼動している全プロセスの情報を取得します。
- opmnctl debug  : プロセスの詳細を確認する為に必要な情報です。

2. AS側 OC4Jの調査(JVMのフルスレッドダンプ)
   下記コマンドで
   kill -QUIT {OC4JのプロセスID}"
    ※ JVMのフルスレッドダンプの結果はOC4Jのログに出力されます。

3. AS側のログ
   $ORACLE_HOME/opmn/logs/*
   $ORACLE_HOME/Apache/Apache/logs/*
   $ORACLE_HOME/j2ee/{OC4Jインスタンス名}/log/{OC4Jインスタンス名}.{アイランド名}.#/* 
   $ORACLE_HOME/j2ee/{OC4Jインスタンス名}/application-deployments/
      {アプリケーション名}/{OC4Jインスタンス名}.{アイランド名}.#/application.log

4.OS側リソースの情報
  uptime
  ps -e -o 'user pid ppid s pcpu vsz rss pmem time args'
  prstat
  psrinfo -v
  mpstat 2 20

  prtconf |grep 'Memory size'
  vmstat 2 20
  swap -l
  swap -s

  df -k

  netstat -an
  netstat -s
  dmesg | tail -1000
  
5.プロセスの情報
  pfile {pid} (問題のあるプロセスID)
  上記コマンドで PID が使っている file descriptor が全部でてきます。
  でも free の lsof の方がわかり易いですが。

  plimit {pid} (問題のあるプロセスID)

  ※ plimit -n 20,20 {pid} とか実行して、JSPのサンプルにアクセスしてたら、CPU使用率が90%以上に。
  (通常なら、20%を超えることはない環境。)

■AS903 動作確認
 dcmctl getstate -v
 
■AS903 復旧手順(インスタンス単位)
 以下の手順でインスタンスの停止と起動をお願いします。
 ●停止 OC4Jコンポーネント個別
 dcmctl stop -ct oc4j -co  {インスタンス}

 ●起動
 dcmctl start -ct oc4j -co {インスタンス}

■AS903 その他(停止)
・OHS
dcmctl stop -ct ohs  -v

・opmnが管理しているプロセス全て(opmnは停止しない)
dcmctl stop

・opmn自身を含め全部Stop
dcmctl shutdown

■AS903 その他(起動)
・OHS
dcmctl start -ct ohs  -v

・opmn及び、opmnが管理しているプロセス全て
dcmctl start

---------------------------------------------------------------------------------
【DBについて】
●ログ位置(alertログ)
$ORACLE_HOME/admin/bdump/alert_XXX.ora

以下のようなメッセージならOKかと
Starting up ORACLE RDBMS Version: 9.2.0.X.0.
...
Completed: alter database open

(Listenerログ)
$ORACLE_HOME/network/admin/log/listener.log

■イベントトレース出力例
alter session set events 'immediate trace name systemstate level 10';

■セッション調査SQL
select sid, serial#, username, machine, osuser, program, status
from v$session;

■セッションKILL
セッションの指定方法→ ' SID,SERIAL# '

alter system kill session '43,5';

■ロック確認方法

@トランザクション・ロック(TX)確認
select sid, type, id1, id2, lmode, request from v$lock where type='TX';
      sid type    id1           id2          lmode      request
--------------------------------------------------------------------
         7 TX     262150        161          6          0
         8 TX     262150        161          0          6

※lmode (ロック獲得)が”0”以外はロックを獲得している。(”6”は排他ロック)
 request(ロック要求)が”0”以外はロックを要求している。

■一時セグメントを監視するビュー(グローバル確認:RAC用)
SELECT inst_id,tablespace_name,extent_size,total_extents,used_extents,free_extents, max_used_size
FROM gv$sort_segment
WHERE tablespace_name = 'TEMP';

"USED_EXTENTS"が増え、"FREE_EXTENTS"が0になると、ORA-01652: 一時セグメントを拡張できません。

---------------------------------------------------------------------------------
【VERITASについて】
●クラスタ状態調査
# hastatus -sum

●ログ位置(engineログ)
/var/VRTSvcs/log
 engine_A.log

●その他
CVMマスターノードを確認する
# vxdctl -c mode
mode: enabled: cluster active - MASTER
master: host01

■STALE ADMIN WAIT 対応
# hastatus
attempting to connect....connected
group           resource             system               message
--------------- -------------------- -------------------- --------------------
                                     host01               STALE ADMIN WAIT: all systems stale
                                     host02               STALE ADMIN WAIT: all systems stale

# hacf -verify /etc/VRTSvcs/conf/config/
# hasys -force host01 (or host02)

■コマンド操作メモ
・VMの状態確認
# vxdisk -o alldgs list

・VMDiskの作成(初期化)
# vxdisksetup -i c1t1d0

・volume(shrvol02)の削除
# vxassist -g shrdg remove volume shrvol02

・DGからVMDisk(shrdsk2)の削除
# vxdg -g shrdg rmdisk shrdsk2

・DG自体の削除
# vxdg destroy shrdg

・新DBの作成
# vxdg init oradg oradg01=c1t1d0s2 oradg02=c1t2d0s2 oradg03=c1t3d0s2

・特定のディスクグループの詳細情報を表示(バージョン等確認)
#vxdg list oradg

・共有でインポートし直す
# vxdg deport oradg
# vxdg -s import oradg

・volume作成 8Gbyte
# vxassist -g oradg make vol01 8g

・ファイルシステム作成
# mkfs -F vxfs /dev/vx/rdsk/oradg/vol01
    version 6 layout
    16777216 sectors, 8388608 blocks of size 1024, log size 32768 blocks
    largefiles supported

・マウント
# mount -F vxfs /dev/vx/dsk/oradg/vol01 /share1

・volume削除
# vxassist -g oradg remove volume vol01

・Plex, volume等確認
# vxprint -g oradg -htr

---------------------------------------------------------------------------------
【PIについて】
■PI 動作確認
% istctl status
  プロセスが起動している場合は以下のように表示されます。
 C:\Documents and Settings\Administrator>istctl status
 2006/06/20 16:05:29   JOB SCHEDULER   :(istjobs.job) Running.
 2006/06/20 16:05:29       INITIATOR   :(istjobi.job) Running.
 2006/06/20 16:05:29       ALERTER     :(istjoba.job) Running.
 2006/06/20 16:05:29 SERVER LISTENER   :(istsrv) Running.
 2006/06/20 16:05:29    WEB LISTENER   :(istwsrv.exe) Running.
 2006/06/20 16:05:29     AGENT QUEUE   :(queue.eel ora920) Running.

 各プロセス毎の起動は以下のコマンドにて実行。

 JOB SCHEDULER 、INITIATOR、 ALERTERが Not Running となっている場合
 → istctl upjobs  (この3プロセスは連動して起動、停止いたします)
  SERVER LISTENERが Not Running となっている場合
  → istctl upsrv
  WEB LISTENERが Not Running となっている場合
  →  istctl upwsrv
  AGENT QUEUEが Not Running となっている場合
  →  istctl upqueue [ORACLE_SID指定]

また、istctl startall
で全プロセスの起動をしても問題はない。

トップ アイコン
トップページへもどる
Unix専用ページへ  
直線上に配置