1.1 ?????? 現象描寫敘述
數據庫節點響應緩慢,部分用戶業務受到影響。
查看數據庫告警日志,開始顯示 ORA-07445 錯誤,然后是大量的 ORA-04031 錯誤和 ORA-00600 錯誤。
檢查數據庫日志,數據庫仍處于活動狀態的信息例如以下:
Sat Jul 17 07:51:52 2010
Thread 1 advanced to log sequence 266272
? Current log# 2 seq# 266272 mem# 0: /dev/rlv_redo121
? Current log# 2 seq# 266272 mem# 1: /dev/rlv_redo122
1.2 ?????? 可能原因
因為數據庫用戶業務繁忙,活動會話較多,占用了大量的Shared Pool內存。同一時候Shared Pool內部參數配置不合理導致產生大量的內存碎片。因此,導致部分進程無法申請到足夠的Shared Pool內存,出現 ORA-07445 錯誤和 ORA-04031 錯誤。因為Shared Pool壓力越來越大,最后還引發 ORA-00600 錯誤。
1.3 ?????? 處理步驟
- 以 oracle 用戶登錄數據庫主機。
- 以 sysdba 用戶連接數據庫。
% sqlplus /nolog
SQL> conn /as sysdba;
Connected.
- 提高 Shared Pool 的“ reserved pool ”比例。
SQL> alter system set "_shared_pool_reserved_pct"=10 scope=spfile;
- 減少“ reserved pool ”的最小請求大小。
SQL> alter system set "_shared_pool_reserved_min_alloc"=4000 scope=spfile;
- 將 Shared Pool 子池個數降低到兩個。
SQL> alter system set "_kghdsidx_count"=2 scope=spfile;
- 分別關閉主備節點數據庫。
SQL> shutdown immediate
- 分別在主備節點又一次啟動數據庫。
SQL> startup
- 查詢設置的參數。
SQL> select a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value"
from x$ksppi a, x$ksppcv b, x$ksppsv c
where a.indx = b.indx and a.indx = c.indx and a.ksppinm = '_shared_pool_reserved_pct'; ?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
