imp 시의 속도향상을 위한 팁

2010.10.13 15:15

조인상 조회 수:14032

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

출처 : OTN
+++++++++++++++++++++++++++++++++++++++++++++++++++++++

No. 11193

TIPS(49) : IMPORT PERFORMANCE TIPS
==================================

PURPOSE


[Import 의 Performance]
Oracle import를 실행 시 많이 걸리는 시간을 줄이기 위해 다음의 현상을
적용해 보자.

Explanation


1) System 적 변경

- DB 를 다시 create 할 경우 DB_BLOCK_SIZE를 증가시킨다.
이 block size 가 큰 경우, 더 작은 I/O cycle 이 발생한다.
이 변경값이 permanent한 경우는 변경 전과 비교한 모든 효과를 고려한다.

- 1개의 커다란 rollback segment 를 생성하고, 이외의 rollback segment는
모두 offline 한다.

- 1개의 rollback segment는 import 되어질 table 중 가장 큰 것의 50%
정도로 잡는다. import 는 기본적으로 insert into table_name values
(,,,,,) 이고 이 경우 rollback segment 에는 rowid 만 들어가게 되므로
2개의 같은 size 인 extent를 갖는 rollback 을 생성하면 된다.

- import 가 끝날 때까지 database 를 NOARCHIVELOG mode로 유지한다.
이는 archive log 를 생성하는 overhead 를 없앨 수 있다.

- rollback segment와 마찬가지로, 커다란 redo log file을 생성한다.
클수록 log switch 가 발생하지 않으므로 import 시는 좋다.
작은 size 의 redo log 는 offline 하도록 한다. alert.log 에 나타나는
'Thread 1 cannot allocate new log, sequence 17, Checkpoint not
complete'의 메시지는 좀 더 크거나 더 많은 갯수의 redo log file 이
필요함을 나타낸다.

- 가능하다면 table, rollback, redo log file 이 다른 disk에 있도록 한다.
이는 i/o contention을 줄일 수 있다.

2) Init.ora Parameter 변경

- LOG_CHECKPOINT_INTERVAL을 redo log file의 size 보다 크게 준다.
이 숫자는 OS block 을 의미하여 unix 에서는 512 byte 이다.
이를 크게 하면 log swich time을 줄일 수 있다.

- SORT_AREA_SIZE를 증가시킨다.
인덱스를 아직 생성하지 않았다 하더라도, unique, primary key는 있기
때문이다.
이 값의 증가는 같은 machine 안에 별도의 어떤 작업이 있는가,
free memoty 가 얼마 만큼 있느냐에 따라 다르긴 하지만 평상 시의 5-10
배로 한다.
만일 machine이 swapping이나 paging이 발생하면 더욱 크게 해준다.

3) Import Options 변경

- COMMIT=N option을 사용한다.
이를 사용하면 buffer의 data 가 insert되고 commit함이 아니라, 각
object(table) 의 모든 data가 insert 후 commit 된다.
만일 rollback 이 작다면 이 option 을 이용할 수 없다.

- BUFFER 크기를 크게 한다.
이것 역시 시스템의 다른 activity 나, 데이타베이스 크기에 따라 다르다.
이 값이 크면 export file을 access 하는 횟수를 줄일 수 있다.

- import 시 INDEXES=N option을 사용한다.
만일 index를 생성 시는 SORT_AREA_SIZE 는 더욱 커야 한다.


Reference Documents



none

글 수정:
Min Angel (Yeon Hong Min, Korean)

번호 제목 글쓴이 날짜 조회 수
95 Master Note for Diagnosing ORA-4030 (Oracle Metalink) 조인상 2011.10.31 12664
94 성능분석을 위한 v$sysstat, v$sesstat, v$system_event 조회 조인상 2011.09.27 50449
93 Oracle 7.3.4 for Windows file 조인상 2011.08.31 11885
92 10G: ORA-6512 AT SYS.OLAPIHISTORYRETENTION [ID 266728.1] 조인상 2011.06.23 12351
91 Unix/Linux 에서 exp 동시에 gzip 으로 압축하기 조인상 2011.06.10 10198
90 오라클 11g - ADR/ADRCI : 새로운 alertlog 위치 조인상 2011.05.17 29717
89 오라클 10g 이상의 SGA영역 자동화(sga_target 파라미터) 조인상 2011.04.05 18430
88 HP-UX 에 오라클 설치 조인상 2011.02.18 15743
87 ORA-12705: Cannot access NLS data files or invalid environment specified 조인상 2011.01.01 16478
86 롤백세그먼트 부족에 대한 관리법 (ORA-01555) 조인상 2010.10.13 12455
» imp 시의 속도향상을 위한 팁 조인상 2010.10.13 14032
84 오라클 패치후 각 컴퍼넌트들 버전 확인 쿼리 조인상 2010.10.05 46331
83 오라클 exp 유틸리티를 이용한 백업 조인상 2010.09.15 16900
82 time-based recovery 조인상 2010.08.24 7417
81 오라클 캐릭터셋 변경 조인상 2010.07.30 13488
80 windows용 오라클 온라인 백업 스크립트 file 조인상 2010.07.01 20140
79 오라클 8.1.7 for windows [5] file 조인상 2010.07.01 9351
78 ORA-01089 : 오라클 프로세스를 kill 한 후 로그인 못 할때 조인상 2010.06.20 19424
77 BUFFER HIT RATIO NOTES 조인상 2010.06.15 9938
76 ORA-01632 조인상 2010.05.13 8437
서버에 요청 중입니다. 잠시만 기다려 주십시오...