 Select cpu_time, elapsed_time
Select cpu_time, elapsed_time From v$sqlarea
From v$sqlarea Order by 2
Order by 2 CPU_TIME ELAPSED_TIME
CPU_TIME ELAPSED_TIME ---------- ------------
---------- ------------ 230000 174567
230000 174567 260000 258803
260000 258803 260000 271808  首先:三行中的第二行顯示出了持續時間小于cpu執行時間,實際的情況是cpu字段記錄單位是微妙級,但是數據被進位保留到了厘秒級。  Sql語句的等待時間等于ELAPSED_TIME減去CPU_TIME,但是很難看到精確的等待時間。在V$SYSTEM_EVENT 視圖中能夠看到數據庫實例級的等待時間(并不是每條Sql語句的),但是看不到發生在操作系統上(cpu等待、內存的等待)的等待時間s。
260000 271808  首先:三行中的第二行顯示出了持續時間小于cpu執行時間,實際的情況是cpu字段記錄單位是微妙級,但是數據被進位保留到了厘秒級。  Sql語句的等待時間等于ELAPSED_TIME減去CPU_TIME,但是很難看到精確的等待時間。在V$SYSTEM_EVENT 視圖中能夠看到數據庫實例級的等待時間(并不是每條Sql語句的),但是看不到發生在操作系統上(cpu等待、內存的等待)的等待時間s。 V$ENQUEUE_STAT
V$ENQUEUE_STAT INST_ID NUMBER
INST_ID NUMBER EQ_TYPE VARCHAR2
EQ_TYPE VARCHAR2 TOTAL_REQ# NUMBER
TOTAL_REQ# NUMBER TOTAL_WAIT# NUMBER
TOTAL_WAIT# NUMBER SUCC_REQ# NUMBER
SUCC_REQ# NUMBER FAILED_REQ# NUMBER
FAILED_REQ# NUMBER CUM_WAIT_TIME NUMBER    V$SYSSTAT的改變
CUM_WAIT_TIME NUMBER    V$SYSSTAT的改變 PARSING IN CURSOR #1 len=29 dep=0 uid=5 oct=3 lid=5 tim=1006862415399006 hv=4384
PARSING IN CURSOR #1 len=29 dep=0 uid=5 oct=3 lid=5 tim=1006862415399006 hv=4384 51932 ad='84b05c04'
51932 ad='84b05c04' select count(*) from tab, tab
select count(*) from tab, tab END OF STMT
END OF STMT PARSE #1:c=10000,e=11334,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=4,tim=1006862415398976
PARSE #1:c=10000,e=11334,p=0,cr=4,cu=0,mis=1,r=0,dep=0,og=4,tim=1006862415398976 BINDS #1:
BINDS #1: EXEC #1:c=0,e=587,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1006862415399931
EXEC #1:c=0,e=587,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1006862415399931 WAIT #1: nam='SQL*Net message to client' ela= 10 p1=1650815232 p2=1 p3=0
WAIT #1: nam='SQL*Net message to client' ela= 10 p1=1650815232 p2=1 p3=0 FETCH #1:c=2500000,e=2526458,p=0,cr=149542,cu=0,mis=0,r=1,dep=0,og=4,tim=1006862
FETCH #1:c=2500000,e=2526458,p=0,cr=149542,cu=0,mis=0,r=1,dep=0,og=4,tim=1006862 417926777
417926777 WAIT #1: nam='SQL*Net message from client' ela= 1004 p1=1650815232 p2=1 p3=0
WAIT #1: nam='SQL*Net message from client' ela= 1004 p1=1650815232 p2=1 p3=0 FETCH #1:c=0,e=6,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=1006862417928426
FETCH #1:c=0,e=6,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=0,tim=1006862417928426 WAIT #1: nam='SQL*Net message to client' ela= 7 p1=1650815232 p2=1 p3=0
WAIT #1: nam='SQL*Net message to client' ela= 7 p1=1650815232 p2=1 p3=0 WAIT #1: nam='SQL*Net message from client' ela= 3636276 p1=1650815232 p2=1 p3=0  注重:時間都是微妙級的,但是這里仍然有一些很有意思的地方:  1. tim= 明顯是微妙級的,這個tim 域給出了一個時間快照
WAIT #1: nam='SQL*Net message from client' ela= 3636276 p1=1650815232 p2=1 p3=0  注重:時間都是微妙級的,但是這里仍然有一些很有意思的地方:  1. tim= 明顯是微妙級的,這個tim 域給出了一個時間快照 select event, total_waits, time_waited
select event, total_waits, time_waited from v$system_event
from v$system_event where event = 'latch free'
where event = 'latch free'
 select name, trunc(sleeps*100/ total, 2) "Perc of Sleeps"
select name, trunc(sleeps*100/ total, 2) "Perc of Sleeps" from v$latch, (select decode(sum(sleeps), 0, 1, sum(sleeps)) total from v$latch)
from v$latch, (select decode(sum(sleeps), 0, 1, sum(sleeps)) total from v$latch) where sleeps != 0    有很多sleeps的鎖存器會顯示為v$system_event的大量等待時間。在Oracle9i由于在v$latch中有了WAIT_TIME字段,所以提供了更準確的信息:
where sleeps != 0    有很多sleeps的鎖存器會顯示為v$system_event的大量等待時間。在Oracle9i由于在v$latch中有了WAIT_TIME字段,所以提供了更準確的信息: select name, trunc(wait_time*100/time_waited, 2) "Perc. of Time Waited"
select name, trunc(wait_time*100/time_waited, 2) "Perc. of Time Waited" from v$latch, (select time_waited from v$system_event where event = 'latch free')
from v$latch, (select time_waited from v$system_event where event = 'latch free') where wait_time != 0
where wait_time != 0 order by 2  還有那些沒有改變?
order by 2  還有那些沒有改變?新聞熱點
疑難解答