1.在ORACLE中實現分布式快速存取和充實內存是很重要的。
要不惜任何代價避免頁面調度和交換﹐每次都必須把系統全局區(SGA)放到內存。
將SGA放到內存中﹐在INIT.ORA中設置參數 PRE_PAGE_SGA
PRE_PAGE_SGA=YES
2.回卷段的竟爭會降低系統的性能。
SELECT GETS,WAITS from V$ROLLSTAT;
GETS代表回卷段被訪問的次數
WAITS代表進程等待回卷段中哪個進程的次數
如果GETS與WAITS的比大于2%表示存在竟爭問題
解決辦法是創建更多的回卷段。
有兩種類型的鎖存竟爭會產生嚴重的后果﹕立即鎖存(IMMEDIATE)和等待(WAIT)鎖存。
等待鎖存的計算公式﹕
WAIT CONTENTION=(MISSES/(GETS+MISSES))*100
立即鎖存的計算公式﹕
IMMEDIATE CONNECTION=(IMMEDIATE_MISSES/(IMMEDIATE_GETS+IMMEDIATE_MISSES))*100
如果任何一個值>0則就存在對鎖存的竟爭
如果發生恢復分配鎖存的竟爭﹐可以減小INIT.ORA中的LOG_SMALL_ENTRY_MAX_SIZE的參數值。如果發生恢復復制竟爭﹐可以增大INIT.ORA中的LOG_SIMULATANOUS_COPIES的參數值。 中國網管聯盟www_bitscn_com
任何回卷段的OPTIMAL參數的設置不能太小﹐如果OPTIMAL
SELECT CLASS,COUNT from V$WAITSTAT WHERE UPPER(CLASS) IN ('SYSTEM UNDO HEADER)','SYSTEM UNDO BLOCK',
'UNDO HEADER','UNDO BLOCK');
SELECT SUM(VALUE) from V$SYSSTAT WHERE UPPER(NAME)
IN ('DB BLOCK GETS','CONSISTENT GETS');
第一條查詢中的每一類與第二條查詢中的比率最好<0.01
3.提高緩沖區的效率。
SELECT RELOADS,PINS from V$LIBRARYCACHE;
RELOADS存入SQL命令被加載和分解的次數
PINS存入數據庫對SQL高速緩沖區查找一條語句的次數
如果RELOADS與PINS的比率大于1%則應增加INIT.ORA中的SHARED_POOL_SIZE的參數值。
SELECT GETMISSES,GETS from V$ROWCACHE;
如果RELOADS與PINS的比率大于10%則應增加INIT.ORA中的
SHARED_POOL_SIZE的參數值。
4.用戶任何時點擁有的打開光標的最大數
修改INIT.ORA中的OPEN_