오라클 LOGGING 과 NOLOGGING

출처 : http://blog.naver.com/PostView.nhn?blogId=websearch&logNo=70037612764


LOGGING 과 NOLOGGING 은 CREATE TABLE
구문과 함께 지정할 수 있는 선택적인 파라미터이다. LOGGING 이라는 용어는 오라클 리두 로그를 의미하는 것으로 데이터베이스
내의 데이터에 대한 모든 변경 사항을 기록하기 위해 사용된다.

 

CREATE TABLE 구문에 NOLOGGING 이 지정되면 NOLOGGING 으로 테이블이 만들어진다. NOLOGGING 으로 만들어진 테이블은 LOGGING 테이블보다 좀 더 적은 리두 로그 기록을 필요로 한다. NOLOGGING 으로 만들어진 테이블에 INSERT, UPDATE, DELETE 등의 작업을 수행하면 리두 로그가 전혀 생성되지 않을 것이라고 생각하기 쉽지만 이는 사실이 아니다.

 

NOLOGGING 으로 만들어진 테이블에 리두 로그 생성이
억제되는 것은 사실이지만 로그 생성을 억제하는 것은 특정한 작업에 한정되어 있으며 이러한 특정한 작업은 아래의 리스트와 같다.
아래의 리스트를 제외하면 NOLOGGING 으로 만들어진 테이블의 모든 작업은 리두 로그를 생성하게 된다.

 

* CREATE TABLE AS SELECT

* SQL*LOADER 직접 경로 로그

* 직접 경로 추가 (/* + APPEND */ 힌트를 통해)

 

리두 로그 기록을 완벽하게 피하는 방법은 전역 임시 테이블을 이용하는 방법 뿐이다.

 

[출처] Beginning Oracle Programming – 페이지 268 ~ 페이지 269

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다