Oracle/Admin2013. 1. 16. 17:58

 

SQL*Loader의 성능을 향상시키는 여러가지 방법들

 

1. Data를 load하는 방식에 따라 성능을 증가시키는 방법이 다름
  1) 기본경로(conventional)

     ROWS=n를 사용하고 bind array를 크게 지정하라.
     (ROWS=n은 n개마다 commit을 하라고 명시하는 것.
      bind array는 bindsize 파라미터에 정의)


  2) 직접경로(direct path) : direct=true 옵션을 지정
      unrecoverable 옵션을 지정하면 더욱더 성능을 높여줌 : redo data를 남기지 않음


  3) 병렬직접경로(parallel direct path)
     direct=true와 parallel=true를 지정할 것.

 

2. data load 전에 index 삭제

 

3. replace 대신에 truncate사용할 것(if 기존 데이터를 삭제한다면)

 

4. 구분자(, | .)대신에 고정폭 데이터를 사용하라.

 

5. 11g 파라미터 변경
   STATISTICS_LEVEL = BASIC 이면 timed_statistics=false;
   STATISTICS_LEVEL = TYPICAL, ALL 이면 timed_statistics=true;

 

 

참고 :

http://databaser.net/moniwiki/wiki.php/SQLLoader%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95

http://satya-dba.blogspot.kr/2009/06/sqlloader.html : 파라미터 정의(히든 포함)

Posted by 자수성가한 부자