• ORA-04030: out of process memory when trying to allocate 81944 bytes


    [oracle@agsdb ~]$ free -mh
    total used free shared buffers cached
    Mem: 251G 248G 3.6G 55G 843M 89G
    -/+ buffers/cache: 157G 94G
    Swap: 63G 9.5G 54G
    [oracle@agsdb ~]$

    --alter日志
    Mon May 11 02:00:00 2020
    Closing scheduler window
    Closing Resource Manager plan via scheduler window
    Clearing Resource Manager CDB plan via parameter
    Mon May 11 02:02:59 2020
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc (incident=276331) (PDBNAME=CDB$ROOT):
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Incident details in: /u01/app/oracle/diag/rdbms/ora12c/ora12c/incident/incdir_276331/ora12c_imco_12034_i276331.trc
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    Current system swap is below 1%
    Memory (Avail / Total) = 3835.81M / 257663.78M
    Swap (Avail / Total) = 55790.00M / 65536.00M
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc (incident=276332) (PDBNAME=CDB$ROOT):
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Incident details in: /u01/app/oracle/diag/rdbms/ora12c/ora12c/incident/incdir_276332/ora12c_imco_12034_i276332.trc
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    ........此处省略.......
    Mon May 11 02:03:13 2020
    Dumping diagnostic data in directory=[cdmp_20200511020313], requested by (instance=1, osid=12034 (IMCO)), summary=[incident=276334].
    Current system swap is below 1%
    Memory (Avail / Total) = 3745.87M / 257663.78M
    Swap (Avail / Total) = 55793.23M / 65536.00M
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc (incident=276336) (PDBNAME=SSPTRAD):
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc (incident=276337) (PDBNAME=SSPTRAD):
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc (incident=276338) (PDBNAME=SXP2):
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    Unable to allocate memory for new incident error in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc:
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    ........此处省略.......
    Mon May 11 02:11:22 2020
    Errors in file /u01/app/oracle/diag/rdbms/ora12c/ora12c/trace/ora12c_imco_12034.trc:
    ORA-04030: out of process memory when trying to allocate 81944 bytes (callheap,IMCO: Segment List)
    Use ADRCI or Support Workbench to package the incident.
    See Note 411.1 at My Oracle Support for error and packaging details.
    DDE: Problem Key 'ORA 4030' was completely flood controlled (0x6)
    Further messages for this problem key will be suppressed for up to 10 minutes
    Mon May 11 02:21:30 2020
    DDE: Problem Key 'ORA 4030' was completely flood controlled (0x6)
    Further messages for this problem key will be suppressed for up to 10 minutes

    --trac 文件内容

    --ora12c_imco_12034_i276331

    sql_id=2y708xtd9vj74

    sql_id=6mqd7fw1zmday

    sql_id=dn1jfvz5mkxgy


    ---ora12c_imco_12034


    *** CONTAINER ID:(3) 2019-02-08 14:00:13.675


    *** TRACE FILE RECREATED AFTER BEING REMOVED ***

    Process has gone over pga_aggregate_limit
    Just allocated 131072 bytes
    PGA LIMIT: pid 12034 has 0 MB tunable, 19614 MB untunable, and 0 MB freeable

    PGA LIMIT: pid 12034 has 0 MB tunable, 32655 MB untunable, and 0 MB freeable
    Dumping short stack
    ----- Abridged Call Stack Trace -----
    ksedsts()+244<-ksm_pga_limit_short_stack()+1016<-ksm_check_over_limit()+805<-ksmarfg()+574<-kghgex()+1376<-kghfnd()+361<-kghalo()+4422<-kghgex()+414<-kghfnd()+361<-kghalo()+4422<-kghgex()+414<-kghfnd()+361<-kghalo()+4422<-kghgex()+414<-kghfnd()+361<-kghprmalo()+1617
    <-kghalp()+1246<-stsAllocFromSubheap()+385<-smbalo()+155<-smboAloMem()+220<-smboAQSdoRS()+2215<-smboAQSdoQS()+813<-smboAQSdoRS()+3040<-smboAQSdoQS()+813<-smboAQSdoRS()+3040<-smboAQSdoQS()+660<-smboSort()+546<-smbeod()+100<-soreod()+72<-qersoProcessULS()+437
    <-qersoFetchSimple()+1196<-qersoFetch()+210<-opifch2()+3115<-opiall0()+1584<-opikpr()+567<-opiodr()+1165<-rpidrus()+206<-skgmstack()+144<-rpiswu2()+723<-kprball()+1163<-kdmrRepopGetSegBatch()+824<-kdmrRepopGetNextSeg()+442<-kdmrRepopGetNextExtent()+790<-kdmrRepopExtentBatch()+43
    <-kdmrTrickleRepopMain()+416<-kdmrTrickleRepopCB()+69<-ksbsdact_cbk()+19<-ksbcti()+5018<-ksbabs()+2357<-kdmrimcomain()+1180<-ksbrdp()+1068<-opirip()+1488<-opidrv()+616<-sou2o()+145<-opimai_real()+270<-ssthrdmain()+412<-main()+236<-__libc_start_main()+253
    ----- End of Abridged Call Stack Trace -----
    =======================================
    PRIVATE MEMORY SUMMARY FOR THIS PROCESS
    ---------------------------------------
    ******************************************************
    PRIVATE HEAP SUMMARY DUMP
    32 GB total:
    20 GB commented, 277 KB permanent
    12 GB free (0 KB in empty extents),
    32 GB, 2 heaps: "callheap " 12 GB free held

    *** 2020-05-11 02:33:42.994
    ------------------------------------------------------
    Summary of subheaps at depth 1
    20 GB total:
    537 KB commented, 20 GB permanent
    53 MB free (0 KB in empty extents),


    --由此可见,PGA设置太小;需要进行修改;目前大小10G,需要设置成最小 12 GB

    ----解决办法

    SQL> show parameter sga

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    lock_sga boolean FALSE
    pre_page_sga boolean TRUE
    sga_max_size big integer 232960M
    sga_target big integer 232960M
    unified_audit_sga_queue_size integer 1048576
    SQL> show parameter pga

    --SGA 227g

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    pga_aggregate_limit big integer 20G
    pga_aggregate_target big integer 10G
    SQL>


    SQL> show parameter memory

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    hi_shared_memory_address integer 0
    inmemory_clause_default string
    inmemory_force string DEFAULT
    inmemory_max_populate_servers integer 4
    inmemory_query string ENABLE
    inmemory_size big integer 200G
    inmemory_trickle_repopulate_servers_ integer 1
    percent
    memory_max_target big integer 0
    memory_target big integer 0
    optimizer_inmemory_aware boolean TRUE

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    shared_memory_address integer 0
    SQL>


    SQL> show parameter spfile;

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    spfile string /u01/app/oracle/product/12.1.0
    .2/db_1/dbs/spfileora12c.ora
    SQL>


    ALTER SYSTEM SET pga_aggregate_target='20g' SCOPE=MEMORY;

    ----ALTER SYSTEM SET sga_max_target=10000M SCOPE=SPFILE;

    SQL> ALTER SYSTEM SET pga_aggregate_target='20g' SCOPE=MEMORY;

    System altered.

    SQL>
    SQL> show parameter pga

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    pga_aggregate_limit big integer 20G
    pga_aggregate_target big integer 20G
    SQL>

    SQL> ALTER SYSTEM SET pga_aggregate_target='20g' SCOPE=SPFILE;

    System altered.

    SQL> show parameter pga

    NAME TYPE VALUE
    ------------------------------------ ----------- ------------------------------
    pga_aggregate_limit big integer 20G
    pga_aggregate_target big integer 20G
    SQL>

  • 相关阅读:
    置换笔记
    7.23
    Conveyor Belts
    CF #134 A~D
    Blocks && Fixing the Great wall
    Kakuro
    Deadlock Detection
    关于KeyFile的破解,含注册机源代码
    BMP位图之代码实现
    BMP位图之8位位图(三)
  • 原文地址:https://www.cnblogs.com/ss-33/p/12867380.html
Copyright © 2020-2023  润新知