[Oracle] 외부 테이블(External Table) 생성 - SQL*Loader

·2025년 9월 15일
0

오라클 관리

목록 보기
141/163


[이론1] external 테이블이 필요한 때

💡 엑셀 파일이나 csv 파일을 오라클 데이터베이스에 테이블로 생성하려면 뭐가 필요할까?
1. 데이터베이스에 여유 공간이 있어야함
2. temp 테이블스페이스의 공간이 넉넉해야함
3. undo 테이블스페이스의 공간이 넉넉해야함

import를 하다가 락 걸리듯이 멈춰있으면 반드시 alert log file을 열어봐야함


[실습1] SQL*loader를 사용해서 외부 테이블 만들기

* SQL*loader 를 엔진으로 하는 external table 실습 

1. emp1.txt 편집(/home/oracle/emp1.txt)

$ vi  emp1.txt

SMITH,101,2001/03/15
JOHN,102,2002/04/15

2. Directory 생성

SYS> grant  create  any directory  to  scott; 

SQL> connect  scott/tiger

SQL> create directory emp_dir as '/home/oracle/';
 
3. External table 생성

SQL> create table ext_emp
         (emp_id number(3),
           emp_name varchar2(10),
           hiredate date)
           organization external
          (type oracle_loader
           default directory emp_dir
           access parameters
           (records delimited by newline
            fields terminated by ","
           (emp_name char,
            emp_id char,
            hiredate date "yyyy/mm/dd") )
            location ('emp1.txt') );
 
4. Select & DML 테스트


SQL> select * from ext_emp;

ㄴ insert를 하지 않아도 select 가능
ㄴ 오직 select만 가능(그 외 update, delete 등등은 불가)


[문제1] ext_emp 테이블의 데이터를 update 문으로 변경해보시오

💡 update, insert, delete 모두 안됨. 오직 select만 가능
--> join은 가능하지만 index 생성불가


문제2. dept.txt 파일을 가지고 ext_dept 라는 외부 테이블을 생성하시오

$ vi  dept.txt

10,ACCOUNTING,NEWYORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON

답:

create table ext_dept
 (deptno number(10),
   dname varchar2(20),
   loc varchar2(20))
   organization external
  (type oracle_loader
   default directory dept_dir
   access parameters
   (records delimited by newline
    fields terminated by ","
   (deptno char,
    dname char,
    loc  char) )
    location ('dept.txt') );
        
        
SCOTT @ ORA19 > select * from ext_dept;

    DEPTNO DNAME                LOC
---------- -------------------- --------------------
        10 ACCOUNTING           NEWYORK
        20 RESEARCH             DALLAS
        30 SALES                CHICAGO
        40 OPERATIONS           BOSTON

SCOTT @ ORA19 >

0개의 댓글