오라클은 DDL을 DML과는 다르게 처리한다.

create table을 진행하면 DB는 create table문을 최적화하지 않는다.

DDL에 대해 일반적으로 오라클은 parse 후 여러개의 recursive SQL 문을 처리해야 한다.

 

CRATE TABLE test_table (column1 number);

 

위 문장을 처리할 때 다음과 recursive SQL 처리 과정을 거친다.

 

1. create table 문 전에 commit 한다.

 

2. 유저권한과 create table 권한을 확인한다.

 

3. 테이블이 어떤 테이블스페이스에 저장될지 정한다.

 

4. 테이블스페이스의 quota를 넘지 않도록 보장한다.

 

5. 같은 스키마에 같은 object가(이름이) 없는지 보장한다.

 

6. Dictionary에 테이블 정의를 한 row들을 insert한다.

 

7. 성공한다면 commit 실패한다면 rollbckup한다.

'Knowledge > Oracle' 카테고리의 다른 글

sqlplus 접속 hang시에 접속 방법  (0) 2016.05.27
impdp, imp 주의사항  (0) 2016.03.20
SQL Loader Direct Load  (0) 2015.10.05
undo 관련 좋은 링크  (0) 2015.09.15
null 관련 주의사항  (0) 2015.07.10
Posted by neo-orcl
,