『壹』 oracle卡硬碟 程序變慢如何解決
這很正常,一般是oracle里的SQL 運行消耗大量物理讀, 按常規調優SQL即可
askmaclean oracle
『貳』 如何造成Oracle性能下降
1.cpu,你可以把配置文件中關於cpu的方面減少,但是你們做實驗的估計也不會使用多個socket的cpu,估計可能性不大
2.內存,你可以吧配置文件中關於內存的方面減少到原來的一半甚至1/4或者更小,肯定對資料庫性能有負面影響
3.I/O,你可以把要查詢的表的索引刪除,人為導致不必要的全表掃描,走物理讀。
希望對你有幫助。有問題可追問。
『叄』 oracle db file sequential read是物理讀還是邏輯讀
JOB運行歷史記錄
select * from dba_scheler_job_log
where job_name = 'GATHER_STATS_JOB'
正在運行的job
select * from dba_scheler_running_jobs
『肆』 oracle IO 讀寫高,怎麼優化
兩個辦法:一、優化硬體(CPU、內存和硬碟等),優化I/O子系統,增強IO讀寫能力;第二、優化SQL語句。第一種辦法治標不治本,建議用第二種辦法,你的截圖里邊那幾個幾百秒的SQL語句是有問題的,要進一步優化。查看一下執行這些語句是在哪些頁面,查詢了什麼數據,數據量多大,判斷一下業務邏輯,然後再去優化。
(如有幫助,請採納,謝謝)
『伍』 oracle需要經常統計每個會話的邏輯讀和物理讀信息,直接使用SQL很不方便,設計一個程序,簡化查看某個會話
select t.SID,n.NAME,t.VALUE
from v$sesstat t, v$statname n
where t.STATISTIC# = n.STATISTIC#
and n.STATISTIC# in (9, 54)
and t.SID=&sid
『陸』 Oracle的一次查詢會產生一次物理讀或者邏輯讀嗎
物理讀即是把數據從磁碟讀入到buffer catch的過程。
通常情況下是,如果需要數據的時候發現不存在於buffer catch當中,即oracle就會執行物理讀。
例子如下:
C:/Documents and Settings/Administrator>sqlplus jenny/jenny
SQL> set autotrace traceonly;
SQL> select * from t_test1;
『柒』 oracle的sql 優化了邏輯讀是否就能降低耗時
邏輯讀就是從內存中(db buffer cache)讀。
SQL執行過程中,如果發生物理讀,將dbf的數據載入到內存,這一步顯然是非常耗時的。
所以上面的說法是錯誤的。
我們總是希望邏輯讀越多越好,畢竟從內存讀的速度要遠遠大大於從硬碟讀
『捌』 怎樣減少oracle資料庫
其實每個項目需求不一樣,肯定處理方法不一樣。
你說IO/cpu/內存這些,其實屬於資料庫調優的部分,最簡單的辦法就是找瓶頸。
哪方面是瓶頸,就優化哪方面,就像木桶一樣,盡量把最短的板子拉長。
因為資料庫本身不可能做到絕對完美,只能說在當前需求,當前資源的情況下盡量做到最好。
要真說精髓,那就是隨機應變吧。
多注意Top 5 events , 盡量消除等待事件,降低物理讀,降低硬解析等等。。
『玖』 如何優化 物理讀的sql
物理讀和預讀都是IO操作,都是需要從磁碟中讀取數據到內存,只是讀取的時間有所不同。
1.預讀是在生成執行的同時去做的,通過這種方式可以提高IO的性能。
2.物理讀是當執行計劃生成好後去緩存讀取數據發現缺少數據之後才到磁碟讀取。當所有數據都從緩存中可以讀取就變成邏輯讀。