X86環境大記憶體下資料庫啟動問題分析與處理

xfhuangfu發表於2022-08-18

適用範圍

Oracle Database 11g 11.2.0.4

問題概述

X86環境打了資料庫補丁Patch 31718723 RAC每個節點無法正常啟動,報錯資訊ORA 29770

問題原因

X86環境下資料庫啟動過程中記憶體分配環節出現hang

解決方案

gcs_server_processes引數採用自動計算,不建議手工修改
背景:客戶計劃將核心系統Oracle資料庫由AIX平臺下移到X86平臺,X86伺服器為8路 4T記憶體。
基礎環境:
Redhat Enterprise 7.9,Oracle 11g 11.2.0.4.201020,3節點RAC
問題概述:X86環境打了資料庫補丁Patch 31718723 RAC每個節點無法正常啟動
報錯資訊:
資料庫日誌報錯資訊:

  • allocate domain 0, invalid = TRUE
    Fri Aug 12 21:52:05 2022
    LMON (ospid: 94465) waits for event ‘SGA: allocation forcing component growth’ for 94 secs.
    Errors in file /u01/app/oracle/diag/rdbms/enmodb/enmodb3/trace/enmodb3_lmhb_94500.trc (incident=2476361):
    ORA-29770: global enqueue process LMON (OSID 94465) is hung for more than 70 seconds
    trace報錯資訊:
    enmodb3_lmhb_94500
    *** 2022-08-12 21:51:03.896
    ==============================
    LMON (ospid: 94465) has not moved for 34 sec (1660312263.1660312229)
    kjfmGCR_HBCheckAll: LMON (ospid: 94465) has status 2
    : waiting for event ' SGA: allocation forcing component growth’ for 33 secs with wait_id 103.
    ===[ Wait Chain ]===
    LMON (ospid: 94465) waits for event ‘SGA: allocation forcing component growth’.
    MMAN (ospid: 94502) is not in wait.
    2022-08-12 21:51:24.376
    ==============================
    分析和處理過程
    AIX環境資料庫記憶體引數
    sga_max_size=858993459200
    db_cache_size=644245094400
    X86環境資料庫記憶體引數
    sga_max_size=900G
    db_cache_size=700G
    資料庫DB11204未打補丁的情況下可以正常啟動

打補丁後的測試
1、打了Patch 31718723

  • Oracle Grid Infrastructure Patch Set Update 11.2.0.4.201020之後,資料庫無法正正常啟動。回退補丁後資料庫可以正常啟動。
    2、更換補丁Patch 31305209
  • Oracle Grid Infrastructure Patch Set Update 11.2.0.4.200714,資料庫無法正常啟動
    回退Patch 31305209補丁,重新打Patch 31718723補丁。
    重新打補丁後測試過程:

測試1:SGA自動管理方式測試。
將SGA_TARGET分別設定為50G,800G,900G,gcs_server_processes=7,資料庫均可以正常啟動。
測試2:SGA手工管理方式測試。
將sga_max_size設定為900G,db_cache_size設定為700G,gcs_server_processes=7,資料庫無法正常啟動。
測試3:SGA手工管理方式測試。
將sga_max_size設定為900G,db_cache_size設定為500G,gcs_server_processes=7,資料庫可以正常啟動。
測試4:SGA手工管理方式測試。
X86環境自動計算gcs_server_processes=16(cpu_count 448 ,2+448/32=2+14=16) sga_max_size設定為900G,db_cache_size設定為700G
打了Patch 31718723補丁後,資料庫可以正常啟動。


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

相關文章