Oracle8 優化技術:內存/CPU
2024-08-29 13:41:26
供稿:網友
內存/CPU規則#1 為了更好地防范介質故障,一般應在 ARCHIVELOG 模式下運行 Oracle8 數據
庫。這使用戶能在數據庫打開和運行時完成數據庫的一致性備份。
內存/CPU規則#2 DBAs 要定期查看跟蹤文件,尤其是警報日志,并做些清除操作,只有當有人
用手工方式編輯跟蹤文件并且刪除該文件內容時,警報跟蹤文件才暫停增大。
內存/CPU規則#3 檢查實例警報日志文件中是否存在有關在線重演日志組的錯誤信息。確定數據
庫是否有足夠的重演日志文件是最輕易的方法,假如 Oracle 因為沒有清除完而不能重用重
演日志,那么可能需要更多的重演日志。
內存/CPU規則#4 在 Oracle 首次安裝時,需要設置好共享池的大小,以確保共享池中有足夠大
的空間以便使 Oracle 能在共享池中很好地調整高速緩存。
內存/CPU規則#5 在多處理器的計算機上,初始化參數文件項 LOG_SIMULTANEOUS_COPIES 應被
設置為 CPU 數的兩倍,這將有助于減少潛在的 redo copy latch 爭用。
內存/CPU規則#6 當使用 MTS 時,為了 SHARED_POOL_SIZE,每個用戶存在一個 1K 的額外需求,
該額外空間用于存放關于用戶進程、調度程序和服務器之間連接的信息。
內存/CPU規則#7 評估在繁忙期間用戶對 CPU 提出的需求。
內存/CPU規則#8 評估用戶在非繁忙時間(晚上和周末)對 CPU 的需求。
內存/CPU規則#9 評估支持用戶進程與系統服務對 CPU 時間的需求之間的平衡。
小結和說明
..........
. 定期檢查實例警告文件,以便了解 Oracle 產生的任何錯誤。
. 監視庫高速緩存的成功率,假如這個成功率很低的話(少于80%),則應當考慮調整初始化參數
文件中的 SHARED_POOL_SIZE 參數。
. 通過查看 V$LATCH 字典視圖,監視重演日志緩高速緩存中失敗(misses)對成功(gets)的比例,
假如misses多于gets的1%,則結果將導致重演(redo latches)的沖突(拷貝latch和/或配置
latch,這取決于所使用系統的CPU數量)。
. 假如有超過25%的排序請求需要磁盤空間(利用V$SYSSTAT),則應考慮增加初始化參數文件參
數SORT_AREA_SIZE。
. 假如可能的話,最好保持數據庫一天24小時開機,每次數據庫重新啟動時,庫高速緩存和字典
高速緩存必須被裝入,在裝入這些高速緩存當中,miss率將巨增。假如數據庫沒有一直打開,
定義一些 SQL 語句在數據庫啟動后強制裝載這些高速緩存。
下面前四點指出了初始化參數文件的五個要害項,按建議調整這些項,有助于 CPU 的調整運行。
. 分配盡可能多的實存給共享池和數據庫緩沖區(初始化參數文件中的SHARED_POOL_SIZE項和
DB_BLOCK_BUFFERS項)以便答應在內存中運作盡可能多的工作,與在磁盤工作相比,在內存
中工作使用的CPU較少。
. 將初始化參數文件項 SEQUENCE_CACHE_ENTRIES 設為高值(缺省值為10,可設為1,000)。
. 分配大于缺省值的內存以便執行排序操作(初始化參數文件中的 SORT_AREA_SIZE項),不請求
I/O的內存排序使用較少的CPU。
. 在多CPU的機器上,增大初始化參數文件項LOG_SIMULTANEOUS_COPIES的值,以便答應每個CPU的
進程把項拷貝到重演日志緩沖區中。
. 為了釋放占用的CPU,盡一切可能使I/O最小化。
. 通過合理分配工作日白天和夜間的負載來使得CPU工作能力最大化。
. 在考慮 CPU 升級前,開始著手對 CPU 進行有條理的估計。
. 在空閑時間執行報告工作。