Oracle Datapump 學習
近段時間要做一個使用datapump做資料遷移的專案,正好利用這個機會複習一下datapump。
1. exp/imp 於 expdp/impdp 的對比
1)效能對比
-- exp/imp預設採用傳統路徑(Conventional path)方式載入資料,效能較差,為了提高效能,可以把引數Direct=Y,採用直接路徑方式載入資料,效能較好。而expdp/impdp預設是採用直接路徑方式載入資料,效能較好。
常規路徑匯出使用SQL SELECT語句從表中抽取資料,直接路徑匯出則是將資料直接從磁碟讀到PGA再原樣寫入匯出檔案,從而避免了SQL命令處理層的資料轉換過程,大大提高了匯出效率。在資料量大的情況下,直接路徑匯出的效率優勢更為明顯,可比常規方法速度提高三倍之多。
-- exp/imp匯出的檔案在客戶端,效能還取決於網路狀況,而expdp/impdp直接將檔案匯出在伺服器端,效能不受網路狀況的影響。
-- expdp/impdp可並行執行(設定引數parallel)
-- 從匯出檔案大小看,expdp/impdp比較小,應該進行了一些壓縮。
2)用法區別
-- 更換使用者名稱,
exp/imp: fromuser touser
expdp/impdp: remap_schema
--更換表空間
用exp/imp的時候,要想更改表所在的表空間,需要手工去處理一下,
如alter table xxx move tablespace_new之類的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
--是否要匯出資料行
exp (ROWS=Y 匯出資料行,ROWS=N 不匯出資料行)
expdp content(ALL:物件+匯出資料行,DATA_ONLY:只匯出物件,METADATA_ONLY:只匯出資料的記錄)
--多了傳輸表空間功能
transportable_tablespaces
2. datapump的命令列模式
有兩種方式進入命令列模式,一種是在執行過程中按CTRL+C命令進入,另一種是指定ATTACH引數連線到當前正在執行的匯入/匯出任務。
命令列模式的好處是可以動態調整匯入匯出過程,特別是對於大資料量匯入匯出,可以在執行過程中修改並行度、暫停或繼續執行等操作,非常的方便。
3.datapump的監控
datapump的監控有兩種方式,一種是進入命令列模式之後,用status引數檢視當前job的狀態,另一種是進入資料庫查詢v$session_longops檢視:
4. Filter
1)資料解析:QUERY 和SAMPLE
2)後設資料解析:EXCLUDE 和INCLUDE (注意,這兩個引數是互斥的),以下檢視列出了哪些物件是可以被解析的:DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS, and TABLE_EXPORT_OBJECTS
5. 如何提高datapump效能
1)使用parallel引數設定適當並行度;
2)開啟磁碟非同步I/O:DISK_ASYNCH_IO=TRUE
3)取消資料庫一致性檢查:DB_BLOCK_CHECKING=FALSE,DB_BLOCK_CHECKSUM=FALSE
4)設定足夠的程式引數:PROCESSES SESSIONS PARALLEL_MAX_SERVERS
5)設定合理的SHARED_POOL_SIZE and UNDO_TABLESPACE
6. datapump使用注意
1)在使用parallel引數匯出時,記得dumpfile要用%U匹配符,而且並行度不要大於CPU的個數。
1. exp/imp 於 expdp/impdp 的對比
1)效能對比
-- exp/imp預設採用傳統路徑(Conventional path)方式載入資料,效能較差,為了提高效能,可以把引數Direct=Y,採用直接路徑方式載入資料,效能較好。而expdp/impdp預設是採用直接路徑方式載入資料,效能較好。
常規路徑匯出使用SQL SELECT語句從表中抽取資料,直接路徑匯出則是將資料直接從磁碟讀到PGA再原樣寫入匯出檔案,從而避免了SQL命令處理層的資料轉換過程,大大提高了匯出效率。在資料量大的情況下,直接路徑匯出的效率優勢更為明顯,可比常規方法速度提高三倍之多。
-- exp/imp匯出的檔案在客戶端,效能還取決於網路狀況,而expdp/impdp直接將檔案匯出在伺服器端,效能不受網路狀況的影響。
-- expdp/impdp可並行執行(設定引數parallel)
-- 從匯出檔案大小看,expdp/impdp比較小,應該進行了一些壓縮。
2)用法區別
-- 更換使用者名稱,
exp/imp: fromuser touser
expdp/impdp: remap_schema
--更換表空間
用exp/imp的時候,要想更改表所在的表空間,需要手工去處理一下,
如alter table xxx move tablespace_new之類的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
--是否要匯出資料行
exp (ROWS=Y 匯出資料行,ROWS=N 不匯出資料行)
expdp content(ALL:物件+匯出資料行,DATA_ONLY:只匯出物件,METADATA_ONLY:只匯出資料的記錄)
--多了傳輸表空間功能
transportable_tablespaces
2. datapump的命令列模式
有兩種方式進入命令列模式,一種是在執行過程中按CTRL+C命令進入,另一種是指定ATTACH引數連線到當前正在執行的匯入/匯出任務。
命令列模式的好處是可以動態調整匯入匯出過程,特別是對於大資料量匯入匯出,可以在執行過程中修改並行度、暫停或繼續執行等操作,非常的方便。
3.datapump的監控
datapump的監控有兩種方式,一種是進入命令列模式之後,用status引數檢視當前job的狀態,另一種是進入資料庫查詢v$session_longops檢視:
-
USERNAME - job owner
-
OPNAME - job name
-
TARGET_DESC - job operation
-
SOFAR - megabytes (MB) transferred thus far during the job
-
TOTALWORK - estimated number of megabytes (MB) in the job
-
UNITS - 'MB'
-
MESSAGE - a formatted status message of the form.:
'
: : nnn out of mmm MB done'
4. Filter
1)資料解析:QUERY 和SAMPLE
2)後設資料解析:EXCLUDE 和INCLUDE (注意,這兩個引數是互斥的),以下檢視列出了哪些物件是可以被解析的:DATABASE_EXPORT_OBJECTS, SCHEMA_EXPORT_OBJECTS, and TABLE_EXPORT_OBJECTS
5. 如何提高datapump效能
1)使用parallel引數設定適當並行度;
2)開啟磁碟非同步I/O:DISK_ASYNCH_IO=TRUE
3)取消資料庫一致性檢查:DB_BLOCK_CHECKING=FALSE,DB_BLOCK_CHECKSUM=FALSE
4)設定足夠的程式引數:PROCESSES SESSIONS PARALLEL_MAX_SERVERS
5)設定合理的SHARED_POOL_SIZE and UNDO_TABLESPACE
6. datapump使用注意
1)在使用parallel引數匯出時,記得dumpfile要用%U匹配符,而且並行度不要大於CPU的個數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-714244/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【DATAPUMP】使用DataPump遷移Oracle資料庫Oracle資料庫
- Oracle DataPump之二Oracle
- Oracle DataPump之一Oracle
- ORACLE_DATAPUMP & External TableOracle
- Oracle DataPump Quick Start [ID 413965.1]OracleUI
- oracle_datapump建立外部表案例Oracle
- sqlldr和oracle_datapump效能比較SQLOracle
- 【ASK_ORACLE】重灌Oracle資料泵(Datapump)工具的方法Oracle
- Oracle學習Oracle
- ORACLE for aix 11.2.0.1 DATAPUMP expdp之BUG 9470768OracleAI
- 利用ORACLE_DATAPUMP為驅動建立外部表Oracle
- about datapump parallelParallel
- Speedup Datapump ImportImport
- oracle學習一二Oracle
- oracle學習指南Oracle
- oracle學習列表Oracle
- Oracle Profile學習Oracle
- oracle 學習筆記 (ORACLE NET )Oracle筆記
- datapump簡介(一)
- Oracle學習路線Oracle
- Oracle學習總結Oracle
- oracle學習文章(IP)Oracle
- Oracle開發學習Oracle
- 天天學習oracle(一)Oracle
- 天天學習ORACLE(二)Oracle
- oracle學習網站Oracle學習網站
- Oracle Undo的學習Oracle
- oracle stream學習(一)Oracle
- Oracle外部表學習Oracle
- oracle 學習目錄Oracle
- oracle學習(建立表)Oracle
- oracle IOT表學習Oracle
- ORACLE erp 學習Oracle
- Oracle 學習(Rman Backup)Oracle
- oracle 學習資源Oracle
- oracle學習筆記Oracle筆記
- 學習oracle的度Oracle
- ORACLE函式學習Oracle函式