본문 바로가기

플밍 is 뭔들/DB

[오라클] SQL Plus를 이용한 대용량 데이터 export

이번에 일을 하면서 천만건이 넘는 자료를 임포트와 익스포트하다 보니 툴에서 지원하는 기능으로는 한계가 있었다.

그래서 export 는 sqlplus 를 이용하고 import는 sqlloader를 이용하여 작업하였다.
sqlloader는 아래 글에 남겨놨으므로 생략한다.

SQL PLUS를 이용하면 많은 양의 데이터를 익스포트 할때 유용하다.
사용법은 아래와 같다.

※ SQL PLUS 사용법
  1. 확장자가 sql인 파일을 만든다.
  2. cmd창에서 SQL Plus를 실행한다.

※ 상세방법
  1. 확장자가 sql인 파일을 만든다 .

     SPOOL 명령으로 테이블의 데이터를 파일로 출력하는 방법을 사용한다.
     아래와 같은 옵션을 주고 확장자가 sql인 파일을 만든다

     SET ECHO OFF // 실행하는 SQL문을 출력하지 않는다.
     SET PAGES 0 // 한 페이지로 정리할 라인 수, 0으로 입력시 heading, page break, title을 표시하지 않는다.
     SET TRIMSPOOL ON // 라인 뒤 공백을 제거한다. 
     SET COLSEP '|' // 컬럼 간 데이터 구분자
     SET LINES 30000 //한 라인에 표시할 글자 수
     SET TERMOUT OFF // SQL문으로 실행한 결과를 표시하지 않는다.
     SET FEED OFF  // SQL로 실행한 결과의 건수를 표시하지 않는다.
     SPOOL C:\생성될 파일경로\파일명.csv;
     SELECT * FROM TABLE WHERE CODE = '01000';
     SPOOL OFF
     QUIT

  1. cmd창에서 SQL Plus를 실행한다.
     
     위의 .sql파일이 있는 경로로 cd를 이용해 들어간 후
     sqlplus id/pw @파일명.sql 
     입력