_memory_broker_shrink_heaps:
- If 0, will not try to shrink shared pool or Java pool
- If greater than zero, will wait this many seconds after failed shrink request to ask again
10204 no change baseline | Executes/second = 3,610, DB Time = 12,349s, DB CPU = 8,938s, latch:library cache wait = 598s, avg.wait = 34ms |
10204 - _library_cache_advice=off | Executes/second = 3,843, DB Time = 16,208s, DB CPU = 9,402s, latch:library cache wait = 616s, avg. wait = 50ms |
11106- no change -baseline | Executes/second = 3,529, DB Time = 14,148s, DB CPU = 9,286s, library cache: mutex X wait = 2,725s, avg. wait = 1ms |
11106 -session_cache=500, instantiation=150 | Executes/second = 3,436, DB Time = 13,396s, DB CPU = 9,040s, library cache: mutex X wait = 2,383s avg. wait = 1ms |
11106 - _library_cache_advice=off | Executes/second = 6,059, DB Time = 75,134s, DB CPU = 17,321s, library cache: mutex X wait = 38,892s,avg. wait = 1ms |
- 升级到最新的Patch set + PSU
- 考虑cursor_sharing=FORCE
- 注意即使_optim_peek_user_binds=false,若你的SQL本身还是有硬绑定的自由变量,则dc_histogram仍可能是硬解析争用的焦点
- 设置较大的 session_cachced_cursor和instantiation
- 设置library_cache_advice=false
- 关闭11g中的ACS自适应游标特性
- 关闭11g中的cardinality feedback特性
- 使用MSSM,或者 ASMM下 _memory_broker_shrink_heaps=0 + _enable_shared_pool_durations=false