4.2 시스템 글로벌 영역
SGA
- 모든 오라클 프로세스가 여러 경로를 통해 접근할 수 있는 공유 메모리 구조
- 다양한 크기로 설정 가능
- 유닉스 환경에서는 운영 체제 명령어로 그 개체를 확인할 수 있다.
- SGA는 독립적인 개체로 오라클 프로세스가 없어도 존재가 가능하다.
- V$SGASTAT을 통해 SGA를 확인할 수 있다.
다음과 같이 종류별로 나뉜다.
- Java Pool : 데이터베이스내의 jvm이 사용하는 공간
- Large Pool : shared server 환경에서 세션별로 할당할 메모리영역. 메시지 버퍼를 위한 병렬 실행 기능, 디스크 I/O 버퍼를 위한 RMAN 백업등에 활동
- Shared Pool : 공유 커서, 공유 프로시져, 고정 오브젝트, 딕셔너리 캐쉬와 같은 많은 데이터를 포함하는 공간
- Streams Pool : Oracle Stream 이 독점적으로 사용하는 메모리
- 'null' Pool : 블록 버퍼, 리두 로그 버퍼, fixed SGA 영역이 있다.
영향을 미치는 파라메터들
- JAVA_POOL_SIZE : java pool 크기 제어
- SHARED_POOL_SIZE : shared pool의 크기 제어
- LARGE_POOL_SIZE : large pool 크기 제어
- DB_*_CACHE_SIZE : 여덟 가지 종류의 cache_size 파라미터는 다양한 버퍼 캐쉬에서 사용할 수 있는 메모리 크기를 제어
- LOG_BUFFER : 리두 버퍼의 크기를 제어
- SGA_TARGET : 오라클 10g 이상에서 자동 SGA 메모리 관리기법을 사용할 때 적용
- SGA_MAX_SIZE : 데이터 베이스가 가동중인 상태에서 SGA의 크기를 재조종할 수 있는 최고값을 제어할 때 사용
- MEMORY_TARGET : 자동 메모리 관리 환경에서 사용
- MEMORY_MAX_SIZE : 오라클이 자동 메모리 관리 상에서 PGA와 SGA의 크기를 제어하기 위해 참고용으로 사용하는 메모리량의 최대값을 제어할 때 사용. 설정하는 것은 그냥 목표값일 뿐.
- 오라클 10g 부터 자동 SGA 메모리 관리 가능 : 여러 SGA 파라미터를 무력화 시키고, SGA_TARGET 값만으로 메모리 설정 관리
- 오라클 11g 부터 자동 메모리 관리 가능 : 다른 파라메터 모두 무시 하고 MEMORY_TARGET 설정하여 관리
granule
- 메모리 설정 최소 할당 단위
- 4,8,16M 사이즈로 할당됨.
- granule이 4M인 경우 5M로 설정 요청을 하면 8M가 할당됨.
- V$SGA_DYNAMIC_COMPONENTS 로 확인 가능
SQL> compute sum of byte on pool
SQL> break on pool skip 1
SQL>
SQL> select pool, name, bytes from v$sgastat order by pool, name;
POOL NAME BYTES
------------ -------------------------- ----------
java pool free memory 16777216
large pool ASM map operations hashta 393216
PX msg pool 516480
free memory 15867520
shared pool 1:kngisga 32096
AQ Propagation Scheduling 16000
ASH buffers 8388608
ASM extent pointer array 2404400
ASM file 27576
POOL NAME BYTES
------------ -------------------------- ----------
shared pool ASM map operations 12280
ASM rollback operations 2392
ASM scan context 3288
AW SGA 40
AWR Table Info (KEW layer 1072
Active Session History - 1528
Alert log 520
ArchLog Dest Array 7744
Array of cached attr 400
Auto tune undo info 96
BRANCH TABLE SEGMENTED AR 211720
POOL NAME BYTES
------------ -------------------------- ----------
shared pool Background process state 48
Banner Storage 2048
CCursor 53555576
CGS system incarn array 24864
Checkpoint queue 3284992
Cleanup state objects 1600
Client ID trace setting h 536
Client ID trace settings 3928
Closed Thread SCN Bitvec 33792
Core dump directory 520
Cursor Stats 4951456
POOL NAME BYTES
------------ -------------------------- ----------
shared pool DBWR array of pointers to 128
DBWR event stats array 3072
DISPATCHER CONFIG ENTRY 88
DISPATCHER CONFIG TABLE 2048
DISPATCHERS INFO 2448
DML lock 1679480
Detached dump directory 520
ENQUEUE STATS 18144
File Space Usage 11344
FileIdentificatonBlock 526656
FileOpenBlock 11479664
POOL NAME BYTES
------------ -------------------------- ----------
shared pool Global Context Heap descr 400
HTTP fixed headers 72
Heap0: KGL 9591976
IO_SHARES_KGSKCAP 8
JSX SGA 2560
KCB Table Scan 40
KCB Table Scan Bitmap 256
KCB Table Scan Buffer 4198400
KCB buffer wait statistic 3352
KCB incremental ckpt entr 512
KCB private handles 12000
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KCB tablespace encryption 1664
KCB undo bitvec 4096
KCB where statistics arra 33984
KESTB existence bitvec 262144
KESTB existence bitvec se 2048
KEWS External IDs 1536
KEWS aggregation objs 4032
KEWS fixed SGA 4600
KEWS sesstat seg tbl 8
KEWS sesstat values 601120
KEWS statistic maps 2808
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KEWS statistic metadata 13056
KEWS statistic name 1896
KEWS sysstat values 256
KFD extent enqueue obj 42816
KFG SO child 7544
KFG state obj 6776
KFK SGA 4160
KFK idtab_kfksg 50496
KFM state obj 2904
KGI Session State 1800
KGKP randnum 40000
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KGKP sga 32
KGL Name 957168
KGL buckets 5242880
KGL handle 25005128
KGL hash table 4112
KGL object 3628512
KGLS SD 3264
KGLS SGA 24
KGLS SP 5432
KGLS heap 1193184
KGNFS scontext 524448
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KGSK scheduler 340256
KGSK sga 5336
KGSKI schedule 540344
KGSKI scheduler heap 1 de 232
KGSKI scheduler heap 2 de 232
KGSKI sga 88
KGX 122984
KGX rowlist 5920
KKJ SGA 912
KKJ SHRD WRQS 288
KKJ WRK LAT 480
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KKKI consumer 4136
KQF optimizer stats table 6280
KQF runtime defined table 576
KQR L PO 12777128
KQR L SO 979488
KQR M PO 3382840
KQR M SO 9818208
KQR S SO 65184
KQR X PO 2816
KRBMROS ANCHOR 96
KRSF SGA 40
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KSFD SGA I/O b 4190248
KSFQ buffer pool 3032
KSFV SGA 832
KSI Indexes 288
KSI resource types 2704
KSIR SGA 144
KSK OSS PLAN 3360
KSK SGA 150408
KSK VT POOL 1319280
KSN WaitID 1560
KSPD key heap 4136
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KSQ event description 7120
KSRPC I/O Stat array 144
KSRPC I/O Stat array ptr 16
KSVR SGA 2384
KSXP test table columns d 1320
KSZ sga subheap descripto 136
KTA latches 2024
KTC cch latches 1760
KTC latch cleanup 384
KTC latches 1760
KTCN global clauses ht 136
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KTCN global operands ht 136
KTCN global operators 64
KTCN queries hash table 136
KTCN: Hash Table Segmente 5240
KTCN: Obj Invalidation Se 21592
KTCN: Row Change Segmente 34552
KTCN: query inv Segmented 3928
KTCNC inv hashtable 136
KTCNQROW colname ptrs 344
KTCNQROW colnames 1296
KTCTSNL freelists 88
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KTCTSNL subheaps 1496
KTCTSNLST subh 45496
KTF MAPPINGS 12288
KTI freelists 88
KTI latch structure 19360
KTI latches 3872
KTI pool states 128
KTI-UNDO 8522272
KTPR HIST TB 2808
KTPR SUBHEAP 168
KTSL lat struct 40960
POOL NAME BYTES
------------ -------------------------- ----------
shared pool KTSL reco struct 22528
KTU lat struct 800
KTU latch cleanup 624
KTU latches 600
KTUR HIST INFO 4840
KUPP subheap desc 232
KYWM CROSS INSTANCE 2424
KYWM RPLY CROSS INSTANCE 51200
KYWM SGA 224
LGWR debug module memory 8192
LGWR post requested array 64
POOL NAME BYTES
------------ -------------------------- ----------
shared pool LGWR-network Server info 27648
LISTEN ADDRESS ENTRY 160
LISTEN ADDRESS TABLE 2048
LRMPD SGA Table 229488
Label Cache Heap descrptr 160
Log Archive Config Contex 360
MS alert log 72704
MTTR advisory context 1648
Managed Standby Proc Arra 24576
MinActScn Array 320
Monitor Modification Hash 512
POOL NAME BYTES
------------ -------------------------- ----------
shared pool NETWORK BUFFER 32808
Nettimeout Histogram 48800
OS file lock 8632
OS proc request holder 16912
PARALLEL T RECO LATCH 2560
PARAMETER ENTRY 80
PARAMETER TABLE 2048
PCursor 39272272
PG latch table 640
PL/SQL DIANA 18909928
PL/SQL MPCODE 17037680
POOL NAME BYTES
------------ -------------------------- ----------
shared pool PLS SGA hp 46320
PLS cca hp desc 352
PLS chunk 352
PQ/BizCard 1536
PQ/ResSched 1040
PRESENTATION TABLE 2048
PX QC deq stats 1656
PX QC msg stats 2728
PX msg pool struct 1088
PX server deq stats 1656
PX server msg stats 2728
POOL NAME BYTES
------------ -------------------------- ----------
shared pool PX subheap 52280
PX subheap desc 256
Parameter Handle 2240
Parameter Table 49176
Policy Cache Heap descrpt 160
Pre-Warm Initialized Seti 2048
Prefetch client count per 32
Prefetch history buffer 11328
Prefetch history buffer a 320
Processor group descripto 256
RTA Boundary Info thread 21120
POOL NAME BYTES
------------ -------------------------- ----------
shared pool RTA read control file ind 4224
RVWR post requested array 64
Result Cache: Bloom Fltr 2048
Result Cache: Cache Mgr 152
Result Cache: Memory Mgr 200
Result Cache: State Objs 2896
Role graph heap 160
Role related heap 160
SAGE commit cache Allocat 80
SAGE commit cache node Al 10240
SCHEDULING POLICY TABLE 168
POOL NAME
....
....