DB 파라미터 튜닝
Tibero 데이터베이스 파라미터 튜닝에 대해 설명합니다.
위치지정 파라미터
다음은 위치지정 파라미터의 종류입니다.
파라미터
설명
CONTROL_FILES
컨트롤 파일들의 위치를 절대 경로로 지정하고 장애에 대비하여 별도의 디스크로 이중화 수행
예 : /data01/Tibero_Data/c1.ctl, /data02/Tibero_Data/c2.ctl
DB_CRE ATE_FILE_DEST
데이터 파일이 저장되는 위치를 절대 경로로 지정하고 I/O 분산을 위해서 데이터 파일들을 여러 디스크로 분산
LOG_ARCHIVE_DEST
아카이브 로그가 저장될 위치를 절대 경로로 지정하고 데이터 파일이나 로그 파일의 위치와 분리
Optimizer 설정 파라미터
다음은 Optimizer 설정 파라미터의 종류입니다.
파라미터
설명
OPTIMIZER_MODE
Optimizer의 모드를 설정하는 파라미터
FIRST_ROWS_n
최초 n개의 결과를 빨리 응답하기 위해 최적화를 수행
ALL_ROWS
전체 결과를 응답하는 데 가장 비용이 적게드는 수행 방법을 결정
Execute 메모리 파라미터
다음은 Execute 메모리 파라미터의 종류입니다.
파라미터
설명
SORT_AREA_SIZE
정렬 작업을 위한 크기를 설정하며
EX_MEMORY_AUTO_MANAGEMET가 Y이면 무시된다.
HASH_AREA_SIZE
해시 작업을 위한 크기를 설정하며 EX_MEMORY_AUTO_MANAGEMET가 Y이면 무시된다. EX_MEMORY_AUTO_MANAGEMENT는 Execute 메모리 영역을 메모리 튜너를 통해 자동으로 설정 또는 sort_area_size, hash_area_size 등을 수동으로 설정할지를 결정한다.
EX_MEMORY_HARD_LIMIT
Execute 메모리의 사이즈를 정의한다.
EX_MEMORY_SOFT_LIMIT_RATIO
Execute 메모리 중 sort, join 등의 작업에서 사용할 수 있는 Execute 메모리의 비율을 정의한다. (기본값 : 80%)
EX_MEMORY_OPERATION_LIMIT
Sort, Join과 작업 하나에 할당해 줄 수 있는 Execute 메모리의 최대값 을 정의 한다. (기본값 : 0)
하나의 작업이 많은 Execute 메모리 사용을 방지한다.
EX_MEMORY_DRIFT_CHECK_IN TERVAL
급격한 메모리 변화를 감지하기 위하여 0.1초 주기로 검사한다. (기본 값 : 2)
Execute 메모리의 변화량이 전체 EX_MEM 양의 10%를 넘는지 검사 하고 10%를 넘으면 drift 한다.
EX_MEMORY_COMPEN SATE_INTERVAL
SOFT_LIMIT_RATIO, OPERATION_LIMIT의 재설정 주기를 0.1초 단위로 정의한다. (기본값 : 30)
기타 설정 파라미터
다음은 기타 설정 파라미터의 종류입니다.
파라미터
설명
CURSOR_SHARING
유사한 SQL의 경우 SQL 문장의 커서 공유 여부를 설정한다
EXACT : 문장의 텍스트가 완전히 동일해야 공유한다.
FORCE : SQL 문장 중 WHERE 절의 리터럴만 다를 경우에도 공유한다.
DB_FILE_MULTI BLOCK_READ_COUNT
전체 Table을 스캔할 때 디스크 상의 데이터 파일에서 여러 Block을 한번에 읽는 Block 수를 정의한다.
스캔에 필요한 I/O 호출 수를 줄일 수 있어 풀 Table 스캔의 성능을 향상할 수 있다. (기본값 : 32)
인스턴스 레벨에서 설정 플랫폼별로 해당 파라미터에 대한 제한이 다르므로 확인을 해야한다.
UNDO_RETENTION
Undo 정보를 재사용하기 전에 디스크에 저장하고 있을 시간을 초 단위로 설정 한다.
'Snapshot too old' 같은 에러 발생을 줄이는 데 도움이 된다.
Undo Tablespace에 충분한 공간이 있거나 확장하여 공간을 확보할 수 있으면 Undo 정보는 트랜잭션이 만료되기 전까지 재사용되지 않는다. 공간이 충분하지 않더라도 트랜잭션은 실패하지 않는다. Commit 된 트랜잭션이 생성 한 Undo 공간을 재사용할 수 있다. 그래도 부족하면 오류가 발생한다.
데이터베이스 I/O 튜닝
디스크 I/O를 최소화하기 위해서 파일을 여러 디스크와 컨트롤러로 분산합니다.
다음은 데이터베이스 I/O를 튜닝할 때 고려해야 할 사항입니다.
파일 분산
데이터 파일, Redo Log 파일, Archivelog 파일을 별도의 디스크에 위치시키고 Redo Log 그룹의 멤버들도 별도의 디스크로 분리합니다.
Tablespace
시스템 Tablespace에는 데이터 Dictionary 정보만 저장하고, Table과 인덱스는 별도의 Tablespace로 분리하여 LOB 타입의 데이터나 파티션의 경우 별도의 Tablespace를 사용합니다.
데이터베이스 I/O 튜닝 모니터링
V$FILESTAT 동적 성능 View를 사용하여 I/O가 많이 발생하는 파일이 하나의 Device에 몰리지 않도록 분산합니다.
디스크 I/O 튜닝
디스크 I/O는 데이터베이스의 성능에 가장 영향을 주는 요인으로 디스크 I/O를 튜닝할 때 고려해야 할 사항은 다음과 같습니다.
호스트와 디스크 사이의 인터페이스 : EIDE, SCSI, Ultra SCSI로 구성할 수 있습니다.
RAID 구성 : RAID 0, RAID 1, RAID 5, RAID 0+1, RAID 1+0으로 구성할 수 있습니다.
파일 시스템 : Read 성능 향상을 고려합니다.
Raw Device : Write 성능 향상을 고려합니다.
튜닝 요소
여러 디스크와 디스크 제어 장치에 로드를 균등하게 분산하여 I/O 성능의 향상을 고려합니다. 디스크의 수 가 많을수 록 디스크 병목 현상이 감소하기 때문에 다수의 소용량 디스크가 소수의 대용량 디스크보다 높은 성능을 발휘할 수 있습니다.
Last updated