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