OS환경 : Oracle Linux 5.8 (64bit)
DB 환경 : Oracle Database 10.2.0.5
방법 : Oracle 10g에서 sga 메모리 및 프로세스 변경 방법
Oracle 10g 환경에서 sga 및 프로세스 수를 변경하는 방법에 대해 설명함
db가 spfile로 기동중인지 확인
1 2 3 4 5 | SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /oracle/app/oracle/product/10.2.0/db_1/dbs/spfileORCL10.ora |
기존 sga 파라미터 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | SQL> select * from v$sgainfo; NAME BYTES RES ------------------------------ ---------- --- Fixed SGA Size 2095992 No Redo Buffers 6291456 No Buffer Cache Size 50331648 Yes Shared Pool Size 88080384 Yes Large Pool Size 0 Yes Java Pool Size 25165824 Yes Streams Pool Size 0 Yes Granule Size 4194304 No Maximum SGA Size 314572800 No Startup overhead in Shared Pool 41943040 No Free SGA Memory Available 142606336 11 rows selected. |
변경할 파라미터 기존 값 전체 확인
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | SQL> set lines 200set pages 1000 col name for a30 col value for a30 select name, issys_modifiable, value from v$parameter where name in ('sga_target','sga_max_size','db_cache_size', 'shared_pool_size','shared_pool_reserved_size', 'java_pool_size','streams_pool_size','large_pool_size', 'pga_aggregate_target','workarea_size_policy','processes'); NAME ISSYS_MOD VALUE ------------------------------ --------- ------------------------------ processes FALSE 150 sga_max_size FALSE 314572800 shared_pool_size IMMEDIATE 88080384 large_pool_size IMMEDIATE 0 java_pool_size IMMEDIATE 25165824 streams_pool_size IMMEDIATE 0 shared_pool_reserved_size FALSE 4404019 sga_target IMMEDIATE 0 db_cache_size IMMEDIATE 50331648 pga_aggregate_target IMMEDIATE 33135001 workarea_size_policy IMMEDIATE AUTO |
현재 sga가 sga_target 으로 설정되어 있는것이 아닌 sga_max_size로 sga가 설정되어 있음
(sga_target 파라미터는 sga_max_size 의 값을 초과할 수 없음)
위 쿼리에 있는 ISSYS_MODIFIABLE의 뜻
ALTER SYSTEM을 통해 변경되는 파라미터가 언제 적용 되는가의 여부
IMMEDIATE - 파라미터 타입에 상관 없이 ALTER SYSTEM 명령 즉시 적용됨
DEFERRED - 파라미터 타입에 관계 없이 ALTER SYSTEM을 통해 변경
변경한 파라미터는 이후 세션에 적용됨.
FALSE - 인스턴스 시작에 SPFILE이 사용되지 않았다면, ALTER SYSTEM으로 변경 할 수 없는 파라미터.
변경 사항은 이후 인스턴스에 적용됨.
SHARED_POOL_RESERVED_SIZE = 대량의 연속 요청을 위해 예약 된 SHARED_POOL
변경할 값
sga_max_size = 기존 : 300M, 변경 : 1G
pga_aggregate_target = 기존 : 32M, 변경 : 50M
shared_pool_size = 기존 : 84M, 변경 : 200M
shared_pool_reserved_size = 기존 : 4M, 변경 : 50M
db_cache_size = 기존 : 48M, 변경 : 100M
streams_pool_size = 기존 : 0, 변경 : 100M
java_pool_size = 기존 : 24M, 변경 : 50M
processes = 기존 : 150, 변경 : 500
파라미터 변경
1 2 3 4 5 6 7 8 9 10 | SQL> alter system set sga_target=1g scope=spfile; or alter system set sga_max_size=1g scope=spfile; alter system set pga_aggregate_target=50m scope=spfile; alter system set shared_pool_size=200m scope=spfile; alter system set shared_pool_reserved_size=50m scope=spfile; alter system set db_cache_size=100m scope=spfile; alter system set streams_pool_size=100m scope=spfile; alter system set java_pool_size=50m; alter system set processes=500 scope=spfile; |
*java_pool 은 OPEN 상태에서도 바로 변경이 됨
재기동
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 1073741824 bytes Fixed Size 2101808 bytes Variable Size 960499152 bytes Database Buffers 104857600 bytes Redo Buffers 6283264 bytes Database mounted. Database opened. |
변경 결과 확인(v$sgainfo)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SQL> select * from v$sgainfo;SQL> NAME BYTES RES ------------------------------ ---------- --- Fixed SGA Size 2101808 No Redo Buffers 6283264 No Buffer Cache Size 104857600 Yes Shared Pool Size 209715200 Yes Large Pool Size 0 Yes Java Pool Size 54525952 Yes Streams Pool Size 104857600 Yes Granule Size 4194304 No Maximum SGA Size 1073741824 No Startup overhead in Shared Pool 75497472 No Free SGA Memory Available 620756992 11 rows selected. |
조금 더 깔끔하게 확인(v$sgainfo)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | SQL> select name, round(bytes/1024/1024, 2)||'MB' as memory from v$sgainfo; NAME MEMORY -------------------------------- ------------------------------------------ Fixed SGA Size 2MB Redo Buffers 5.99MB Buffer Cache Size 100MB Shared Pool Size 200MB Large Pool Size 0MB Java Pool Size 50MB Streams Pool Size 100MB Granule Size 4MB Maximum SGA Size 1024MB Startup overhead in Shared Pool 72MB Free SGA Memory Available 592MB 11 rows selected. |
변경 결과 확인(v$parameter)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | SQL> set lines 200 set pages 1000 col name for a30 col value for a30 select name, issys_modifiable, value from v$parameter where name in ('sga_target','sga_max_size','db_cache_size', 'shared_pool_size','shared_pool_reserved_size', 'java_pool_size','streams_pool_size','large_pool_size', 'pga_aggregate_target','workarea_size_policy','processes'); NAME ISSYS_MOD VALUE ------------------------------ --------- ------------------------------ processes FALSE 500 sga_max_size FALSE 1073741824 shared_pool_size IMMEDIATE 209715200 large_pool_size IMMEDIATE 0 java_pool_size IMMEDIATE 54525952 streams_pool_size IMMEDIATE 104857600 shared_pool_reserved_size FALSE 52428800 sga_target IMMEDIATE 0 db_cache_size IMMEDIATE 104857600 pga_aggregate_target IMMEDIATE 52428800 workarea_size_policy IMMEDIATE AUTO 11 rows selected. |
모두 정상적으로 변경됨
참조 :
https://sarc.io/index.php/oracledatabase/165-2014-05-12-07-47-49
https://m.blog.naver.com/jyc8618/220160346381
'ORACLE > Admin' 카테고리의 다른 글
오라클 undo tablespace 재생성 (0) | 2020.02.01 |
---|---|
오라클 메모리 관련 정리 (6) | 2020.01.28 |
오라클 .bash_profile 설정 (0) | 2020.01.07 |
오라클 Table Compress 기능 중 oltp와 advanced 옵션 차이점 (0) | 2019.11.22 |
외부에서 오라클 db가 접속 안될 때 확인사항 (0) | 2019.11.19 |