ITPub博客

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

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

原创 Oracle 作者:xfhuangfu 时间:2022-08-18 15:30:04 0 删除 编辑

适用范围

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博客 ” ,链接:https://blog.itpub.net/28373936/viewspace-2911010/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Xiaofei Huangfu Oracle DBA,Oracle ACE Oracle 19c OCM12c OCM,11g OCM MySQL 5.6,5.7,8.0 OCP 18年以上IT从业经验,有丰富的数据库和开发领域经验,多年Oracle运维经验和java开发经验。

注册时间:2013-09-05

  • 博文量
    151
  • 访问量
    231217