分析oracle的问题时有时候需要对单个session开启debug,打印出详细信息
查询session
SQL> select a.username,a.sid ,a.serial#,b.spid from v$session a,v$process b where a.paddr=b.addr;
USERNAME SID SERIAL# SPID
------------------------------ ---------- ---------- ------------------------
2 1 4213
3 1 4215
4 1 4219
5 1 4221
6 1 4223
7 1 4225
8 1 4227
9 1 4229
10 1 4231
11 1 4233
12 1 4235
USERNAME SID SERIAL# SPID
------------------------------ ---------- ---------- ------------------------
13 1 4237
14 1 4239
15 1 4241
16 1 4243
ZRD 38 150 639
20 2 4280
26 3 4296
23 19 4350
22 42 31950
ZRD 37 53 32721
SYS 39 307 1384
USERNAME SID SERIAL# SPID
------------------------------ ---------- ---------- ------------------------
ZRD 40 49 32717
43 554 1400
1 409 1402
33 2 4313
34 13 4315
27 rows selected.
可以看到有些是没有username,这些是oracle后台进程
ps -ef | grep oracle对比
$ ps -ef | grep oracle | grep "ora_"
oracle 1540 1 0 21:48 ? 00:00:00 ora_j000_orcl
oracle 1542 1 0 21:48 ? 00:00:00 ora_j001_orcl
oracle 4213 1 0 16:41 ? 00:00:00 ora_pmon_orcl
oracle 4215 1 0 16:41 ? 00:00:00 ora_vktm_orcl
oracle 4219 1 0 16:41 ? 00:00:00 ora_gen0_orcl
oracle 4221 1 0 16:41 ? 00:00:00 ora_diag_orcl
oracle 4223 1 0 16:41 ? 00:00:00 ora_dbrm_orcl
oracle 4225 1 0 16:41 ? 00:00:00 ora_psp0_orcl
oracle 4227 1 0 16:41 ? 00:00:00 ora_dia0_orcl
oracle 4229 1 0 16:41 ? 00:00:00 ora_mman_orcl
oracle 4231 1 0 16:41 ? 00:00:01 ora_dbw0_orcl
oracle 4233 1 0 16:41 ? 00:00:02 ora_lgwr_orcl
oracle 4235 1 0 16:41 ? 00:00:06 ora_ckpt_orcl
oracle 4237 1 0 16:41 ? 00:00:00 ora_smon_orcl
oracle 4239 1 0 16:41 ? 00:00:00 ora_reco_orcl
oracle 4241 1 0 16:41 ? 00:00:00 ora_mmon_orcl
oracle 4243 1 0 16:41 ? 00:00:00 ora_mmnl_orcl
oracle 4245 1 0 16:41 ? 00:00:00 ora_d000_orcl
oracle 4247 1 0 16:41 ? 00:00:00 ora_s000_orcl
oracle 4280 1 0 16:41 ? 00:00:00 ora_qmnc_orcl
oracle 4296 1 0 16:41 ? 00:00:00 ora_cjq0_orcl
oracle 4313 1 0 16:41 ? 00:00:00 ora_q000_orcl
oracle 4315 1 0 16:41 ? 00:00:00 ora_q001_orcl
oracle 4350 1 0 16:46 ? 00:00:00 ora_smco_orcl
oracle 31950 1 0 18:06 ? 00:00:00 ora_w000_orcl
筛选掉oracle后台进程,修改sql:
SQL> select a.username,a.sid ,a.serial#,b.spid from v$session a,v$process b where a.paddr=b.addr and a.username is not null;
USERNAME SID SERIAL# SPID
------------------------------ ---------- ---------- ------------------------
ZRD 38 150 639
ZRD 37 53 32721
SYS 39 307 1384
ZRD 40 49 32717
SYS 1 439 1475
查看当前session的进程
SQL> select sid from v$mystat where rownum=1;
SID
----------
39
SQL> select pid, spid from v$process p, v$session s where p.addr = s.paddr and s.sid=39;
PID SPID
---------- ------------------------
25 1384
可以改写为:
select pid, spid from v$process p, v$session s where p.addr = s.paddr and s.sid=(select sid from v$mystat where rownum=1);
oracle session 打dump开启debug分析步骤:
oradebug setospid $sid
oradebug unlimit
oradebug dump processstate 10
oradebug tracefile_name
获取帮助信息
SQL> oradebug help
HELP [command] Describe one or all commands
SETMYPID Debug current process
SETOSPID <ospid> Set OS pid of process to debug
SETORAPID <orapid> ['force'] Set Oracle pid of process to debug
SETORAPNAME <orapname> Set Oracle process name to debug
SHORT_STACK Get abridged OS stack
CURRENT_SQL Get current SQL
DUMP <dump_name> <lvl> [addr] Invoke named dump
DUMPSGA [bytes] Dump fixed SGA
DUMPLIST Print a list of available dumps
EVENT <text> Set trace event in process
SESSION_EVENT <text> Set trace event in session
DUMPVAR <p|s|uga> <name> [level] Print/dump a fixed PGA/SGA/UGA variable
DUMPTYPE <address> <type> <count> Print/dump an address with type info
SETVAR <p|s|uga> <name> <value> Modify a fixed PGA/SGA/UGA variable
PEEK <addr> <len> [level] Print/Dump memory
POKE <addr> <len> <value> Modify memory
WAKEUP <orapid> Wake up Oracle process
SUSPEND Suspend execution
RESUME Resume execution
FLUSH Flush pending writes to trace file
CLOSE_TRACE Close trace file
TRACEFILE_NAME Get name of trace file
LKDEBUG Invoke global enqueue service debugger
NSDBX Invoke CGS name-service debugger
-G <Inst-List | def | all> Parallel oradebug command prefix
-R <Inst-List | def | all> Parallel oradebug prefix (return output
SETINST <instance# .. | all> Set instance list in double quotes
SGATOFILE <SGA dump dir> Dump SGA to file; dirname in double quotes
DMPCOWSGA <SGA dump dir> Dump & map SGA as COW; dirname in double quotes
MAPCOWSGA <SGA dump dir> Map SGA as COW; dirname in double quotes
HANGANALYZE [level] [syslevel] Analyze system hang
FFBEGIN Flash Freeze the Instance
FFDEREGISTER FF deregister instance from cluster
FFTERMINST Call exit and terminate instance
FFRESUMEINST Resume the flash frozen instance
FFSTATUS Flash freeze status of instance
SKDSTTPCS <ifname> <ofname> Helps translate PCs to names
WATCH <address> <len> <self|exist|all|target> Watch a region of memory
DELETE <local|global|target> watchpoint <id> Delete a watchpoint
SHOW <local|global|target> watchpoints Show watchpoints
DIRECT_ACCESS <set/enable/disable command | select query> Fixed table access
CORE Dump core without crashing process
IPC Dump ipc information
UNLIMIT Unlimit the size of the trace file
PROCSTAT Dump process statistics
CALL [-t count] <func> [arg1]...[argn] Invoke function with arguments
oracle 查看执行计划方法:
A.PL/SQL 工具,选择对应SQL F5即可查看执行计划
B.命令行进行查看
1.explain plan for 命令
2.dbms_xplan 包查看
3.sqlplus 中使用 set autotrace
4.10046事件
5.10053事件
6.awr报告
7.其他
1.explain plan
explain plan for + SQL语句
select * from table(dbms_xplan.display)
dbmsx_xplan解析SQL的执行计划,先将执行步骤写入plan_table$,dbms_xplan.display 是将plan_table$中数据格式化显示
dbms_xplan.display查看的每个session私有的对象,即每个session写入table_table$对象是独立的,并不相互影响。
例如:
SQL> explain plan for select * from ntts where account='408050';
Explained.
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 742887497
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 51 | 1504 (1)| 00:00:19 |
|* 1 | TABLE ACCESS FULL| NTTS | 1 | 51 | 1504 (1)| 00:00:19 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
1 - filter("ACCOUNT"='408050')
13 rows selected.
SQL>
验证隔离如下:
SQL> explain plan for select * from ntts where account='408050';
Explained.
SQL> select count(*) from sys.plan_table$;
COUNT(*)
----------
4
SQL>
SQL> select pid, spid from v$process p, v$session s where p.addr = s.paddr and s.sid=(select sid from v$mystat where rownum=1);
PID SPID
---------- ------------------------
25 1714
新开一个session
SQL> select pid, spid from v$process p, v$session s where p.addr = s.paddr and s.sid=(select sid from v$mystat where rownum=1);
PID SPID
---------- ------------------------
27 1783
SQL> explain plan for select * from ntts where account='408050';
Explained.
SQL> select count(*) from sys.plan_table$;
COUNT(*)
----------
2
不同session的plan_table$的记录数量不一致,因此不同session之间是互相隔离的
2.dbms_xplan
select * from table(dbms_xplan.display)
select * from table(dbms_xplan.display_cursor(null,null,’advanced’));
select * from table(dbms_xplan.display_cursor(‘sql_id/hash_value’,child_cursor_number,’advanced’))
select * from table(dbms_xplan.display_awr(‘sql_id’))
1.select * from table(dbms_xplan.display)需要与explain plan for配合使用
2.select * from table(dbms_xplan.display_cursor(null,null,’advanced’));
或select * from table(dbms_xplan.display_cursor(null,null,’all’));
显示结果略有不同
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20
....
14 rows selected.
SQL> select * from table(dbms_xplan.display_cursor(null,null,'advanced'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID ggqns3c1jz86c, child number 0
-------------------------------------
select * from scott.emp
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 3 (100)| |
| 1 | TABLE ACCESS FULL| EMP | 14 | 532 | 3 (0)| 00:00:01 |
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
--------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$1 / EMP@SEL$1
Outline Data
-------------
/*+
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
DB_VERSION('11.2.0.1')
ALL_ROWS
OUTLINE_LEAF(@"SEL$1")
FULL(@"SEL$1" "EMP"@"SEL$1")
END_OUTLINE_DATA
*/
Column Projection Information (identified by operation id):
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
-----------------------------------------------------------
1 - "EMP"."EMPNO"[NUMBER,22], "EMP"."ENAME"[VARCHAR2,10],
"EMP"."JOB"[VARCHAR2,9], "EMP"."MGR"[NUMBER,22],
"EMP"."HIREDATE"[DATE,7], "EMP"."SAL"[NUMBER,22],
"EMP"."COMM"[NUMBER,22], "EMP"."DEPTNO"[NUMBER,22]
40 rows selected.
SQL>
SQL> select * from table(dbms_xplan.display_cursor(null,null,'all'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID fv0v1agrdrjkv, child number 1
-------------------------------------
select * from table(dbms_xplan.display_cursor(null,null,'advanced'))
Plan hash value: 3713220770
--------------------------------------------------------------------------------
--------------------
| Id | Operation | Name | Rows | Bytes | Cos
t (%CPU)| Time |
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------
| 0 | SELECT STATEMENT | | | |
29 (100)| |
| 1 | COLLECTION ITERATOR PICKLER FETCH| DISPLAY_CURSOR | 80 | 160 |
29 (0)| 00:00:01 |
--------------------------------------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
--------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$4A78348A / KOKBF$@SEL$E112F6F0
Column Projection Information (identified by operation id):
-----------------------------------------------------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
1 - VALUE(A0)[300]
Note
-----
- cardinality feedback used for this statement
27 rows selected.
SQL>
3.select * from table(dbms_xplan.display_cursor(‘sql_id/hash_value’,child_cursor_number,’advanced’))
需要知道sql_id或者hash值
使用v$sql查看sql_id
select * from ntts asd where asd.account='408050' and asd.userid='10000000557720'
select SQL_TEXT,SQL_ID,HASH_VALUE,CHILD_NUMBER from v$sql where sql_text like '%where asd.account%'
查找到如下记录:
select * from ntts asd where asd.account='408050' and asd.userid='10000000557720' 5yt2dzpnhz1x7 1762625447 0
传入需要的参数:
select * from table(dbms_xplan.display_cursor(‘5yt2dzpnhz1x7’,0,’advanced’))
SQL> select * from table(dbms_xplan.display_cursor('5yt2dzpnhz1x7',0,'advanced'));
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID 5yt2dzpnhz1x7, child number 0
-------------------------------------
select * from ntts asd where asd.account='408050' and
asd.userid='10000000557720'
Plan hash value: 742887497
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 1504 (100)| |
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
|* 1 | TABLE ACCESS FULL| NTTS | 1 | 51 | 1504 (1)| 00:00:19 |
--------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$1 / ASD@SEL$1
Outline Data
-------------
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
/*+
BEGIN_OUTLINE_DATA
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('11.2.0.1')
DB_VERSION('11.2.0.1')
ALL_ROWS
OUTLINE_LEAF(@"SEL$1")
FULL(@"SEL$1" "ASD"@"SEL$1")
END_OUTLINE_DATA
*/
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter(("ASD"."ACCOUNT"='408050' AND
"ASD"."USERID"=10000000557720))
Column Projection Information (identified by operation id):
-----------------------------------------------------------
1 - "ASD"."USERID"[NUMBER,22], "ASD"."FULLNAME"[VARCHAR2,127],
"ASD"."ACCOUNT"[VARCHAR2,128], "ASD"."ISLOCK"[NUMBER,22],
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
"ASD"."CREATETIME"[DATE,7], "ASD"."OFFICE_ADDR"[VARCHAR2,255],
"ASD"."MOBILE"[VARCHAR2,100], "ASD"."ISEXPIRED"[NUMBER,22]
47 rows selected.
4.select * from table(dbms_xplan.display_awr(‘sql_id’))
可以查看历史执行计划
select * from table(dbms_xplan.display_awr(‘5yt2dzpnhz1x7’))
SQL> select * from table(dbms_xplan.display_awr('5yt2dzpnhz1x7')) ;
no rows selected
SQL>
说明该sql的执行计划仍然在shared pool中
因此,display_awr查看的是不再shared pool中的记录
3.autotrace
set autotrace off/on/traceonly [explain] [statistics]
set autotrace on显示执行结果以及执行计划
SQL> set autotrace on;
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
.....
14 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 532 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 532 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
8 consistent gets
0 physical reads
0 redo size
1454 bytes sent via SQL*Net to client
419 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
SQL> set autotrace off
SQL>
若只想查看执行计划可使用traceonly
SQL> set autotrace traceonly
SQL> select * from scott.emp;
14 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3956160932
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 14 | 532 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMP | 14 | 532 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
8 consistent gets
0 physical reads
0 redo size
1454 bytes sent via SQL*Net to client
419 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
SQL>
4.10046事件与tkprof命令
10046事件级别:
Lv1 - 启用标准的SQL_TRACE功能,等价于SQL_TRACE
Lv4 - Level 1 + 绑定值(bind values)
Lv8 - Level 1 + 等待事件跟踪
Lv12 - Level 1 + Level 4 + Level 8
一般使用12
在session级别开启10046
开启:
SQL> alter session set events ‘10046 trace name context forever, level 12’;
或
SQL> oradebug event 10046 trace name context forever, level 12
关闭:
SQL> alter session set events ‘10046 trace name context off’;
或
SQL> oradebug event 10046 trace name context off
使用alter session需要找到对应的trace文件,
当前的id
select * from v$mystat where rownum=1;
SELECT tracefile FROM v$process WHERE addr IN (SELECT paddr FROM v$session WHERE sid='xxx');
然后使用tkprof 源文件 目标文件进行格式化转换
SQL> alter session set events '10046 trace name context forever, level 12';
Session altered.
SQL> select * from ntts asd where asd.account='408050' and asd.userid='10000000557720';
USERID
----------
FULLNAME
.....
SQL> alter session set events '10046 trace name context off';
Session altered.
SQL> select * from v$mystat where rownum=1;
SID STATISTIC# VALUE
---------- ---------- ----------
32 0 0
SQL> SELECT tracefile FROM v$process WHERE addr IN (SELECT paddr FROM v$session WHERE sid='32');
TRACEFILE
--------------------------------------------------------------------------------
/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2229.trc
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@oratest trace]$ more /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2229.trc
.....
WAIT #2: nam='SQL*Net message to client' ela= 3 driver id=1650815232 #bytes=1 p3=0 obj#=-1 tim=1498145254597285
*** 2017-06-22 23:27:44.760
WAIT #2: nam='SQL*Net message from client' ela= 10162358 driver id=1650815232 #bytes=1 p3=0 obj#=-1 tim=1498145264760084
CLOSE #2:c=0,e=5,dep=0,type=1,tim=1498145264760156
=====================
PARSING IN CURSOR #3 len=81 dep=0 uid=91 oct=3 lid=91 tim=1498145264760298 hv=1447932931 ad='38cbc3a0' sqlid='9t23h8pb4vd03'
select * from ntts asd where asd.account='408050' and asd.userid='10000000557720'
END OF STMT
PARSE #3:c=0,e=117,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=742887497,tim=1498145264760295
EXEC #3:c=0,e=47,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=742887497,tim=1498145264760386
WAIT #3: nam='SQL*Net message to client' ela= 3 driver id=1650815232 #bytes=1 p3=0 obj#=-1 tim=1498145264760424
WAIT #3: nam='Disk file operations I/O' ela= 24 FileOperation=2 fileno=4 filetype=2 obj#=-1 tim=1498145264761026
WAIT #3: nam='direct path read' ela= 103 file number=4 first dba=563 block cnt=5 obj#=74909 tim=1498145264764487
WAIT #3: nam='direct path read' ela= 71 file number=4 first dba=57768 block cnt=8 obj#=74909 tim=1498145264764707
FETCH #3:c=3000,e=4299,p=13,cr=4,cu=0,mis=0,r=1,dep=0,og=1,plh=742887497,tim=1498145264764741
WAIT #3: nam='SQL*Net message from client' ela= 232 driver id=1650815232 #bytes=1 p3=0 obj#=74909 tim=1498145264765052
WAIT #3: nam='direct path read' ela= 92 file number=4 first dba=57777 block cnt=15 obj#=74909 tim=1498145264765236
WAIT #3: nam='direct path read' ela= 149 file number=4 first dba=57793 block cnt=15 obj#=74909 tim=1498145264765423
WAIT #3: nam='direct path read' ela= 112 file number=4 first dba=57809 block cnt=15 obj#=74909 tim=1498145264765594
WAIT #3: nam='direct path read' ela= 106 file number=4 first dba=57825 block cnt=15 obj#=74909 tim=1498145264765832
....
tkprof 转换
$ tkprof /oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2229.trc /tmp/ora_sql.trc
cat /tmp/ora_sql.trc查看
TKPROF: Release 11.2.0.1.0 - Development on Thu Jun 22 23:31:30 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
********************************************************************************
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
********************************************************************************
SQL ID: 9t23h8pb4vd03
Plan Hash: 742887497
select *
from
ntts asd where asd.account='408050' and asd.userid='10000000557720'
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.04 0.04 5427 5433 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 4 0.04 0.04 5427 5433 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 91
Rows Row Source Operation
------- ---------------------------------------------------
1 TABLE ACCESS FULL NTTS (cr=5433 pr=5427 pw=0 time=0 us cost=1504 size=51 card=1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
Disk file operations I/O 1 0.00 0.00
direct path read 178 0.00 0.02
SQL*Net message from client 2 6.34 6.34
********************************************************************************
SQL ID: 06nvwn223659v
Plan Hash: 0
alter session set events '10046 trace name context off'