Текс формат бүхий нэг формат бүхий файлыг бид Oracle Server руу оруулан ашиглаж болно. a.txt файл доторх мэдээллийг хэрхэн унших талаар жишээн дээр тайлбарлая.
a.txt файлд дараах мэдээллүүд байгаа. Мөн файл хаана байрлаж байгаа замыг харна уу.
[oracle@node214 d1]$ cat a.txt
1,Bold,Sugar
2,Dondog,Dulam
3,Bat,Dorj
4,Sukh,Bat
5,George,Washington
[oracle@node214 d1]$
[oracle@node214 d1]$ pwd
/home/oracle/sqlloader/d1
SCOTT хэрэглэгчид шаардлагатай эрхүүдийг өгч уг хэрэглэгчээр нэвтрэн орж дээрх файлын мэдээллийг унших болно.
[oracle@node214 dbca]$
[oracle@node214 dbca]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jan 24 03:29:58 2017
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> -- scott хэрэглэгчид хавтас үүсгэх эрх өгнө. Учир нь тухайн хавтсанд буй файлтай ажиллана
SQL> grant create any directory to scott;
Grant succeeded.
SQL> -- SCOTT хэрэглэгчийн нууц үгийг сольж идэвхжүүлнэ
SQL> alter user scott identified by s account unlock;
User altered.
SQL> -- SCOTT хэрэглэгчийн эрхээр нэвтэрч орно
SQL> conn scott/s
Connected.
SQL> -- a.txt файл байрлах хавтаст Alias үүсгэнэ
SQL> create or replace directory d1 as '/home/oracle/sqlloader/d1';
Directory created.
SQL> -- SCOTT хэрэглэгчийн хүснэгтүүдийн жагсаалтыг харна
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
SALGRADE
BONUS
EMP
DEPT
SQL> --- cat /home/oracle/sqlloader/d1/a.txt ---
SQL> --- 1,Bold,Sugar --- .... файлын агуулгыг харах
SQL>
SQL> --- Тухайн мэдээлэлд зориулсан хүснэгт үүсгэх
SQL> create table t1 (id number, fname varchar2(20),lname varchar2(20))
organization external
(type oracle_loader
default directory d1
access parameters
( records delimited by newline
fields terminated by ',' )
location ('a.txt') )
/
SQL> /
Table created.
SQL> -- t1 хүснэгтний бүтцийг харах
SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
FNAME VARCHAR2(20)
LNAME VARCHAR2(20)
SQL> -- хүснэгтний мэдээллийг сонгож харах. Зөвхөн унших эрхтэйгээр хандана
SQL> select * from t1;
ID FNAME LNAME
---------- -------------------- --------------------
1 Bold Sugar
2 Dondog Dulam
3 Bat Dorj
4 Sukh Bat
5 George Washington
Дээрх жишээний дагуу бид файлуудыг хүснэгт хэлбэр рүү хөрвүүлэн ашиглах боломжтой.
Мөн бид хүснэгтийг шууд dump болгон хадгалж болно.
SQL> CREATE TABLE t2
ORGANIZATION EXTERNAL
( TYPE oracle_datapump
DEFAULT DIRECTORY d1
LOCATION ('e.dmp')) as select * from emp;
SQL>
SQL> /
Table created.
e.dmp файл үүссэн эсэхийг шалгах
[oracle@node214 d1]$ ls -la /home/oracle/sqlloader/d1 | grep e.dm
-rw-r----- 1 oracle oinstall 12288 Jan 24 03:44 e.dmp
[oracle@node214 d1]$
Одоо гаргаж авсан файлыг өөр хүснэгт рүү оруулж үзье.
SQL> drop table t2;
SQL> CREATE TABLE t2 (empno number,ename varchar2(40))
ORGANIZATION EXTERNAL
( TYPE oracle_datapump
DEFAULT DIRECTORY d1
LOCATION ('e.dmp'))
/
Table created.
SQL> desc t2
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NUMBER
ENAME VARCHAR2(40)
SQL> select * from t2;
EMPNO ENAME
---------- ----------------------------------------
7369 SMITH
7499 ALLEN
7521 WARD
...
...