다른 명령
CTAS NOLOGGING 및 UNRECOVERABLE 사용방법
- Create Table As Select 의 약어
- 테이블을 SELECT 한후 테이블을 생성 하는 방법
- 인덱스는 생성되지 않음. 테이블 관련된 모든 인덱스(PK / UK / FK ) 생성되지 않음.
CTAS Syntax
CREATE TABLE emp_backup [ TABLESPACE T/S명 ] -- 테이블 스페이스 지정시 [ LOGGING | NOLOGGING ] -- 리두 로그 정보가 만들어지지 않도록 함. 아래 UN/RECOVERABLE 옵션과 동시에 사용할수 없음. [ RECOVERABLE | UNRECOVERABLE ] -- 복구하지 않음을 명시함. [ COMPRESS ] [ PARALLEL 갯수 ] AS SELECT * FROM emp;
- 데이터는 입력 하지 않고 테이블만 생성할경우
CREATE TABLE emp_backup NOLOGGING AS SELECT * FROM emp WHERE 1=2 -- ;
CTAS를 이용한 REORG 방법
1. Create a copy of the original table using CTAS.
SQL> create table new_table as select * from old_table;
2.Drop the original table and all indexes/constraints
SQL> drop table emp cascade constraints;
3.Rename new table
SQL> alter table new_emp rename to old table name;
- 주의 사항) 테이블 Move시에 모든 rowid값이 변경되기 때문에 인덱스를 반드시 재생성 하거나 리빌드 해야한다.