프린트 하기

내맘대로긍정이 알려주는

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

다운로드 trending_flat

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/10242)||'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

https://db.necoaki.net/120