利用ORACLE_DATAPUMP為驅動建立外部表

skyin_1603發表於2016-09-30
利用ORACLE_DATAPUMP為驅動建立外部表首先要確定將要用那個表來解除安裝,本次就選用scott使用者下的dept表,作為下載表。
1、先讓我們看看dept表的結構:
desc dept
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
DEPTNO                                    NOT NULL NUMBER(2)
DNAME                                              VARCHAR2(14)
LOC                                                VARCHAR2(13)

2、檢視dept表資料:select * from dept;
  DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

3、接著,建立存放外部表的系統儲存目錄與目錄物件:
建立目錄物件dir_home,對映至作業系統目錄/home/oracle,並將讀、寫的許可權賦予SCOTT使用者

    SQL> create or replace directory dir_home as '/home/oracle';
    Directory created.
     SQL> grant read,write on directory dir_home to scott;
     Grant succeeded.
4、oracle_DATAPUMP為驅動建立外部表解除安裝scott下的dept表的策略:
SOL> create table extadd_dept(deptno,dname,loc)
2 organization external
3 (
4 type oracle_datapump
5 default directory dir_home
6 location ('ext1.csv')
7 )
8 as select * from scott.dept;

5、到作業系統的目錄物件所在的路徑檢視由scott下的dept表解除安裝的外部表
[oracle@enmo ~]$ ll
total 444
drwxr-xr-x 2 oracle oinstall   4096 Sep 24 23:14 data
drwxr-xr-x 2 oracle oinstall   4096 Sep 24 19:49 datadump
-rw-r--r-- 1 oracle oinstall   1937 Sep 26 15:08 export.log
drwxr-xr-x 2 oracle oinstall   4096 Sep 26 15:43 ext
-rw-r----- 1 oracle oinstall  12288 Sep 26 15:48 ext1.csv
-rw-r--r-- 1 oracle oinstall     82 Sep 26 15:50 EXTADD_DEPT_11017.log
-rw-r--r-- 1 oracle oinstall     41 Sep 26 22:00 EXTADD_DEPT_12220.log
-rw-r--r-- 1 oracle oinstall   1648 Sep 26 15:25 import.log
drwxr-xr-x 2 oracle oinstall   4096 Sep 28 22:14 rec
-rw-r----- 1 oracle oinstall 286720 Sep 26 15:08 scott.dmp
-rw-r--r-- 1 oracle oinstall    303 Sep 24 22:30 t.ctl
-rw-r--r-- 1 oracle oinstall   1459 Sep 24 22:47 t.log
-rw-r----- 1 oracle oinstall 106496 Sep 25 10:26 ts_ora11gr2.dmp
[oracle@enmo ~]$ 

6、透過解除安裝的外部表,檢視原來Scott使用者表的dept的資料:
SQL> select * from exttab;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 CCOUNTING      NEW YORK
        50 MANA           BEIJING
        20 ESEARCH        DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

外部表解除安裝成功。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2125777/,如需轉載,請註明出處,否則將追究法律責任。

相關文章