ʹÓÃOracleµÄTkprof¹¤¾ß
ÔÎĵØÖ·£ºhttp://space.itpub.net/12330444/viewspace-249140
¹ØÓÚtkprofµÄÏêϸʹÓÃÇé¿ö¿ÉÔÚoracle10gÁª»úÎĵµPerformance Tuning GuideÖÐÕÒµ½¡£
TkprofÊÇÒ»¸ö·ÖÎöORACLE¸ú×ÙÎļþ²¢ÇÒ²úÉúÒ»¸ö¸ü¼ÓÈËÐÔ»¯ÇåÎúµÄÊä³ö½á¹ûµÄ¿ÉÖ´Ðй¤¾ß£»¿ÉÓÃÀ´¸ñʽ»¯sql trace²úÉúµÄÎļþ£¬ÈÃÄã¸üÈÝÒ׿´¶®traceµÄÄÚÈÝ¡£
Tkprof´æ·ÅλÖãºC:\oracle\ora92\bin\tkprof.exe£»
TkprofÈ«³Æ£ºtool kit profiler trace kernel profiler
Ó÷¨£º
Tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ]
²ÎÊý˵Ã÷£º
tracefile£º ÄãÒª·ÖÎöµÄtraceÎļþ
outputfile£º ¸ñʽ»¯ºóµÄÎļþ
explain=user/password@connectstring
table=schema.tablename
ÕâÁ½¸ö²ÎÊýÊÇÒ»ÆðʹÓõģ¬Í¨¹ýÁ¬½ÓÊý¾Ý¿â¶ÔÔÚtraceÎļþÖгöÏÖµÄÿÌõsqlÓï¾ä²é¿´Ö´Ðмƻ®£¬²¢½«Ö®Êä³öµ½outputfileÖС£
×¢Ò⣬¸Ãtable±ØÐëÊÇÊý¾Ý¿âÖв»´æÔڵģ¬Èç¹û´æÔڻᱨ´í¡£
print=n£º Ö»Áгö×î³õN¸ösqlÖ´ÐÐÓï¾ä
insert=filename£º »á²úÉúÒ»¸ösqlÎļþ£¬ÔËÐдËÎļþ¿É½«ÊÕ¼¯µ½µÄÊý¾Ýinsertµ½Êý¾Ý¿â±íÖÐ
sys=no£º ¹ýÂ˵ôÓÉsysÖ´ÐеÄÓï¾ä
record=filename£º ¿É½«·ÇǶÌ×Ö´ÐеÄsqlÓï¾ä¹ýÂ˵½Ö¸¶¨µÄÎļþÖÐÈ¥
waits=yes|no£º ÊÇ·ñͳ¼ÆÈκεȴýʼþ
aggregate=yes|no£º ÊÇ·ñ½«ÏàͬsqlÓï¾äµÄÖ´ÐÐÐÅÏ¢ºÏ¼ÆÆðÀ´£¬Ä¬ÈÏΪyes
sort=option£ºÉèÖÃÅÅÐòÑ¡ÏѡÏîÈçÏ£º
prscntnumber of times parse was called
prscpucpu time parsing
prselaelapsed time parsing
prsdsknumber of disk reads during parse
prsqrynumber of buffers for consistent read during parse
prscu number of buffers for current read during parse
prsmisnumber of misses in library cache during parse
execntnumber of execute was called
execpucpu time spent executing
exeelaelapsed time executing
exedsknumber of disk reads during execute
exeqrynumber of buffers for consistent read during execute
execu number of buffers for c
Ïà¹ØÎĵµ£º
extent--×îС¿Õ¼ä·ÖÅ䵥λ --tablespace management
block --×îСi/oµ¥Î» --segment management
create tablespace james
datafile '/export/home/oracle/oradata/james.dbf'
size 100M ¡¡¡¡¡¡¡¡¡¡¡¡--³õʼµÄÎļþ´óС¡¡
autoextend On¡¡¡¡¡¡¡¡ --×Ô¶¯Ôö³¤
next 10M¡ ......
-- ²éѯij±íµÄÊý¾Ý×Öµä
SELECT A.TABLE_NAME AS "±íÃû",A.COLUMN_NAME AS "×Ö¶ÎÃû",
DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),
A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as "×Ö¶ÎÀàÐÍ1",A.DATA_TYPE AS "×Ö¶Î ......
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯
Æ÷ÖÐÓÐЧ)£º
Oracle
µÄ
½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving
table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£¼ÙÈçÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ,
ÄÇ¾Í ......
-- create by zh
-- n ÊÇ×÷ÎïµÄʱ¼ä,x ÊÇÏ£ÍûÔÚ¼¸µã³ÉÊì,·µ»Ø²¥ÖÖµÄʱ¼ä
with t as
(
select 64 n,9 x from dual union all
select 64 n,13 x from dual union all
select 64 n,17 x from dual union all
select 64 n,20 x from dual
)
select '³ÉÊìʱ¼ä:' || lpad(to_char(n),4,' ' ......
ºÜ¶àʱºò£¬¶ÔÊý¾Ý¿â½øÐÐÐÔÄÜÕï¶Ï¿ÉÒÔʹÓÃSQL¸ú×ٵķ½·¨£¬°ÑһЩÐÅÏ¢¼Ç¼ÔÚtraceÎļþÀïÒÔºó·ÖÎö¡£Ò»°ãÇé¿öÏÂÎÒÃÇ¿ÉÒÔͨ¹ý³õʼ»¯²ÎÊýSQL_TRACE=TRUEÀ´ÉèÖÃSQL¸ú×Ù¡£
ÎÒÃÇÒ²¿ÉÒÔͨ¹ýÉèÖÃ10046ʼþÀ´½øÐÐSQL¸ú×Ù£¬²¢ÇÒ¿ÉÒÔÉèÖò»Í¬µÄ¸ú×Ù¼¶±ð£¬±ÈʹÓÃSQL_TRACE»ñµÃ¸ü¶àµÄÐÅÏ¢¡£
Level 0 Í£ÓÃSQL¸ú×Ù£¬Ï൱ÓÚSQL_T ......