Skip to the content.

ORA-04031: unable to allocate %s bytes of shared memory (“%s”,”%s”,”%s”,”%s”)

Shared Memory가 부족함

  1. 재기동
     shutdown abort
     startup
    
  2. DBMS_SHARED_POOL 패키지로 인한 SHARED POOL 이 부족한 경우
     --SHARED_POOL_RESERVED_SIZE, SHARED_POOL_SIZE 조정
     --확인
     SHOW PARAMETER shared_pool
     /*
     NAME                                 TYPE        VALUE
     ------------------------------------ ----------- ------------------------------
     shared_pool_reserved_size            big integer 644245094
     shared_pool_size                     big integer 12G
     */
    
     --설정 (size : 1024MB, 4G...)
     ALTER SYSTEM SET shared_pool_size=size SCOPE=BOTH;
     ALTER SYSTEM SET shared_pool_reserved_size=size SCOPE=BOTH;
    

    https://docs.oracle.com/cd/E16338_01/server.112/b56311/initparams239.htm

  3. Oracle Streams, XStream process에서 문제가 발생한 경우
     --STREAMS_POOL_SIZE, SGA_MAX_SIZE 조정
     --확인
     SHOW PARAMETER streams_pool_size
     SHOW PARAMETER sga_max_size
    
     --설정 (size : 1024MB, 4G...)
     ALTER SYSTEM SET streams_pool_size=size SCOPE=BOTH;
     ALTER SYSTEM SET sga_max_size=size SCOPE=BOTH;
    
  4. LARGE_POOL_SIZE 가 부족한 경우
     --LARGE_POOL_SIZE 조정
     SHOW PARAMETER large_pool_size
    
     --설정 (size : 1024MB, 4G...)
     ALTER SYSTEM SET large_pool_size=size SCOPE=BOTH;