posted on 2006-03-15 01:42Xu Jianxiang
几个常用的SQL语句:
1、检查低效率的语句
selectexecutions,disk_reads,buffer_gets,round((buffer_gets-disk_reads)/buffer_gets,2)hit_radio,
round(disk_reads/executions,2)reads_per_run,sql_text
fromv$sqlarea
whereexecutions>1--1表示执行次数超过一次
andbuffer_gets>0
and(buffer_gets-disk_reads)/buffer_gets<0.8-- disk_reads是读硬盘的数量
orderby4desc;
2、检查目前打开的游标情况
selectsql_text,count(1)fromv$open_cursorwhereuser_name='X'groupbysql_textorderbycount(1)desc;
3、检查指定时间的语句情况
select*fromv$sql swherefirst_load_time<'2006-03-01/00:00:00'orderbys.EXECUTIONSdesc;
--2月13日以后载入的语句
4、检查执行时间2月13日以后超过30秒的语句
select*fromv$session_longops swheres.start_time>'28-feb-06'ands.LAST_UPDATE_TIME-s.START_TIME>30/1440/60orderbystart_time;
备注:
v$open_cursor已经打开的游标,对新做的有数据库操作的程序可以通过检查这个视图来确认游标的使用情况
v$session当前连接到数据库服务器的用户名和连接数
v$sql所有执行过的数据库语句
v$session_longops执行时间较长的语句