사용 목적
Large Pool 은 필수 메모리 영역은 아니지만 Shared Pool 의 부하를 감소시키는 등 몇가지 성능에 영향을 주기 때문에 지정해서 사용하는 편이 좋다.
1. Shared Server (= MTS : Multi Thread Server)
Shared Server 를 사용하면 Server Process 는 UGA (User Global Area)를 Shared Pool에 위치 하고 사용한다.
2. Parallel Processing (병렬 프로세싱)
대용량의 데이터에 Access할 때 성능을 위해 병렬작업을 이용하게 된다. 하나의 SQL을 수행시에 동시에 여러개의 process가 동작하게 되는데 Thread으로 동작하는 프로세스간에 메시지를 이용하여 Thread 동기화를 이뤄낸다. 이 때 이 메시지를 PX MSG(
PARALLEL EXECUTION MESSAGE) 이라 하고 Shared Pool 을 사용하여 서로 메시지를 주고 받게 된다.
- Large Pool 을 사용하고 PARALLEL_AUTOMATIC_TUNING 초기화 파라미터를 true 설정.
10g 문서에
PARALLEL_AUTOMATIC_TUNING 은 더이상 사용하지 않은 파라미터로 명시되어 있다.
만약 spfile을 사용중일 때 ALTER SYSTEM SET PARALLEL_AUTOMATIC_TUNING = true scope=spfile 이렇게 했다면 재시동시 ORA-32004: obsolete and/or deprecated parameter(s) specified ( deprecated 파라미터를 사용해서 발생)에러가 발생한다. 이때는 false 으로 바꿔도 소용없고 pfile을 생성하여 PARALLEL_AUTOMATIC_TUNING 항목을 아에 제거해야 한다.
3. I/O server processes
DBWn Process 는 I/O 작업을 여러개의 Slave Process 를 동작시켜 빠르게 수행한다. 이때 Slave Process 사이에서도 PX MSG를 사용하게 되는데 Shared Pool 을 사용한다.
4. RMAN
백업 복구를 위한 RMAN 은 Large Pool 을 필요로 한다. 또한 I/O 발생시 다수의 Slave Process 를 사용하게 되므로 PX MSG 를 주고받는다.
Large Pool 사용 설정
- BACKUP_DISK_IO=n
- BACKUP_TAPE_IO_SLAVE = TRUE
-
SQL> SELECT * FROM V$SGASTAT WHERE pool = 'large pool' -- 수정 전 POOL NAME BYTES ------------ -------------------------- ---------- large pool PX msg pool 206208 large pool free memory 3988096 SQL> alter system set large_pool_size = 20m; -- 수정 후 POOL NAME BYTES ------------ -------------------------- ---------- large pool PX msg pool 206208 large pool free memory 20765312-
&
'Oracle > Architecture' 카테고리의 다른 글
Block Cleanout (0) | 2012.05.15 |
---|---|
선 로그 기법 (0) | 2012.05.15 |
다중 Block SIZE (0) | 2012.04.12 |
SORT와 PGA_AGGREGATE_TARGET (2) | 2012.04.10 |
[Storage - 3] Segment (0) | 2012.01.27 |