💡 엑셀 파일이나 csv 파일을 오라클 데이터베이스에 테이블로 생성하려면 뭐가 필요할까?
1. 데이터베이스에 여유 공간이 있어야함
2. temp 테이블스페이스의 공간이 넉넉해야함
3. undo 테이블스페이스의 공간이 넉넉해야함
import를 하다가 락 걸리듯이 멈춰있으면 반드시 alert log file을 열어봐야함
* 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 등등은 불가)
💡 update, insert, delete 모두 안됨. 오직 select만 가능
--> join은 가능하지만 index 생성불가
$ 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 >