프린트 하기

내맘대로긍정이 알려주는

Oracle 23ai 신기능
무료 세미나 발표자료

다운로드 trending_flat

OS환경 : Oracle Linux 6.8 (64bit)


DB 환경 : Oracle Database 10.2.0.5


에러 : ORA-00828: specified value of shared_pool_reserved_size inconsistent with internal settings

shared_pool_reserved_size 를 변경 후 재기동 시 발생한 문제

기존 sga 확인

1
2
3
4
5
6
7
8
SQL> show parameter sga
 
NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
lock_sga                 boolean     FALSE
pre_page_sga                 boolean     FALSE
sga_max_size                 big integer 1G
sga_target                 big integer 1G



기존 shared pool 및 shared pool reserved size 확인

1
2
3
SQL> show parameter shared_pool
shared_pool_reserved_size         big integer 50M
shared_pool_size             big integer 200M



shared_pool_reserved_size를 shared_pool_size 보다 크게 300M 으로 설정

1
2
3
SQL> alter system set shared_pool_reserved_size = 300m scope=spfile;
 
System altered.



재기동

1
2
3
4
5
6
7
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
 
SQL> startup
ORA-00828: specified value of shared_pool_reserved_size inconsistent with internal settings



해결 방법 : shared_pool_reserved_size를 shared_pool_size 의 50% 이내로 설정한다


spfile로 startup이 되지 않으므로 먼저 pfile 생성

1
2
3
SQL> create pfile from spfile;
 
File created.



pfile 확인 후 아래와 같이 shared_pool_size 의 50%로 설정(209715200/2=104857600)

1
2
3
4
5
$ cd $ORACLE_HOME/dbs
$ vi initORCL10.ora 
*.shared_pool_reserved_size=‭314572800‬ -- 기존
*.shared_pool_reserved_size=104857600‬‬ -- 변경
*.shared_pool_size=209715200



pfile 변경 후 기존 spfile 삭제 후 spfile 재생성

1
2
3
4
5
$ rm spfileORCL10.ora
$ sqlplus / as sysdba
SQL> create spfile from pfile;
 
File created.



db 기동

1
2
3
4
5
6
7
8
9
10
SQL> startup
ORACLE instance started.
 
Total System Global Area 1073741824 bytes
Fixed Size            2101808 bytes
Variable Size          373296592 bytes
Database Buffers      692060160 bytes
Redo Buffers            6283264 bytes
Database mounted.
Database opened.



원인 : shared_pool_reserved_size 가 shared_pool_size 의 50% 를 넘어서 발생한 문제

shared_pool_reserved_size 가 shared_pool_size 의 50% 를 넘어서 발생한 문제

자동 메모리 조정으로 인해 공유 풀 크기가 변동될 수 있으나 

shared_pool 에서 예약 된 공간(reserved_size)으로 할당 할 수있는 최대 크기는 "SHARED_POOL_SIZE 값의 절반" 임



참조 :