幾個常用的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<'
--
4、檢查執行時間
備注:
v$open_cursor 已經打開的游標,對新做的有數據庫操作的程序可以通過檢查這個視圖來確認游標的使用情況
v$session 當前連接到數據庫服務器的用戶名和連接數
v$sql 所有執行過的數據庫語句
v$session_longops 執行時間較長的語句