X86环境大内存下数据库启动问题分析与处理

来源:这里教程网 时间:2026-03-03 17:46:23 作者:

适用范围

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补丁后,数据库可以正常启动。

  • 相关推荐