Session Statistics--Session I/O By User

Here are some scripts related to Session Statistics .

Session I/O By User

SESSION I/O BY USER NOTES:

Username - Name of the Oracle process user OS User - Name of the operating system user PID - Process ID of the session SID - Session ID of the session Serial# - Serial# of the session Physical Reads - Physical reads for the session Block Gets - Block gets for the session Consistent Gets - Consistent gets for the session Block Changes - Block changes for the session Consistent Changes - Consistent changes for the session

 

select	nvl(ses.USERNAME,'ORACLE PROC') username,
	OSUSER os_user,
	PROCESS pid,
	ses.SID sid,
	SERIAL#,
	PHYSICAL_READS,
	BLOCK_GETS,
	CONSISTENT_GETS,
	BLOCK_CHANGES,
	CONSISTENT_CHANGES
from	v$session ses, 
	v$sess_io sio
where 	ses.SID = sio.SID
order 	by PHYSICAL_READS, ses.USERNAME

CPU Usage By Session

CPU USAGE BY SESSION NOTES:

Username - Name of the user SID - Session id CPU Usage - CPU centiseconds used by this session (divide by 100 to get real CPU seconds)

 

select 	nvl(ss.USERNAME,'ORACLE PROC') username,
	se.SID,
	VALUE cpu_usage
from 	v$session ss, 
	v$sesstat se, 
	v$statname sn
where  	se.STATISTIC# = sn.STATISTIC#
and  	NAME like '%CPU used by this session%'
and  	se.SID = ss.SID
order  	by VALUE desc

Resource Usage By User

RESOURCE USAGE BY USER NOTES:

SID - Session ID Username - Name of the user Statistic - Name of the statistic Value - Current value

 

select 	ses.SID,
	nvl(ses.USERNAME,'ORACLE PROC') username,
	sn.NAME statistic,
	sest.VALUE
from 	v$session ses, 
	v$statname sn, 
	v$sesstat sest
where 	ses.SID = sest.SID
and 	sn.STATISTIC# = sest.STATISTIC#
and 	sest.VALUE is not null
and 	sest.VALUE != 0            
order 	by ses.USERNAME, ses.SID, sn.NAME

Session Stats By Session

SESSION STAT NOTES:

Username - Name of the user SID - Session ID Statistic - Name of the statistic Usage - Usage according to Oracle

 

select  nvl(ss.USERNAME,'ORACLE PROC') username,
	se.SID,
	sn.NAME stastic,
	VALUE usage
from 	v$session ss, 
	v$sesstat se, 
	v$statname sn
where  	se.STATISTIC# = sn.STATISTIC#
and  	se.SID = ss.SID
and	se.VALUE > 0
order  	by sn.NAME, se.SID, se.VALUE desc

Cursor Usage By Session

CURSOR USAGE BY SESSION NOTES:

Username - Name of the user Recursive Calls - Total number of recursive calls Opened Cursors - Total number of opened cursors Current Cursors - Number of cursor currently in use

 

select 	user_process username,
	"Recursive Calls",
	"Opened Cursors",
	"Current Cursors"
from  (
	select 	nvl(ss.USERNAME,'ORACLE PROC')||'('||se.sid||') ' user_process, 
			sum(decode(NAME,'recursive calls',value)) "Recursive Calls",
			sum(decode(NAME,'opened cursors cumulative',value)) "Opened Cursors",
			sum(decode(NAME,'opened cursors current',value)) "Current Cursors"
	from 	v$session ss, 
		v$sesstat se, 
		v$statname sn
	where 	se.STATISTIC# = sn.STATISTIC#
	and 	(NAME  like '%opened cursors current%'
	or 	 NAME  like '%recursive calls%'
	or 	 NAME  like '%opened cursors cumulative%')
	and 	se.SID = ss.SID
	and 	ss.USERNAME is not null
	group 	by nvl(ss.USERNAME,'ORACLE PROC')||'('||se.SID||') '
)
orasnap_user_cursors
order 	by USER_PROCESS,"Recursive Calls"

User Hit Ratios

USER HIT RATIO NOTES:

Username - Name of the user Consistent Gets - The number of accesses made to the block buffer to retrieve data in a consistent mode. DB Blk Gets - The number of blocks accessed via single block gets (i.e. not through the consistent get mechanism). Physical Reads - The cumulative number of blocks read from disk.

 

Logical reads are the sum of consistent gets and db block gets. The db block gets statistic value is incremented when a block is read for update and when segment header blocks are accessed. Hit ratio should be > 90%

 

select	USERNAME,
	CONSISTENT_GETS,
        BLOCK_GETS,
        PHYSICAL_READS,
        ((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS)) Ratio
from 	v$session, v$sess_io
where 	v$session.SID = v$sess_io.SID
and 	(CONSISTENT_GETS+BLOCK_GETS) > 0
and 	USERNAME is not null
order	by ((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章