Вы находитесь на странице: 1из 4

SQL>select sql_id,CHILD_NUMBER,sql_text from v$sql where sql_text like 'select *%';

SQL> show parameter user_dump

SQL> show parameter user_dump

NAME TYPE VALUE


------------------------------------ ----------- ------------------------------
user_dump_dest string /oracle/base/diag/rdbms/oradb/
ORADB/trace

SQL> ALTER SESSION SET tracefile_identifier=SVS;

Session altered.

SQL> ALTER SESSION SET SQL_TRACE=TRUE;

Session altered.

SQL> SELECT s.sql_trace, s.sql_trace_waits, s.sql_trace_binds,


traceid, tracefile
FROM v$session s JOIN v$process p ON (p.addr = s.paddr)
WHERE audsid = USERENV ('SESSIONID')
2 3 4 5 ;

SQL_TRAC SQL_T SQL_T


-------- ----- -----
TRACEID
--------------------------------------------------------------------------------
TRACEFILE
--------------------------------------------------------------------------------
DISABLED FALSE FALSE
SVS
/oracle/base/diag/rdbms/oradb/ORADB/trace/ORADB_ora_23292_SVS.trc

SQL> select * from emp;

C1 C2 C3
---------- -- ----------
100 A 1
101 B 2
102 C 3
103 D 4
104 E 5
105 F 6

6 rows selected.

SQL> ALTER SESSION SET SQL_TRACE=FALSE;'

Session altered.

SQL> SELECT s.sql_trace, s.sql_trace_waits, s.sql_trace_binds,


traceid, tracefile
FROM v$session s JOIN v$process p ON (p.addr = s.paddr)
WHERE audsid = USERENV ('SESSIONID') 2 3 4 ;
SQL_TRAC SQL_T SQL_T
-------- ----- -----
TRACEID
--------------------------------------------------------------------------------
TRACEFILE
--------------------------------------------------------------------------------
DISABLED FALSE FALSE
SVS
/oracle/base/diag/rdbms/oradb/ORADB/trace/ORADB_ora_23292_SVS.trc

SQL> !ls -ltr /oracle/base/diag/rdbms/oradb/ORADB/trace/ORADB_ora_23292_SVS.trc


-rw-r----- 1 oracle oinstall 81417 Apr 7 17:27
/oracle/base/diag/rdbms/oradb/ORADB/trace/ORADB_ora_23292_SVS.trc

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 -
Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@PT-DB ~]$ tjkprof
Usage: tkprof tracefile outputfile [explain= ] [table= ]
[print= ] [insert= ] [sys= ] [sort= ]
table=schema.tablename Use 'schema.tablename' with 'explain=' option.
explain=user/password Connect to ORACLE and issue EXPLAIN PLAN.
print=integer List only the first 'integer' SQL statements.
aggregate=yes|no
insert=filename List SQL statements and data inside INSERT statements.
sys=no TKPROF does not list SQL statements run as user SYS.
record=filename Record non-recursive statements found in the trace file.
waits=yes|no Record summary for any wait events found in the trace file.
sort=option Set of zero or more of the following sort options:
prscnt number of times parse was called
prscpu cpu time parsing
prsela elapsed time parsing
prsdsk number of disk reads during parse
prsqry number of buffers for consistent read during parse
prscu number of buffers for current read during parse
prsmis number of misses in library cache during parse
execnt number of execute was called
execpu cpu time spent executing
exeela elapsed time executing
exedsk number of disk reads during execute
exeqry number of buffers for consistent read during execute
execu number of buffers for current read during execute
exerow number of rows processed during execute
exemis number of library cache misses during execute
fchcnt number of times fetch was called
fchcpu cpu time spent fetching
fchela elapsed time fetching
fchdsk number of disk reads during fetch
fchqry number of buffers for consistent read during fetch
fchcu number of buffers for current read during fetch
fchrow number of rows fetched
userid userid of user that parsed the cursor

[oracle@PT-DB ~]$ tkprof


/oracle/base/diag/rdbms/oradb/ORADB/trace/ORADB_ora_23292_SVS.trc trc.out

TKPROF: Release 11.2.0.3.0 - Development on Thu Apr 7 17:31:24 2016


Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

---------------------------------------------------------------------------------
trcsess output=/home/oracle/b.txt module=SQL*Plus *MYDB.trc *SVS.trc

EXEC DBMS_MONITOR.session_trace_enable (session_id => 49,serial_num => 2471,waits


=> FALSE,binds => TRUE);

EXECUTE dbms_monitor.session_trace_disable();
--------------------------------------------------------

#1.how to check sql is running first time?

select sid,serial#,username,status,PROGRAM from v$session where username='SCOTT';

select sid,serial#,username,status,sql_id from v$session where username='SCOTT';

select sid,serial#,username,status,PROGRAM,MACHINE from v$session where


username='SCOTT';

SQL>select sql_id,CHILD_NUMBER,sql_text from v$sql where sql_text like 'select *%';

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
----------------------------------------------------------
69 recursive calls
0 db block gets
91 consistent gets
0 physical reads
0 redo size
1630 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
6 sorts (memory)
0 sorts (disk)
14 rows processed

===
explain plan for
select e.ename,r.rname
from employees e
join roles r on (r.id = e.role_id)
join departments d on (d.id = e.dept_id)
where e.staffno <= 10
and d.dname in ('Department Name 1','Department Name 2');

SELECT * FROM table(DBMS_XPLAN.DISPLAY (FORMAT=>'ALL +OUTLINE'));

SELECT * FROM TABLE(dbms_xplan.display_awr('24033vh7b098h'));

SELECT * FROM TABLE(dbms_xplan.display_cursor('cpm9ss48qd32f'));

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('6kd5fkqdjb8fu',0,'TYPICAL'));

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('6kd5fkqdjb8fu',0,'ALL'));

Вам также может понравиться