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専用ページへ