본문 바로가기

빅데이터과정/WORKSHOP 1

#24_140716_WSHOP_DIRECT LOAD INSERT

728x90

# DIRECT LOAD INSERT





17오라클의 데이터 이행방법 3가지

1.     direct load insert : 서브쿼리를 사용한 insert 인데 high water mark 위쪽으로 insert

2.     direct path insert (SQL*Loader) : 외부의 text file DB의 테이블에 입력

3.     data pump : 데이터베이스와 데이터베이스간의 데이터 이상


논리적인 테이블을 물리적 덤프 파일로 생성해서 데이터를 이동(주루 백업할 때 사용)






문제148. scott 으로 접속해서 emp 테이블과 똑 같은 구조를 갖는 emp700 테이블을 생성하고high water mark 위쪽에 데이터를 입력하시오

SQL> insert /*+ append */ into emp700
select * from emp where job='SALESMAN';
SQL> select * from emp700;
select * from emp700
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel
위와 같이 오류를 출력하지만 commit을 하면 hith water mark의 기준이 위로 올라가게 되고 힌트 구문을 쓴 select 조회가 가능하다
SQL>insert /*+ append */ into emp700

select * from emp where job='SALESMAN';

full table scan 을 하게 되면 항상 high water mark 까지 데이터를 읽는다

high water mark 위쪽으로 data를 입력했으면 commit을 해야 high water mark 가 입력한 데이터 위로 올라간다