- 正在執(zhí)行的語句查詢和拼接殺進(jìn)程
SELECT 'alter system kill session '''||b.sid||','||
b.serial#||''';',b.sid oracleID,
b.username Oracle用戶,
b.serial#,
spid 操作系統(tǒng)ID,
paddr,
sql_text 正在執(zhí)行的SQL,
b.machine 計算機(jī)名
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value;
select 'alter system kill session '''||s.sid||','||
s.serial#||''';', l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action
from v$sqlarea a, v$session s, v$locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
order by sid, s.serial#;
select *
from (select sql_text,
buffer_gets,
disk_reads,
sorts,
cpu_time / 1000000 cpu_sec,
executions,
rows_processed
from v$sqlstats
order by cpu_time DESC)
where rownum < 11;
select *
from (select a.sid session_id,
a.sql_id,
a.status,
a.cpu_time / 1000000 cpu_sec,
a.buffer_gets,
a.disk_reads,
b.sql_text sql_text
from v$sql_monitor a, v$sql b
where a.sql_id = b.sql_id
order by a.cpu_time desc)
where rownum <= 20;
select * from (SELECT T.INST_ID,T.SQL_ID,T.LAST_ACTIVE_TIME,T.SQL_PROFILE, --如果該字段有值,就是按固化走執(zhí)行計劃
T.PLAN_HASH_VALUE,T.SQL_FULLTEXT,T.CHILD_NUMBER 執(zhí)行計劃版本號,
TRUNC((T.CPU_TIME/T.EXECUTIONS/1000000),4) 每次CPU時間,TRUNC((T.ELAPSED_TIME-T.CPU_TIME)/T.EXECUTIONS/1000000,4)"每次等待時間",T.EXECUTIONS 總執(zhí)行次數(shù),
--trunc(T.EXECUTIONS/((T.LAST_ACTIVE_TIME-to_date(T.LAST_LOAD_TIME,'yyyy/mm/dd hh24:mi:ss'))*86400)) 平均每秒執(zhí)行次數(shù),
round(t.ROWS_PROCESSED/t.executions,2) 平均返回行數(shù),TRUNC(T.ELAPSED_TIME / T.EXECUTIONS / 1000000,4) "每次執(zhí)行(秒)",
TRUNC((T.BUFFER_GETS / T.EXECUTIONS/1000000),4) 每次邏輯讀,TRUNC((T.DISK_READS / T.EXECUTIONS/1000000),4) 每次物理讀,
TRUNC((t.cluster_wait_time/t.EXECUTIONS/1000000),4) 每次集群等待,TRUNC((t.user_io_wait_time/t.EXECUTIONS/1000000),4) 每次IO等待,
TRUNC((t.application_wait_time/t.EXECUTIONS/1000000),4) 每次應(yīng)用等待,TRUNC((t.concurrency_wait_time/t.EXECUTIONS/1000000),4) 每次并發(fā)等待,
T.FIRST_LOAD_TIME 首次硬解析時間,T.LAST_LOAD_TIME 上次硬解析時間,
t.MODULE,t.ACTION,t.PARSING_SCHEMA_NAME,TRUNC(T.ELAPSED_TIME/1000000,4) "執(zhí)行時間(秒)",
TRUNC(T.CPU_TIME/1000000,4) CPU時間,t.PARSE_CALLS 總解析次數(shù), t.LOADS 硬解析次數(shù), T.BUFFER_GETS,T.CLUSTER_WAIT_TIME,
T.USER_IO_WAIT_TIME,T.APPLICATION_WAIT_TIME,T.CONCURRENCY_WAIT_TIME,T.PLAN_HASH_VALUE
FROM GV$SQL T
where t.EXECUTIONS >0
--and t.sql_id='cjrpgh8gqybs0'
order by t.CPU_TIME desc) xx
where rownum<=20;
SELECT * FROM (
SELECT SQL_FULLTEXT sql,
buffer_gets, executions, buffer_gets/executions "Gets/Exec",
hash_value,address,LAST_ACTIVE_TIME
FROM V$SQLAREA
WHERE buffer_gets > 10000
ORDER BY buffer_gets DESC)
WHERE rownum <= 10 ;
SELECT * FROM (
SELECT SQL_FULLTEXT sql,
disk_reads, executions, disk_reads/executions "Reads/Exec",
hash_value,address,LAST_ACTIVE_TIME
FROM V$SQLAREA
WHERE disk_reads > 1000
ORDER BY disk_reads DESC)
WHERE rownum <= 10 ;
SELECT * FROM (
SELECT substr(sql_text,1,40) sql,SQL_FULLTEXT,
executions, rows_processed, rows_processed/executions "Rows/Exec",
hash_value,address,LAST_ACTIVE_TIME
FROM V$SQLAREA
WHERE executions > 100
ORDER BY executions DESC)
WHERE rownum <= 10 ;
SELECT * FROM (
SELECT substr(sql_text,1,40) sql,
sharable_mem, executions, hash_value,address,LAST_ACTIVE_TIME
FROM V$SQLAREA
WHERE sharable_mem > 1048576
ORDER BY sharable_mem DESC)
WHERE rownum <= 10 ;
select 'alter index '||index_name||' rebuild online;' from user_indexes where status <> 'VALID' and index_name not like'%$$';