Session Statistics--Session I/O By User

来源:互联网 发布:linux操作系统教程pdf 编辑:程序博客网 时间:2024/05/22 06:29

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

     

    selectnvl(ses.USERNAME,'ORACLE PROC') username,OSUSER os_user,PROCESS pid,ses.SID sid,SERIAL#,PHYSICAL_READS,BLOCK_GETS,CONSISTENT_GETS,BLOCK_CHANGES,CONSISTENT_CHANGESfromv$session ses, v$sess_io siowhere ses.SID = sio.SIDorder 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_usagefrom v$session ss, v$sesstat se, v$statname snwhere  se.STATISTIC# = sn.STATISTIC#and  NAME like '%CPU used by this session%'and  se.SID = ss.SIDorder  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.VALUEfrom v$session ses, v$statname sn, v$sesstat sestwhere ses.SID = sest.SIDand sn.STATISTIC# = sest.STATISTIC#and sest.VALUE is not nulland 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 usagefrom v$session ss, v$sesstat se, v$statname snwhere  se.STATISTIC# = sn.STATISTIC#and  se.SID = ss.SIDandse.VALUE > 0order  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 snwhere 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.SIDand ss.USERNAME is not nullgroup by nvl(ss.USERNAME,'ORACLE PROC')||'('||se.SID||') ')orasnap_user_cursorsorder 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%

     

    selectUSERNAME,CONSISTENT_GETS,        BLOCK_GETS,        PHYSICAL_READS,        ((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS)) Ratiofrom v$session, v$sess_iowhere v$session.SID = v$sess_io.SIDand (CONSISTENT_GETS+BLOCK_GETS) > 0and USERNAME is not nullorderby ((CONSISTENT_GETS+BLOCK_GETS-PHYSICAL_READS) / (CONSISTENT_GETS+BLOCK_GETS))
  • 原创粉丝点击