「SQLトレース」の編集履歴(バックアップ)一覧はこちら

SQLトレース」(2005/11/04 (金) 16:54:00) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**トレースの取得方法 ◆現行セッションのトレースを取得する        ALTER SESSION SET TIMED_STATISTICS = TRUE;    ALTER SESSION SET SQL_TRACE = TRUE; ◆データベースインスタンス全体でトレースを開始する    データベースインスタンス全体でトレースを開始するには、init.ora で以下のパラメータを設定する。      timed_statistics = true      sql_trace = true ※timed_statisticsパラメータは「ALTER SYSTEM SET TIMED_STATISTICS = TRUE;」コマンドで設定することも可能です。  sql_traceパラメータは、「ALTER SYSTEM」コマンドで設定することはできません。 ◆特定ユーザのセッションでトレースを開始する    EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid, SERIAL#, TRUE); **現行セッションのトレースを取得する例 ◆現行セッションのトレースを開始する SQL> ALTER SESSION SET TIMED_STATISTICS = TRUE; セッションが変更されました。 SQL> ALTER SESSION SET SQL_TRACE = TRUE; セッションが変更されました。
**トレースの取得方法 ◆現行セッションのトレースを取得する        ALTER SESSION SET TIMED_STATISTICS = TRUE;    ALTER SESSION SET SQL_TRACE = TRUE; ◆データベースインスタンス全体でトレースを開始する    データベースインスタンス全体でトレースを開始するには、init.ora で以下のパラメータを設定する。      timed_statistics = true      sql_trace = true ※timed_statisticsパラメータは「ALTER SYSTEM SET TIMED_STATISTICS = TRUE;」コマンドで設定することも可能です。  sql_traceパラメータは、「ALTER SYSTEM」コマンドで設定することはできません。 ◆特定ユーザのセッションでトレースを開始する    EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(sid, SERIAL#, TRUE); **現行セッションのトレースを取得する例 ◆現行セッションのトレースを開始する SQL> ALTER SESSION SET TIMED_STATISTICS = TRUE; セッションが変更されました。 SQL> ALTER SESSION SET SQL_TRACE = TRUE; セッションが変更されました。 ◆ SQL文を実行する SQL> SELECT * FROM EMP ORDER BY EMPNO; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 80-12-17 800 20 7499 ALLEN SALESMAN 7698 81-02-20 1600 300 30 7521 WARD SALESMAN 7698 81-02-22 1250 500 30 ・ ・ ・ 7934 MILLER CLERK 7782 82-01-23 1300 10 14行が選択されました。 SQL> SELECT * FROM EMP WHERE EMPNO = 7788; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------- ---------- ---------- ---------- 7788 SCOTT ANALYST 7566 87-04-19 3000 20 SQL> ◆トレースファイルの確認 コマンドプロンプト E:\oracle\admin\GP6450\udump>DIR ドライブ E のボリューム ラベルは ボリューム です ボリューム シリアル番号は XXXX-XXXX です E:\oracle\admin\GP6450\udump のディレクトリ 2003/02/22 17:32 <DIR> . 2003/02/22 17:32 <DIR> .. 2003/02/22 17:34 1,285 ORA01336.TRC 1 個のファイル 1,285 バイト 2 個のディレクトリ 14,128,570,368 バイトの空き領域 E:\oracle\admin\GP6450\udump> ◆TKPROF を使ってトレースファイルを整形する E:\oracle\admin\GP6450\udump>TKPROF ORA01336.TRC A.TXT EXPLAIN=SCOTT2/TIGER TKPROF: Release 8.1.7.0.0 - Production on 土 Feb 22 17:39:41 2003 (c) Copyright 2000 Oracle Corporation. All rights reserved. E:\oracle\admin\GP6450\udump> ◆出力結果の例 A.TXT TKPROF: Release 8.1.7.0.0 - Production on 土 Feb 22 17:39:41 2003 (c) Copyright 2000 Oracle Corporation. All rights reserved. Trace file: ORA01336.TRC Sort options: default ******************************************************************************** count = number of times OCI procedure was executed cpu = cpu time in seconds executing elapsed = elapsed time in seconds executing disk = number of physical reads of buffers from disk query = number of buffers gotten for consistent read current = number of buffers gotten in current mode (usually for update) rows = number of rows processed by the fetch or execute call ******************************************************************************** ALTER SESSION SET SQL_TRACE = TRUE call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 0 0.00 0.00 0 0 0 0 Execute 1 0.01 0.01 0 0 0 0 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 1 0.01 0.01 0 0 0 0 Misses in library cache during parse: 0 Optimizer goal: CHOOSE Parsing user id: 43 (SCOTT2) ******************************************************************************** SELECT * FROM EMP ORDER BY EMPNO call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.01 0.01 0 0 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 2 0.00 0.01 1 4 0 14 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 4 0.01 0.02 1 4 0 14 Misses in library cache during parse: 1 Optimizer goal: CHOOSE Parsing user id: 43 (SCOTT2) Rows Row Source Operation ------- --------------------------------------------------- 14 TABLE ACCESS BY INDEX ROWID EMP 15 INDEX FULL SCAN (object id 25260) Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT GOAL: CHOOSE 14 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' 15 INDEX (FULL SCAN) OF 'PK_EMP' (UNIQUE) ******************************************************************************** SELECT * FROM EMP WHERE EMPNO = 7788 call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.00 0 0 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 2 0.00 0.00 0 2 0 1 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 4 0.00 0.00 0 2 0 1 Misses in library cache during parse: 1 Optimizer goal: CHOOSE Parsing user id: 43 (SCOTT2) Rows Execution Plan ------- --------------------------------------------------- 0 SELECT STATEMENT GOAL: CHOOSE 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' 0 INDEX (UNIQUE SCAN) OF 'PK_EMP' (UNIQUE) ******************************************************************************** OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 2 0.01 0.01 0 0 0 0 Execute 3 0.01 0.01 0 0 0 0 Fetch 4 0.00 0.01 1 6 0 15 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 9 0.02 0.03 1 6 0 15 Misses in library cache during parse: 2 OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 0 0.00 0.00 0 0 0 0 Execute 0 0.00 0.00 0 0 0 0 Fetch 0 0.00 0.00 0 0 0 0 ------- ------ -------- ---------- ---------- ---------- ---------- ---------- total 0 0.00 0.00 0 0 0 0 Misses in library cache during parse: 0 3 user SQL statements in session. 0 internal SQL statements in session. 3 SQL statements in session. 2 statements EXPLAINed in this session. ******************************************************************************** Trace file: ORA01336.TRC Trace file compatibility: 8.00.04 Sort options: default 0 session in tracefile. 3 user SQL statements in trace file. 0 internal SQL statements in trace file. 3 SQL statements in trace file. 3 unique SQL statements in trace file. 2 SQL statements EXPLAINed using schema: SCOTT2.prof$plan_table Default table was used. Table was created. Table was dropped. 25 lines in trace file. **特定ユーザのセッションでトレースを取得する例 ◆ 権限の付与とシノニムの作成 Oracle SQL*Plus SQL> CONNECT SYS/CHANGE_ON_INSTALL 接続されました。 SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSTEM; 権限付与が成功しました。 SQL> CREATE PUBLIC SYNONYM DBMS_SYSTEM FOR SYS.DBMS_SYSTEM; シノニムが作成されました。 SQL> ◆ユーザのセッションID(sid)とシリアル番号(serial#)を取得する Oracle SQL*Plus SQL> CONNECT SYSTEM/MANAGER@GP6450 接続されました。 SQL> SELECT SID, STATUS, 2 SUBSTR(USERNAME, 1, 8) USERNAME, 3 SUBSTR(SCHEMANAME, 1, 8) SCHEMANAME, 4 SUBSTR(OSUSER, 1, 16) OSUSER, 5 SUBSTR(MACHINE, 1, 16) MACHINE, 6 SUBSTR(PROGRAM, 1, 16) PROGRAM, 7 SERIAL# 8 FROM V$SESSION 9 WHERE USERNAME IS NOT NULL 10 ORDER BY SID; SID STATUS USERNAME SCHEMANAME OSUSER MACHINE PROGRAM SERIAL# ---------- -------- ---------------- ---------------- -------------------------------- ---------------- ---------------- -------------------------------- ---------- 11 ACTIVE SYSTEM SYSTEM GP6450\USER01 WORKGROUP\GP6450 SQLPLUSW.EXE 1819 14 INACTIVE SCOTT2 SCOTT2 GP6450\USER01 WORKGROUP\GP6450 SQLPLUSW.EXE 4723 SQL> ◆ 特定ユーザのセッションでトレースを開始する Oracle SQL*Plus SQL> EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(14, 4723, TRUE); PL/SQLプロシージャが正常に完了しました。 SQL>

表示オプション

横に並べて表示:
変化行の前後のみ表示:
人気記事ランキング
目安箱バナー