oracle top sql 性能,oracle TOPSQL整理

转载自:http://www.cnblogs.com/liuweihua/archive/2012/05/05/2484446.html

--top 10 sql

69c5a8ac3fa60e0848d784a6dd461da6.png

SELECT   *

FROM (SELECT   b.username username,

a.disk_reads

/ DECODE (a.executions, 0, 1, a.executions) rds_exec_ratio,

a.sql_text STATEMENT

FROM v$sqlarea a, dba_users b

WHERE a.parsing_user_id = b.user_id AND b.username = 'ZYK'

ORDER BY rds_exec_ratio DESC)

WHERE ROWNUM 

69c5a8ac3fa60e0848d784a6dd461da6.png

1.       识别’低效执行’的SQL语句 用下列SQL工具找出低效SQL:

69c5a8ac3fa60e0848d784a6dd461da6.png

SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,

ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,

ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,

SQL_TEXT

FROM   V$SQLAREA

WHERE  EXECUTIONS>0 AND     BUFFER_GETS > 0 AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS 

69c5a8ac3fa60e0848d784a6dd461da6.png

2.查找单条语句的内存占用率

69c5a8ac3fa60e0848d784a6dd461da6.png

alter system set pga_aggregate_target=10m

alter system set workarea_size_policy=auto;

select distinct * from a where rownum<500000;

select sql_text,operation_type,policy,(last_memory_used/1024/1024),

last_execution,last_tempseg_size

from v$sql i,v$sql_workarea a

where i.hash_value=a.hash_value

and sql_text='select distinct * from a where rownum<500000';

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Buffer Gets:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

buffer_gets, executions, buffer_gets/executions "Gets/Exec",

hash_value,address

FROM V$SQLAREA

WHERE buffer_gets > 10000 ORDER BY buffer_gets DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Physical Reads:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

disk_reads, executions, disk_reads/executions "Reads/Exec",

hash_value,address

FROM V$SQLAREA

WHERE disk_reads > 1000 ORDER BY disk_reads DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Executions:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

executions, rows_processed, rows_processed/executions "Rows/Exec",

hash_value,address

FROM V$SQLAREA

WHERE executions > 100 ORDER BY executions DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Parse Calls:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

parse_calls, executions, hash_value,address

FROM V$SQLAREA

WHERE parse_calls > 1000 ORDER BY parse_calls DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Sharable Memory:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

sharable_mem, executions, hash_value,address

FROM V$SQLAREA

WHERE sharable_mem > 1048576 ORDER BY sharable_mem DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

Top 10 by Version Count:

69c5a8ac3fa60e0848d784a6dd461da6.png

set linesize 100 set pagesize 100 SELECT * FROM (SELECT substr(sql_text,1,40) sql,

version_count, executions, hash_value,address

FROM V$SQLAREA

WHERE version_count > 20 ORDER BY version_count DESC)

WHERE rownum <= 10 ;

69c5a8ac3fa60e0848d784a6dd461da6.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值