使用oracle外部表進行資料泵解除安裝資料
資料泵解除安裝
Oracle9i引入了外部表,作為向資料庫中讀取資料的一種方法.Oracle 10g則從另一個方向引入了這個特性,可以使用CREATE TABLE語句建立外部資料,從而由資料庫解除安裝資料.從Oracle 10g起,這個資料從一種專用二進位制格式抽取,這種格式稱為資料 泵格式(Data Pump format),Oracle提供的EXPDP和IMPDP工具將資料從一個資料庫移動另一個資料庫所用的就是這種格式.
使用外部表解除安裝確實相當容易,就像使用CREATE TABLE AS SELECT語句一樣簡單.首先,需要一個DIRECTORY物件:
jy@JINGYONG> create or replace directory dir1 as '/home/oracle'; 目錄已建立。
現在,準備使用一個簡單的SELECT語句向這個目錄中解除安裝資料,例如:
jy@JINGYONG> create table my_object_unload 2 organization external 3 ( 4 type oracle_datapump 5 default directory DIR1 6 location('myobjects.dat') 7 ) 8 as 9 select * from all_objects; 表已建立。 [oracle@jy ~]$ ls -lrt myobjects.dat -rw-r----- 1 oracle oinstall 4923392 Oct 5 04:09 myobjects.dat
從上面的資訊可知已經生成了myobjects.dat檔案
獲取外部表my_object_unload的建立語句
SQL> select dbms_metadata.get_ddl( 'TABLE', 'MY_OBJECT_UNLOAD' ) from dual; DBMS_METADATA.GET_DDL('TABLE', -------------------------------------------------------------------------------- CREATE TABLE "JY"."MY_OBJECT_UNLOAD" ( "OWNER" VARCHAR2(30), "OBJECT_NAME" VARCHAR2(30), "SUBOBJECT_NAME" VARCHAR2(30), "OBJECT_ID" NUMBER, "DATA_OBJECT_ID" NUMBER, "OBJECT_TYPE" VARCHAR2(19), "CREATED" DATE, "LAST_DDL_TIME" DATE, "TIMESTAMP" VARCHAR2(19), "STATUS" VARCHAR2(7), "TEMPORARY" VARCHAR2(1), "GENERATED" VARCHAR2(1), "SECONDARY" VARCHAR2(1) ) ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY "DIR1" LOCATION ( 'myobjects.dat' ) )
現在把生成的myobjects.dat檔案複製到你要載入資料的伺服器上建立目錄(directory)並在要載入資料的使用者下使用上面建立外部表的語句(記得要修改DEFAULT DIRECTORY "DIR1"指向你所存放myobjects.dat的目錄)來建立外部表
CREATE TABLE "MY_OBJECT_UNLOAD" ( "OWNER" VARCHAR2(30), "OBJECT_NAME" VARCHAR2(30), "SUBOBJECT_NAME" VARCHAR2(30), "OBJECT_ID" NUMBER, "DATA_OBJECT_ID" NUMBER, "OBJECT_TYPE" VARCHAR2(19), "CREATED" DATE, "LAST_DDL_TIME" DATE, "TIMESTAMP" VARCHAR2(19), "STATUS" VARCHAR2(7), "TEMPORARY" VARCHAR2(1), "GENERATED" VARCHAR2(1), "SECONDARY" VARCHAR2(1) ) ORGANIZATION EXTERNAL ( TYPE ORACLE_DATAPUMP DEFAULT DIRECTORY "DIR1" LOCATION ( 'myobjects.dat' ) ); / SQL> select * from my_object_unload ; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY ------- ---------------------- -------------- ---------- -------------- ------------------- ----------- ------- ------ ------------------- ------- --------- --------- --------- SYS ICOL$ 20 2 TABLE 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS I_USER1 44 44 INDEX 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS CON$ 28 28 TABLE 2005-6-30 1 2013-3- 24 12: 2005-06-30:19:10:16 VALID N N N SYS UNDO$ 15 15 TABLE 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS C_COBJ# 29 29 CLUSTER 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS I_OBJ# 3 3 INDEX 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS PROXY_ROLE_DATA$ 25 25 TABLE 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS I_IND1 39 39 INDEX 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS I_CDEF2 51 51 INDEX 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N SYS I_PROXY_ROLE_DATA$_1 26 26 INDEX 2005-6-30 1 2005-6- 30 19: 2005-06-30:19:10:16 VALID N N N
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29674916/viewspace-2126570/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 海量資料處理_使用外部表進行資料遷移
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 解除安裝oracle資料庫Oracle資料庫
- Oracle10g新特性——利用外部表解除安裝資料Oracle
- 使用資料泵進行Oracle-Oracle的單向複製。Oracle
- Oracle使用資料泵匯出匯入表Oracle
- Oracle 資料泵的使用Oracle
- ORACLE 資料泵Oracle
- oracle資料泵Oracle
- 【實驗】【外部表】以資料泵檔案格式抽取and遷移資料演示
- 外部表在Oracle資料庫中使用心得Oracle資料庫
- 使用goldengate的資料泵進行Oracle-Oracle的單向複製GoOracle
- ORACLE 單例項完全解除安裝資料庫Oracle單例資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- oracle 資料泵解析Oracle
- oracle之資料泵Oracle
- oracle資料泵方式更換資料預設表空間.Oracle
- 使用 Oracle Data Pump 解除安裝和載入資料庫內容Oracle資料庫
- 資料泵的使用
- 使用Oracle資料泵問題總結Oracle
- 詳說Oracle Vault——使用資料泵工具Oracle
- Oracle 巧用外部表將大量excel資料匯入資料庫OracleExcel資料庫
- 使用Tom解除安裝指令碼解除安裝表資料到平文字檔案指令碼
- oracle 資料泵引數Oracle
- 使用資料泵impdp匯入資料
- Linux平臺上手動解除安裝Oracle資料庫LinuxOracle資料庫
- LINUX下解除安裝ORACLE 10g資料庫LinuxOracle 10g資料庫
- 達夢8資料庫安裝和解除安裝資料庫
- oracle中使用plsql來進行平面檔案解除安裝OracleSQL
- ORACLE 10g資料泵使用說明Oracle 10g
- 資料泵引數檔案用於執行資料泵命令
- 使用 Oracle 資料庫 10g 資料泵重新啟動功能Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- Oracle使用資料泵在異機之間匯出匯入表Oracle
- 細緻入微:如何使用資料泵匯出表的部分列資料
- 資料泵避免個別表資料的匯出
- 「Oracle」Oracle 資料庫安裝Oracle資料庫