ORACLE 25個需要深思熟慮重要的初始化引數

羽化殘虹發表於2014-11-08
 此內容摘自 ORACLE 11gR2效能調整與優化一書,做為一個自己的筆記

1 MEMORY_TARGET : 這個初始化引數設定分配給PGA和SGA 的所有記憶體(11g 新引數)。設定了MEMORY_TARGET 就啟用了自動記憶體管理(Automatic Memory Management,AMM),所以oracle 根據系統的需求分配記憶體,但你也可以設定關鍵的最小值。MEMORY_TARGET 可以完成SGA_TARGET 能完成的所有工作,此外還包括PG(MEMORY_TARGET  由於包含了重要的PGA_AGGREGATE_TARGET才變的十分重要)。
在設定了 MEMORY_TARGET 後,其他重要的引數,比如DB_CACHE_SIZE,SHARED_POOL_SIZE,PGA_AGGREGATE_TARGET,LARGE_POOL,JAVA_POOL_SIZE都會自動設定,為系統中重要的的初始化引數設定最小值是一個非常不錯的想法。
2  MEMORY_MAX_TARGET: 這個引數設定可以分配給oracle的最大記憶體,也是MEMORY_TARGET 可以設定的最大值,注意修改此引數是要重啟資料庫的;
3  DB_CACHE_SIZE: 為資料快取或者為存放資料而初始分配的記憶體量。如果你設定了MEMORY_TARGET 或者SGA_TARGET ,這個引數就不需要設定了,但是給這個引數設定了一個最小的值是我們建議的。
4 SHARED_POOL_SIZE: 分配給資料字典、SQL和plsql語句的記憶體。查詢本身放在這塊記憶體裡,如果設定了MEMORY_TARGET,這個引數就需要設定了,但是給這個引數設定最小值是我們推薦的。注意在SAP裡推薦設定為400M,另外注意,結果集快取(Result Cache)的記憶體來自共享池,通過設定引數
 RESULT_CACHE_SIZE和RESULT_CACHE_MODE(這個引數有三個值:FORCE、AUTO、MANUAL完成。最後,在11g中將這個引數包括了一些再SGA裡的額外開銷
(共12M),在這以前10g中是沒有的,所以在11g中將這個引數設定的比10G 高至少12M.


5 SAG_TARGET: 如果使用ORACLE 的自動共享記憶體管理,就使用該引數自動確定資料快取、共享池、大型池和java池大小。將該引數設定為0可以禁用這個功能。如果設定了
MEMORY_TARGET這個引數的話就不需要設定此引數了,但是如果您希望和以前的版本做對比的話,可以給這個引數設定一個最小的值。SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE和DB_CACHE_SIZE會根據這個值自動設定(或者使用MEMORY_TARGET).


6  PGA_AGGREGATE_TARGET:所有使用者的PGA記憶體的最高上限。如果您設定了MEMORY_TARGET,這個引數就不需要設定了,但是給這個引數設定一個最小值是個不錯的想法,注意SAP指定對於OLTP系統設定為可用記憶體的20%,對於OLAP系統為40%。


7 SGA_MAX_SIZE: SGA_TARGET 可以設定的最大記憶體。如果設定了MEMORY_TARGET,這個引數就不需要設定了,但是如果需要使用SGAZ_TARGET,就需要給設定一個值。
8 OPTIMIZER_MODE:    CHOOSE、RULE、FIRST_ROWS、FIRST_ROWS_n或ALL_ROWS。儘管RULE明確的不被支援並且已經過時,人們一提起它通常怨聲載道,但是我曾經在11gR2裡設定過該模式
9 SEC_CASE_SENSITIVE_LOGON : 預設值為TURE,意味著密碼大小寫敏感(11g新引數),將其設定false可以禁用這個功能;
10 SEC_MAX_FAILED_LOGIN_ATTEMPTS:  如果使用者經過多次嘗試還是不能輸入正確的密碼,系統會鎖定賬戶,這個引數就是設定了密碼密碼嘗試次數。這個引數預設設定為10.當使用者被鎖定之後DBA必須用alter user usernmae account unlock語句來解鎖。


11 CURSOR_SHARING:   把具體的的sql 轉換成帶有變數的SQL。這樣可以減小解析的開銷。預設值是EXACT。調研後可以考慮設定長FORCE.


12 OPTIMIZER_USE_INVISIBLE_INDEXES :預設是false。可確保不可視索引在預設的情況下不被使用(11g新引數)。做一個有益的實驗,將此引數設定true。可使用所有索引和檢查那些錯誤的被設定為不可視索引(該實驗可能會引起系統down機,所以只能在開發環境中)


13 OPTIMIZER_USE_PENDING_STATISTICS:預設為false。可確保不使用待定統計資訊,而設定true後就可以使用所有待定統計資訊(11g新引數)


14 OPTIMIZER_INDEX_COST_ADJ:  粗略調整索引掃描成本和全表掃描成本。設定為1到10之間會加強索引的使用。設定為1到10之間的值基本上可以保證使用索引,即使有時這樣設定並不適合,因為需要謹慎設定該引數,因為它的很大程度上取決於索引的設計和實現是否正確。如果正在使用 Application 11i,請注意不可以將 


OPTIMIZER_USE_PENDING_STATISTICS 設定為除了預設值100以外的其他值(檢視MOS文獻 169935.1)。我在一次測試中見到這個引數設定為200,同時也可以檢視bug 4483286.SAP 建議對於OLAP系統不要設定,對於OLTP 設定為20。


15  DB_FILE_MULTIBLOCK_READ_COUNT: 為了在全表掃描時更有效的執行I/0操作設定該引數為在一次I/0中讀的塊數。再11gR2中預設為128.通常不要改變這個預設值


16 LOG_BUFFER: 為記憶體中沒有提交的事物分配的緩衝區。如果需要改變它,就必須在pfile中完成。SAP建議使用預設值。Oracle Application 將其設定為10MB.我見過有的測試設 
                         置為100
17 DB_KEEP_CACHE_SIZE: 分配給keep池(位於緩衝區快取之外的額外資料快取)的記憶體,這些記憶體用於存放不希望從快取中擠出的重要資料。


18 DB_RECYCLE_CACHE_SIZE: 分配給recycle池(位於緩衝區快取之外的額外的資料快取)的記憶體。也是第17條keep快取之外的記憶體。通常情況下,DBA 為編寫較差的即時使用者查詢的資料設定該引數。


19 OPTIMIZER_USE_SQL_PLAN_BASELINES:   預設值為ture。 意思是如果存在基線(baseline)oracle 就會使用。主要在11g中stored outline 已經不建議使用(不建議使用,但是
仍可以工作),因為它已經被SQL計劃基線取代。


20 OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES: 預設值是false,意思是oracle預設情況下不捕捉sql計劃基線。但是如果建立了基線,oracle會像前面的一條敘述的那也使用     (11g中的新引數)。


21 LARGE_POOL_SIZE: 分配給大型的PL/SQL 以及其他的一些不經常使用的oracle選件的大型池中的總位元組數。
22 SATAISTICS_LEVEL: 用於啟用顧問資訊的收集,並且可以選擇提供更多的O/S 統計資訊來改進優化器決策。該引數的預設值是typical。
23 JAVA_POOL_SIZE: 為JVM中執行的JAVA 儲存過程分配的記憶體
24 JAVA_MAX_SESSIONSPACE_SIZE: 用於跟蹤使用者會話中java類狀態而是用的記憶體上線
25 OPEN_CURSORS:   指定使用者與保持(開啟)使用者語句的專用區域的大小,如果見到 “ORA-01000:maximum open cursors exceeded” 錯誤,那麼可能需要增大該引數,但是需                                  要確保關閉不在需要的遊標。在9.2.0.5版本之前,這些開啟的遊標也會被快取。如果將open_cursors 設定的過高,有時也會造成問題(ORA-4031)在                                        9.2.0.5版本中,SESSION_CACHED_CURSORS引數用來控制PL/SQL 中游標快取的設定。不要將SESSION_CACHED_CURSORS設定的和 OPEN_CURSORS 一                                  樣大,否則就可能產生ORA-4031 或者ORA-7445錯誤。SAP 推薦設定為2000; oracle application 把 open_cursors 設定成60將 SESSION_CACHED_CURSORS  設定成500。                          

注意 正確的設定好某些初始化引數可能會產生兩秒鐘到兩個小時的差異。在對生產環境進行更改時,一定要徹底的在測試系統裡除錯這些改動。






















































來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26175573/viewspace-1325606/,如需轉載,請註明出處,否則將追究法律責任。

相關文章