http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper
の翻訳です。本文書に関する指摘については、原文著者のTanel Poderさんではなく、渡部まで御連絡お願いいたします。
日本語訳:渡部 亮太 (WR at Csus4 dot net)
履歴
- 2012-11-17: 初稿up
- 2012-11-19: 公開先URL変更、誤記修正、ページ表示変更
Session Snapper
- http://files.e2sn.com/scripts/snapper.sql
(コピー&ペーストするのではなく、ファイルを右クリックして、[名前を付けて保存]を使用してください…いくつかのエディタや端末エミュレータは、大きなコンテンツをペーストするときにコードを台無しにするためです。- ORA-06550のエラーに出くわす羽目になるかもしれません!)
はじめに
Oracle Session Snapper v3は、古いバージョン(v2、v1)に比べていくつかの大きな改良が加えられています。 様々なV$ X$パフォーマンスカウンタのスナップショットの取得と、差分(デルタ)レポートに加えて、V$SESSIONからもセッションアクティビティの詳細をサンプリングします。これは、OracleのASHが行っていることに非常に似ています。 (ASHは、本質的に、若干工夫されたV$SESSIONのサンプリング履歴です。)ASHを使用するには、追加のDiagnostics Packのライセンスが必要です。また、ASHはV$SESSIONにクエリを実行しません。(SnapperはV$SESSIONにクエリを実行します)バージョン3.52から、SnapperはOracle 9.2でのASHスタイルのサンプリング機能をサポートしています。(Snappern以前のバージョンでは、Oracle 10g以降が必要でした)
- Snapperは、データベース内にオブジェクトを一切作成しません
- Snapperは、単なる無名PL/SQLブロックであり、実行時に解析およびコンパイルされます
- Snapperは、データベーススキーマや設定に対する変更が不要です。
Snapperを使用する
SQL> @snapper
?
ash
?
5 1 144
- パラメータ1(ash)では実行される測定の種類 を指定します:
- Snapper v3では、ASHスタイルのサンプリング"ASH"を使用できます。
- Snappoerの全バージョンで、V$SESSTATおよび他のパフォーマンスカウンタのスナップショットをとる "STATS"を使用できます
- パラメータ2(5) スナップショット期間の長さを指定します
- この例では、Sanpperが5秒間セッション アクティビティを測定し、レポートを出力することを意味しています。
- パラメータ3(1)は、 パフォーマンススナップショットの取得とレポートの実行を何度実行するかを指定しています。
- 最初のラウンドのトラブルシューティングには、私は通常、1つのスナップショット/レポートを使います。長期間にわたる複数のスナップショットやレポートを取得するために、大きめの数値を使う場合もあります。
- パラメータ4(144)興味のあるセッションのSIDのSIDです
- 例のようにただ1つのSIDを指定できます- 144
- カンマで区切られた複数のSIDを指定できます – 144,145,200
- インスタンス内のすべてのセッションを意味する"all"を指定できます- all
- 指定された文字列とV$SESSION内の対応する列にマッチするセッションに絞り込むため、user=SYSTEMまたは、program=sqlplus またはmodule= HR のような特殊なオプションを使用できます(許される完全な構文についてはSnapperスクリプトを直接見てください)。
- 最後に、SIDのセットを指定するために"select sid from v$session where username='SYSTEM' and program not like 'sqlplus%'"のような任意のサブクエリを使用できます。
Snapper ASHモード
SQL> @snapper ash 5 1 144
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
-----------------------------------------------------------------------
Active% | SQL_ID ? ? ? ? ?| EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
-----------------------------------------------------------------------
?? 100% | 5htvg1rhy5dfv ? | enq: TM - contention ? ? ?| Application
-- ?End of ASH snap 1, end=2010-03-22 19:54:09, seconds=5, samples_taken=42
PL/SQL procedure successfully completed.
- Active % は、実際に測定されたメトリックです- セッションのアクティビティ。Snapperの実行中、出力行にリストされた操作/動作が、応答時間に対してどの程度の時間を費やしたかを示すカラムです。
- したがって、100%とは、このセッション(144)が、その応答時間の100%をSQL_ID 5htvg1rhy5dfvのSQL実行に費やしていたことを意味しています。
- そのSQLを実行している間、全ての期間(Sanppeでのサンプリングの5秒間)において、enq: TM – contention待機イベントにて待機する状況が発生していました。
SQL> @snapper ash=sql_id+event+wait_class+blocking_session+p2+p3 5 1 144
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
-----------------------------------------------------------------------------------------------------------------------
Active% | SQL_ID ? ? ? ? ?| EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS ? ? ?| BLOCKING_SESSION ?| P2 ? ? ? ? ? | P3
-----------------------------------------------------------------------------------------------------------------------
?? 100% | 5htvg1rhy5dfv ? | enq: TM - contention ? ? ?| Application ? ? | 162 ? ? ? ? ? ? ? | 78452 ? ? ? ?| 0
-- ?End of ASH snap 1, end=2010-03-22 19:55:31, seconds=5, samples_taken=46
PL/SQL procedure successfully completed.
SQL> @snapper ash 5 1 156
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
-----------------------------------------------------------------------
Active% | SQL_ID ? ? ? ? ?| EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
-----------------------------------------------------------------------
?? ?36% | 3jbwa65aqmkvm ? | read by other session ? ? | User I/O
?? ?33% | 3jbwa65aqmkvm ? | direct path read ? ? ? ? ?| User I/O
?? ?28% | 3jbwa65aqmkvm ? | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
?? ? 3% | 3jbwa65aqmkvm ? | db file sequential read ? | User I/O
-- ?End of ASH snap 1, end=2010-03-22 19:50:11, seconds=5, samples_taken=36
上位セッション?アクティビティー?レポートでは、すべてのSQL IDが同じであるため、同一のSQLを実行しているように見えます。ですが、その異なる待機イベントを待機し、またCPUにいくつかの時間を費やしています。
そのセッションのCPU使用率が唯一のSnapperの実行中に28%で、残りの応答時間の72%は、すべての物理IO関連の待機イベント(36パーセント33パーセント3パーセント)に費やされていることがわかります。Snapperの実行中における、そのセッションのCPU使用率は28%だけで、残りの応答時間の72%はすべて物理I/O関連の待機イベント(36パーセント+33パーセント+3パーセント)に費やされていることがわかります。
SQL> @snapper ash 5 1 156
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
-----------------------------------------------------------------------
Active% | SQL_ID ? ? ? ? ?| EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
-----------------------------------------------------------------------
?? ?30% | gvgdv2v90wfa7 ? | db file sequential read ? | User I/O
?? ? 7% | 0bzhqhhj9mpaa ? | db file sequential read ? | User I/O
?? ? 5% | 75621g9y3xmvd ? | db file sequential read ? | User I/O
?? ? 5% | 05s4vdwsf5802 ? | db file sequential read ? | User I/O
?? ? 5% | 5raw2bzx227wp ? | db file sequential read ? | User I/O
?? ? 2% | 0yas01u2p9ch4 ? | db file sequential read ? | User I/O
-- ?End of ASH snap 1, end=2010-03-22 19:50:29, seconds=5, samples_taken=43
このケースでは、5秒のSnapperの実行中に、多くの異なるSQLが実行されたように見えます。もっとも上位の項目は、その時間中少なくとも30%アクティブだった(加えて、db file sequential readで待機していた)ようにみえます。
- ユーザーが考える時間。ユーザがコーヒーを飲みに行ったか、アプリケーションの実行に十分でないぐらいPCが遅い:-)
- アプリケーションが考える時間。アプリケーションサーバが過負荷になっているときや、アプリケーションサーバのコードに問題があるときに、しばしば発生します。アプリケーションがビジーまたはstuckているため、速くデータベースにリクエストを送信したり、受け取ったデータを処理することができない。
- 最後に、ネットワークのレイテンシとスループット。意図的にこの項目を最後に残しました。なぜなら、ネットワークに問題があるに違いないと即座に決めてかかるのではなく、(ネットワークより上位のレベルに位置づけられる)ユーザーとアプリケーションの実際の動作状況を確認することのほうが有意義であるためです。
3.2 (インスタンス全体の)すべてのセッションに対してASHモードでSnapperを実行する
SIDではなく、 単にallと指定します。
SQL> @snapper ash 5 1 all
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
-----------------------------------------------------------------------
Active% | SQL_ID ? ? ? ? ?| EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
-----------------------------------------------------------------------
?? ?69% | 3h1z39qtgwc5h ? | db file scattered read ? ?| User I/O
?? ?29% | fy8n9175jyj7s ? | db file scattered read ? ?| User I/O
?? ? 9% | ? ? ? ? ? ? ? ? | log file parallel write ? | System I/O
?? ? 2% | fy8n9175jyj7s ? | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
?? ? 2% | ? ? ? ? ? ? ? ? | control file parallel wri | System I/O
-- ?End of ASH snap 1, end=2010-03-22 17:33:17, seconds=5, samples_taken=45
PL/SQL procedure successfully completed.
SQL> @snapper ash=sid+event+wait_class 5 1 all
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
--------------------------------------------------------------
Active% | ? ?SID | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
--------------------------------------------------------------
?? ?95% | ? ?133 | db file scattered read ? ?| User I/O
?? ? 8% | ? ?165 | control file parallel wri | System I/O
?? ? 5% | ? ?133 | db file sequential read ? | User I/O
-- ?End of ASH snap 1, end=2010-03-22 17:33:53, seconds=5, samples_taken=40
PL/SQL procedure successfully completed.
(これらの列はV$SESSIONにて10.2.0.3から使用できます)
SQL> @snapper ash=sid+event+wait_class,ash1=plsql_object_id+plsql_subprogram_id+sql_id 5 1 all
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
--------------------------------------------------------------
Active% | ? ?SID | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
--------------------------------------------------------------
?? ?70% | ? ?133 | db file scattered read ? ?| User I/O
?? ?25% | ? ?133 | db file sequential read ? | User I/O
?? ? 9% | ? ?165 | control file parallel wri | System I/O
?? ? 7% | ? ?166 | log file parallel write ? | System I/O
?? ? 5% | ? ?133 | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
---------------------------------------------------
Active% | PLSQL_OBJE | PLSQL_SUBP | SQL_ID
---------------------------------------------------
?? ?43% | ? ? ? ? ? ?| ? ? ? ? ? ?| dv59rkngpa8m1
?? ?30% | ? ? ? ? ? ?| ? ? ? ? ? ?| b8qywu6ug00u3
?? ?23% | ? ? ? ? ? ?| ? ? ? ? ? ?| fgkm2nvqhyyqh
?? ?16% | ? ? ? ? ? ?| ? ? ? ? ? ?|
?? ? 2% | 5357 ? ? ? | 135 ? ? ? ?| 82hxvr8kxuzjq
?? ? 2% | 4345 ? ? ? | 105 ? ? ? ?| 1gu8t96d0bdmu
-- ?End of ASH snap 1, end=2010-03-22 17:34:51, seconds=5, samples_taken=44
SQL> @snapper ash=sid+event+wait_class,ash1=plsql_object_id+plsql_subprogram_id+sql_id,ash2=program+module+action 5 1 all
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
--------------------------------------------------------------
Active% | ? ?SID | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
--------------------------------------------------------------
?? 100% | ? ?133 | db file scattered read ? ?| User I/O
?? ? 5% | ? ?165 | control file parallel wri | System I/O
?? ? 2% | ? ?162 | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
?? ? 2% | ? ?167 | db file parallel write ? ?| System I/O
?? ? 2% | ? ?166 | log file parallel write ? | System I/O
---------------------------------------------------
Active% | PLSQL_OBJE | PLSQL_SUBP | SQL_ID
---------------------------------------------------
?? ?77% | ? ? ? ? ? ?| ? ? ? ? ? ?| a5xyjp9gt796s
?? ?23% | ? ? ? ? ? ?| ? ? ? ? ? ?| 4g4u44bk830ms
?? ?12% | ? ? ? ? ? ?| ? ? ? ? ? ?|
-------------------------------------------------------------------------------------------
Active% | PROGRAM ? ? ? ? ? ? ? ? ? | MODULE ? ? ? ? ? ? ? ? ? ?| ACTION
-------------------------------------------------------------------------------------------
?? 100% | sqlplus@mac01 (TNS V1-V3) | sqlplus@mac01 (TNS V1-V3) |
?? ? 5% | oracle@solaris02 (CKPT) ? | ? ? ? ? ? ? ? ? ? ? ? ? ? |
?? ? 2% | oracle@solaris02 (DBW0) ? | ? ? ? ? ? ? ? ? ? ? ? ? ? |
?? ? 2% | oracle@solaris02 (CJQ0) ? | ? ? ? ? ? ? ? ? ? ? ? ? ? |
?? ? 2% | oracle@solaris02 (LGWR) ? | ? ? ? ? ? ? ? ? ? ? ? ? ? |
-- ?End of ASH snap 1, end=2010-03-22 17:35:06, seconds=5, samples_taken=43
4 Snapper V$パフォーマンスカウンタ / 統計モード
Snapperはバージョン1以来、統計モードを持っています。私がSnapperを書いた当初の理由は、SQLトレースのような従来型のツールや、AWR / Statspackのようなインスタンス?レベルのパフォーマンス?ツールでは有効でない状況に対応するためです。v3から、Snapperは、V$SESSTAT統計情報を自動的に表示しません。
インスタンス全体のトラブルシューティングツールとして使用されることを意図しているためです。
(そして、インスタンス内に非常に多くのセッションが存在する場合は、すべてのセッションについてV$SESSTATを問い合せることは負荷が高いかもしれないため)
- セッション?レベルの統計情報:
- s – V$SESSTATからのセッション統計
- t – V$SESS_TIME_MODELからのセッション時間モデル情報
- w – V$SESSION_EVENTおよびV$SESSION_WAITからのセッション待機統計
- インスタンス?レベルの統計情報:
- L – V$LATCHからのインスタンスラッチ取得統計(gets+ immediate_gets)
- e – V$ENQUEUE_STATからのインスタンス?エンキュー?ロック取得統計
- b – x$kcbswからのバッファ取得統計 -10.2までのバージョンで有用
- a – 上記のすべて
SQL> @snapper ash=event+wait_class,stats,gather=ts,tinclude=CPU,sinclude=parse 5 1 all
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
----------------------------------------------------------------------------------------------------------------------
?? ?SID, USERNAME ?, TYPE, STATISTIC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? , ? ? ? ? DELTA, HDELTA/SEC, ? ?%TIME, GRAPH
----------------------------------------------------------------------------------------------------------------------
?? ?119, SYS ? ? ? , STAT, parse count (total) ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ? ?12, ? ? ? ?2.4,
?? ?133, SYS ? ? ? , STAT, parse time cpu ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? ? 404, ? ? ? 80.8,
?? ?133, SYS ? ? ? , STAT, parse time elapsed ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? ? 418, ? ? ? 83.6,
?? ?133, SYS ? ? ? , STAT, parse count (total) ? ? ? ? ? ? ? ? ? ? , ? ? ? ? 11241, ? ? ?2.25k,
?? ?133, SYS ? ? ? , STAT, parse count (hard) ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 11241, ? ? ?2.25k,
?? ?159, (J000) ? ?, TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? ? 859, ? ?171.8us, ? ? ?.0%, | ? ? ? ? ?|
?? ?161, (MMON) ? ?, STAT, parse count (total) ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ? ? 5, ? ? ? ? ?1,
?? ?161, (MMON) ? ?, STAT, parse count (hard) ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? ? ? 3, ? ? ? ? .6,
?? ?161, (MMON) ? ?, TIME, background cpu time ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ?8629, ? ? 1.73ms, ? ? ?.2%, | ? ? ? ? ?|
?? ?162, (CJQ0) ? ?, STAT, parse count (total) ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ? ? 1, ? ? ? ? .2,
?? ?162, (CJQ0) ? ?, TIME, background cpu time ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ?3242, ? ?648.4us, ? ? ?.1%, | ? ? ? ? ?|
?? ?167, (DBW0) ? ?, TIME, background cpu time ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ? 142, ? ? 28.4us, ? ? ?.0%, | ? ? ? ? ?|
?? ?170, (PMON) ? ?, TIME, background cpu time ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ?1267, ? ?253.4us, ? ? ?.0%, | ? ? ? ? ?|
-- ?End of Stats snap 1, end=2010-03-22 18:02:28, seconds=5
-----------------------------------------------------
Active% | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
-----------------------------------------------------
?? 105% | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
?? ?17% | db file sequential read ? | User I/O
?? ? 2% | log file parallel write ? | System I/O
-- ?End of ASH snap 1, end=2010-03-22 18:02:28, seconds=5, samples_taken=41
PL/SQL procedure successfully completed.
V$SESSTATにある全ての統計を使用できます。
(Oracleの11.2には、セッションごとに600種類以上の統計があります)例えば、sincludeパラメータに "redo size"を指定したなら、大部分のREDOを生成するセッションを簡単に確認していただろう。
60秒のような長いサンプリング時間でSnapperを実行した場合、時間モデル統計が適切に表示されるはずです。
インスタンスのセッションのサブセットにSnapperを実行する
SQL> @snapper ash=sid+event+wait_class,ash1=sid+sqlid+module,stats,gather=ts,tinclude=CPU,sinclude=parse 5 1 user=SOE
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
----------------------------------------------------------------------------------------------------------------------
?? ?SID, USERNAME ?, TYPE, STATISTIC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? , ? ? ? ? DELTA, HDELTA/SEC, ? ?%TIME, GRAPH
----------------------------------------------------------------------------------------------------------------------
?? ? ?9, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 30000, ? ? ? ?6ms, ? ? ?.6%, |@ ? ? ? ? |
?? ? 17, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 70000, ? ? ? 14ms, ? ? 1.4%, |@ ? ? ? ? |
?? ? 21, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 30000, ? ? ? ?6ms, ? ? ?.6%, |@ ? ? ? ? |
?? ?144, SOE ? ? ? , STAT, parse count (total) ? ? ? ? ? ? ? ? ? ? , ? ? ? ? ? ? 2, ? ? ? ? .4,
?? ?144, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ?370000, ? ? ? 74ms, ? ? 7.4%, |@ ? ? ? ? |
?? ?156, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 50000, ? ? ? 10ms, ? ? 1.0%, |@ ? ? ? ? |
-- ?End of Stats snap 1, end=2010-03-22 18:34:09, seconds=5
--------------------------------------------------------------
Active% | ? ?SID | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
--------------------------------------------------------------
?? 100% | ? ? 21 | read by other session ? ? | User I/O
?? ?93% | ? ?144 | read by other session ? ? | User I/O
?? ?83% | ? ?156 | read by other session ? ? | User I/O
?? ?73% | ? ? ?9 | read by other session ? ? | User I/O
?? ?54% | ? ? 17 | db file scattered read ? ?| User I/O
?? ?27% | ? ? ?9 | db file scattered read ? ?| User I/O
?? ?27% | ? ? 17 | read by other session ? ? | User I/O
?? ?17% | ? ?156 | db file scattered read ? ?| User I/O
?? ?17% | ? ? 17 | direct path read ? ? ? ? ?| User I/O
?? ? 7% | ? ?144 | ON CPU ? ? ? ? ? ? ? ? ? ?| ON CPU
--------------------------------------------------------------
Active% | ? ?SID | SQL_ID ? ? ? ? ?| MODULE
--------------------------------------------------------------
?? 100% | ? ? 21 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ? ?9 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ?144 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ?156 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ? 17 | 3jbwa65aqmkvm ? | Process Orders
-- ?End of ASH snap 1, end=2010-03-22 18:34:09, seconds=5, samples_taken=41
- username(userと同じ)
- SID
- SPID(pidとospidと同じ)
- program
- machine
- osuser
- module
- action
- client_id
SQL> @snapper ash=sid+event+wait_class,ash1=sid+sqlid+module,stats,gather=ts,tinclude=CPU,sinclude=parse 5 1 "select sid from v$session where username = 'SOE' and program like 'JDBC%'"
Sampling...
-- Session Snapper v3.10 by Tanel Poder @ E2SN ( http://tech.e2sn.com )
----------------------------------------------------------------------------------------------------------------------
?? ?SID, USERNAME ?, TYPE, STATISTIC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? , ? ? ? ? DELTA, HDELTA/SEC, ? ?%TIME, GRAPH
----------------------------------------------------------------------------------------------------------------------
?? ? ?9, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 50000, ? ? ? 10ms, ? ? 1.0%, |@ ? ? ? ? |
?? ? 17, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 60000, ? ? ? 12ms, ? ? 1.2%, |@ ? ? ? ? |
?? ? 21, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 70000, ? ? ? 14ms, ? ? 1.4%, |@ ? ? ? ? |
?? ?144, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 60000, ? ? ? 12ms, ? ? 1.2%, |@ ? ? ? ? |
?? ?156, SOE ? ? ? , TIME, DB CPU ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?, ? ? ? ? 50000, ? ? ? 10ms, ? ? 1.0%, |@ ? ? ? ? |
-- ?End of Stats snap 1, end=2010-03-22 18:34:32, seconds=5
--------------------------------------------------------------
Active% | ? ?SID | EVENT ? ? ? ? ? ? ? ? ? ? | WAIT_CLASS
--------------------------------------------------------------
?? ?97% | ? ? ?9 | read by other session ? ? | User I/O
?? ?74% | ? ?144 | direct path read ? ? ? ? ?| User I/O
?? ?72% | ? ?156 | db file scattered read ? ?| User I/O
?? ?72% | ? ? 21 | direct path read ? ? ? ? ?| User I/O
?? ?72% | ? ? 17 | direct path read ? ? ? ? ?| User I/O
?? ?28% | ? ?156 | read by other session ? ? | User I/O
?? ?26% | ? ? 17 | db file scattered read ? ?| User I/O
?? ?26% | ? ? 21 | read by other session ? ? | User I/O
?? ?26% | ? ?144 | read by other session ? ? | User I/O
?? ? 3% | ? ? ?9 | db file scattered read ? ?| User I/O
--------------------------------------------------------------
Active% | ? ?SID | SQL_ID ? ? ? ? ?| MODULE
--------------------------------------------------------------
?? 100% | ? ? 21 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ? ?9 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ?144 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ?156 | 3jbwa65aqmkvm ? | Process Orders
?? 100% | ? ? 17 | 3jbwa65aqmkvm ? | Process Orders
-- ?End of ASH snap 1, end=2010-03-22 18:34:32, seconds=5, samples_taken=39
PL/SQL procedure successfully completed.
SQL>?
Snapperをダウンロードする
- Snapper V3.5 – http://files.e2sn.com/scripts/snapper.sql
- Snapper V2 – http://files.e2sn.com/scripts/snapper_v2.sql
参考文献
私はブログで、過去にSnapper v1およびv2に関するいくつかの記事を書いているので、これらを読みたくなるかもしれない(Snapper v3で、構文上の変更点がいくつかあることに注意!)私のブログでのすべてのSnapper関連の記事を見ることができます:
実用的なパフォーマンスチューニングやトラブルシューティングのためにSnapperスクリプトを使う方法を習得したい場合は、その後、私のseminar offeringに注目して欲しい。 (オンラインセミナーはまもなく提供予定!);-)
フィードバック
訳注:本文書に関する指摘については、原文著者のTanel Poderさんではなく、渡部 (WR at Csus4 dot net)まで御連絡お願いいたします。