본문 바로가기

플밍 is 뭔들/DB

[오라클] SQL Plus를 이용한 대용량 데이터 export 이번에 일을 하면서 천만건이 넘는 자료를 임포트와 익스포트하다 보니 툴에서 지원하는 기능으로는 한계가 있었다. 그래서 export 는 sqlplus 를 이용하고 import는 sqlloader를 이용하여 작업하였다. sqlloader는 아래 글에 남겨놨으므로 생략한다. SQL PLUS를 이용하면 많은 양의 데이터를 익스포트 할때 유용하다. 사용법은 아래와 같다. ※ SQL PLUS 사용법 확장자가 sql인 파일을 만든다. cmd창에서 SQL Plus를 실행한다. ※ 상세방법 확장자가 sql인 파일을 만든다 . SPOOL 명령으로 테이블의 데이터를 파일로 출력하는 방법을 사용한다. 아래와 같은 옵션을 주고 확장자가 sql인 파일을 만든다 SET ECHO OFF // 실행하는 SQL문을 출력하지 않는다. S.. 더보기
[오라클] SQL Loader 사용법 (.dat파일을 DB에 임포트 해보자) 이번에 엄청난 데이터를 받았다... 몇백만 건이 넘는 .dat파일 세개... 이럴때 바로 SQL Loader를 쓰면 엄청난 양의 데이터, 그리고 .dat확장자를 가진 데이터를 빠르고 쉽게 테이블에 삽입할 수 있다. ※ SQL Loader 사용법 데이터를 임포트할 테이블을 생성한다. 컨트롤 파일을 만든다. cmd창에서 SQL Loader를 실행한다. ※ 상세방법 데이터를 임포트할 테이블을 생성한다. - 생략 컨트롤 파일을 만든다. - SQL Loader를 사용하기 위해서는 컨트롤 파일이란것이 필요하다. 컨트롤 파일은 데이터 임포트를 하기위한 일종의 설정파일이다. 메모장에 작성한 후 확장자를 .ctl로 저장하자. ctl 파일 내용은 아래와 같다. options(skip =1) load data infile .. 더보기
데이터베이스 유저 생성 및 DBA 권한주기 1.유저생성 create user USERID identified by PW defualt tablespace users temporary tablespace temp; 2.DBA 권한주기 grant dba to USERID 더보기
NOT IN의 함정... 조건은 맞는데 데이터가 안나올때.. 문제의 쿼리... SELECT * FROM TABLE_NAMEWHERE UPPER_CODE NOT IN ( SELECT UPPER_CODE FROM TABLE_NAME) 이런식으로 두 UPPER_CODE라는 항목을 비교했는데 데이터를 일일이 비교해보고 조건이 맞는데도 IN은 정상적으로 데이터가 나오는데 NOT IN 은 정상적으로 데이터가 나오지 않는것이었다. (아애 데이터가 나오지 않았다) 왜그런고 하니 NOTIN 괄호 안에 결과값에 NULL이 있었기 때문이다... SELECT * FROM TABLE_NAMEWHERE UPPER_CODE NOT IN ( SELECT UPPER_CODE FROM TABLE_NAME WHERE UPPER_CODE IS NOT NULL) 그래서 결국은 위와 같이 IS NOT .. 더보기