幾個常用的SQL語句:
1、檢查低效率的語句
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>1 --1表示執行次數超過一次
and buffer_gets > 0
and (buffer_gets-disk_reads)/buffer_gets < 0.8 -- disk_reads是讀硬盤的數量
order by 4 desc;
2
、檢查目前打開的游標情況
select sql_text,count(1) from v$open_cursor where user_name='X' group by sql_text order by count(1) desc;
3、檢查指定時間的語句情況
select * from v$sql s where first_load_time<'2006-03-01/00:00:00' order by s.EXECUTIONS desc;
-- 2月13日以后載入的語句
4、檢查執行時間2月13日以后超過30秒的語句
select * from v$session_longops s where s.start_time>'28-feb-06' and s.LAST_UPDATE_TIME-s.START_TIME>30/1440/60 order by start_time;
備注:
v$open_cursor 已經打開的游標,對新做的有數據庫操作的程序可以通過檢查這個視圖來確認游標的使用情況
v$session 當前連接到數據庫服務器的用戶名和連接數
v$sql 所有執行過的數據庫語句
v$session_longops 執行時間較長的語句
posted on 2006-03-15 01:42
Xu Jianxiang 閱讀(1162)
評論(0) 編輯 收藏 所屬分類:
Other Tech