R&A Oracle性能诊断 - v$session 与 v$sqlstats 结合查询session及sql统计信息 - 1

1. 查询目前数据库(包括RAC)中: 正在执行的SQL语句,等待事件,运行时间,登陆时长,SID, SERIAL,INST_ID , 
   及 SQL_ID, 子游标号,PLAN_HASH_VALUE,  BLOCKING_SESSION(阻塞session), BLOCKING_INSTANCE, 
   处理行数ROWS_PROCESSED,执行次数EXECUTIONS,IO_INTERCONNECT_BYTES 数据库与存储交换的IO bytes,
   物理读,物理写, 运行程序MODULE .      
   还有自动生成SQL Monitor的语句,KILL SESSION自动生成语句 等。  

SELECT SUBSTR(S.SQL_TEXT, 1, 20) SQL_TEXT, S.SQL_FULLTEXT FULLTEXT, T.EVENT,
       T.CLIENT_INFO,
       ROUND((SYSDATE-T.SQL_EXEC_START)*1440, 2) RUN_MINS, ROUND((SYSDATE-T.LOGON_TIME)*1440, 2) LOGON_MINS,
       --T.SQL_EXEC_START, T.LOGON_TIME,
       T.SID||','||T.SERIAL#||',@'||T.INST_ID SESSION_INFO,
       T.SQL_ID, T.SQL_CHILD_NUMBER, S.PLAN_HASH_VALUE, 
       T.EVENT,
       T.BLOCKING_SESSION BLK_SID, T.BLOCKING_INSTANCE BLK_INST,
       S.ROWS_PROCESSED, S.EXECUTIONS, ROUND(S.IO_INTERCONNECT_BYTES/1024/1024/1024, 2) IO_GB,
       ROUND(S.PHYSICAL_READ_BYTES/1024/1024/1024, 2) READ_GB, ROUND(S.PHYSICAL_WRITE_BYTES/1024/1024/1024, 2) WRITE_GB,
       --(SELECT B.TASK_NAME||'.'||A.BAT_JOB_NAME FROM S_BAT_JOB_INFO@MOIA A, S_TASK_INFO@MOIA B WHERE A.TASK_ID = B.TASK_ID AND A.BAT_ID||'.'||A.JOB_ID = REGEXP_SUBSTR(T.CLIENT_INFO, '[0-9]+[\.]{1}[0-9]+$')) TASK_JOB_NAME,
       T.MODULE, 
       --T.SID, T.SERIAL#, T.INST_ID,       
       --S.ELAPSED_TIME, 
       'SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR('''||T.SQL_ID||''')); --'||S.PLAN_HASH_VALUE PLAN_SQL,
       CASE WHEN T.PROGRAM NOT LIKE 'oracle%' OR T.PROGRAM LIKE '% (J000)'
         THEN 'SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(SQL_ID=>'''||T.SQL_ID||''',SESSION_ID=>'||T.SID||',SESSION_SERIAL=>'||T.SERIAL#||',INST_ID=>'||T.INST_ID||'/*,TYPE=>''ACTIVE'''||'*/) FROM DUAL;'
         END RPT_SQL,
       'ALTER SYSTEM KILL SESSION'''||T.SID||','||T.SERIAL#||',@'||T.INST_ID||''';' KILL_SQL,
       T.*,
       '-----------------------------------------------------' "分隔",
       S.*
  FROM GV$SESSION T, GV$SQLSTATS S

请使用浏览器的分享功能分享到微信等