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