1 | 커밋 회수가 지나치게 많지 않은가? |
2 | I/O 시스템이 느리지 않은가? |
3 | 리두 데이터가 불필요하게 생성되지는 않은가? |
4 | 리두 버퍼가 지나치게 크지 않은가? |
1 | ☞ 'Nologging' 옵션 사용이 가능하다면, 리두 데이터량을 획기적으로 줄일 수 있으므로, 경합 해소 가능. |
2 | ☞ SQL*Loader로 대량의 데이터 적재 시, 'Direct load option'을 사용함. |
3 | ☞ 임시작업이 필요할 경우, 가급적 'Temporary Table'을 사용함. ☞ 'Temporary Table'을 사용할경우, 비록 언두에 의해 리두는 생성되지만, 데이터에 대한 리두는 생성되지 않기 때문에, 리두 데이터양이 전반적으로 감소함. |
4 | ☞ 인덱스가 있는 테이블에 대해 'Direct load' 작업 수행시, 인덱스를 ''Unusable' 상태로 변경 > 데이터 생성 > 인덱스 'Nologging' 모드로 재구성' 할 경우, 리두 생성 방지 가능. |
5 | ☞ LOB 데이터의 경우 데이터 크기가 크다면, 가급적 'Nologging' 속성 부여함. |
1. 'log file sync' 대기 | ☞ 리두 버퍼의 크기 감소. |
2. 'log buffer space' 대기 | ☞ 리두 버퍼의 크기 증가. |
3. 2개가 동시에 보일 경우 | ☞ '_LOG_IO_SIZE' 히든 파라미터는 리두 버퍼의 내용을 리두 로그 파일에 저장하는 임계치 값. ☞ 'log buffer space' 대기를 줄이기 위해, 리두 버퍼 크기를 증가시키고, '_LOG_IO_SIZE' 사이즈를 감소시켜야 함. |