Oracle DataPump之一

tangyunoracle發表於2010-11-18

Oracle10g以後版本新增的資料泵是基於伺服器的工具,用於在載入和解除安裝資料和後設資料時獲得高效能,可呼叫:DBMS_DATAPUMP。在內部使用DBMS_METADATA

以直接路徑(Direct Path)流的格式寫入資料。新的客戶端程式expdpimpdp,是原來的exp/imp的擴充套件集。流、邏輯備用、網格、可移動表空間和資料探勘初始例項化的基礎。

支援並行parallel=n(n並行的執行緒數)

Oracle聲稱資料泵可以使大多數資料密集型的匯出作業的總匯出時間降低兩個數量級,匯入比原來的匯入實用程式快15~45(這些估算是針對單執行緒操作的,並行執行緒將更快)。速度的大幅度提高源於使用並行技術來讀寫匯出儲存檔案。

資料泵作業是在伺服器上的(而不是在啟動作業的客戶機上)建立其所有的轉儲檔案,這意味著匯出的檔案在伺服器上,預設DATA_PUMP_DIR目錄物件所在的位置。可以使用基於DBA_DIRECTORIES的檢視查詢:

SQL>SELECT * FROM DBA_DIRECTORIES;

OWNER DIRECTORY_NAME DIRECTORY_PATH

----------- --------------------------- ---------------------------

SYS DATA_PUMP_DIR $ORACLE_HOME/admin/orcl/dpdump/

只有SYSSYSTEM許可權的使用者才能夠使用預設的目錄物件DATA_PUMP_DIR。因此可以使用SYSTEM使用者啟動作業而不需要提供目錄名。在非授權使用者使用資料泵匯入或者匯出之前,DBA必須建立一個目錄物件或者授權使用現有的目錄物件的許可權。

SQL>CREATE DIRECTORY TANGYUN_DPDIR AS ‘$ORACLE_HOME/DATA/;

SQL>GRANT READ,WRITE ON DIRECTORY TANGYUN_DPDIR TO TANGYUN;

[@more@]

1、匯入到不同的使用者下並重定向表空間。

C:>expdp system/orcl dumpfile=table_log.dp tables=(pcs_yyk_data.log)

Export: Release 10.2.0.1.0 - Production on 星期四, 18 11, 2010 21:24:27

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

啟動 "SYSTEM"."SYS_EXPORT_TABLE_01": system/******** dumpfile=table_log.dp tables=(pcs_yyk_data.log)

正在使用 BLOCKS 方法進行估計...

處理物件型別 TABLE_EXPORT/TABLE/TABLE_DATA

使用 BLOCKS 方法的總估計: 0 KB

處理物件型別 TABLE_EXPORT/TABLE/TABLE

處理物件型別 TABLE_EXPORT/TABLE/INDEX/INDEX

處理物件型別 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

處理物件型別 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

處理物件型別 TABLE_EXPORT/TABLE/COMMENT

處理物件型別 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

. . 匯出了 "PCS_YYK_DATA"."LOG" 0 KB 0

已成功載入/解除安裝了主表 "SYSTEM"."SYS_EXPORT_TABLE_01"

******************************************************************************

SYSTEM.SYS_EXPORT_TABLE_01 的轉儲檔案集為:

D:ORACLEPRODUCT10.2.0ADMINORCLDPDUMPTABLE_LOG.DP

作業 "SYSTEM"."SYS_EXPORT_TABLE_01" 已於 21:24:43 成功完成

C:>impdp system/orcl dumpfile=table_log.dp remap_schema=pcs_yyk_data:scott remap_tablespace=TBS_YYK_WBZYDATA:TBS_YYK_WB

ZYINDEX nologfile=y table_exists_action=replace

Import: Release 10.2.0.1.0 - Production on 星期四, 18 11, 2010 21:29:30

Copyright (c) 2003, 2005, Oracle. All rights reserved.

連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

已成功載入/解除安裝了主表 "SYSTEM"."SYS_IMPORT_FULL_01"

啟動 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** dumpfile=table_log.dp remap_schema=pcs_yyk_data:scott remap_tablesp

ace=TBS_YYK_WBZYDATA:TBS_YYK_WBZYINDEX nologfile=y table_exists_action=replace

處理物件型別 TABLE_EXPORT/TABLE/TABLE

處理物件型別 TABLE_EXPORT/TABLE/TABLE_DATA

. . 匯入了 "SCOTT"."LOG" 0 KB 0

處理物件型別 TABLE_EXPORT/TABLE/INDEX/INDEX

處理物件型別 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

處理物件型別 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

處理物件型別 TABLE_EXPORT/TABLE/COMMENT

處理物件型別 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

作業 "SYSTEM"."SYS_IMPORT_FULL_01" 已於 21:29:34 成功完成

2、匯出整個庫:

expdp system/orcl dumpfile=tangyun_db_%Udp filesize=2G nologfile=y parallel=2 job_name=tangyun_db full=y

3、匯出某個使用者:

expdp system/orcl dumpfile=tangyun_%U.dp schemas=tangyun nologfile=y job_name=tangyun

4、匯出特定的表:

expdp system/manager dumpfile=tangyun_tables.dp tables=tangyun.dictionary_kind, tangyun.dictionary nologfile=y

5、匯出表空間:

expdp system/orcl filesize=2G dumpfile=tangyun_tbs_%U.dp tablespaces=tbs_tangyun nologfile=y job_name=tbs_tangyun parallel=2

6、使用include引數

expdp system/orcl filesize=2G parallel=2 dumpfile=tangyun_data.dp logfile=tangyun_data.log include=package include=tables schemas=tangyun

impdp system/orcl dumpfile= tangyun_data.dp schemas=tangyun remap_schema=tangyun:zyk_cdc remp_tablespace=tbs_wbzy_data:tbs_jzzy_data

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

相關文章