對比資料泵與原始匯入匯出工具(四)
Oracle的匯入匯出工具EXP/IMP由來已久,大部分人對於使用這兩個工具也都不陌生。Oracle10g開始推出的資料泵EXPDP/IMPDP,提供了匯入匯出的效能,也增加了匯入匯出的功能,但是由於使用時間不長,可能部分人對這個工具不太瞭解。一直打算寫幾篇文章,簡單描述一下EXP/IMP和EXPDP/IMPDP的差異。
對比資料泵與原始匯入匯出工具(一):http://yangtingkun.itpub.net/post/468/476017
對比資料泵與原始匯入匯出工具(二):http://yangtingkun.itpub.net/post/468/476060
對比資料泵與原始匯入匯出工具(三):http://yangtingkun.itpub.net/post/468/477335
這篇描述資料泵的INCLUDE引數。
和傳統匯入匯出工具EXP/IMP相比,資料泵除了在效能方面有了很大的提高之外,另外一個優點就是功能變得十分的強大。對於EXP/IMP來說並不是一個完整意義上的邏輯備份工具,因為EXP/IMP存在一些比較致命的缺點。一個缺點就是資料的一致性問題,這會在後面的文章中描述。而另一個缺點就是EXP/IMP主要針對的是資料,或者說是表。
雖然在全庫匯出或者方案匯出的時候,會包括資料庫中所有的物件,但是EXP/IMP沒有單獨處理這些物件的能力。EXP/IMP能做到的不過是在匯出匯入的時候選擇是否匯出觸發器、索引、統計資訊和授權,而不能處理VIEW、SEQUENCE、PACKAGE、PROCEDURE、FUNCTION、SYNONYM等物件。更重要的是,無論是匯出還是匯入,都必須和表一起處理,EXP/IMP不能單獨處理這些物件。
上一篇文章中已經提到了,在資料泵中,源資訊是透過DBMS_METADATA包從資料字典中抽取出來的,以XML格式存放到資料泵中,這使得資料泵處理源資料的能力大大增強。
資料泵的INCLUDE和EXCLUDE引數就可以替代IMP/EXP中的INDEXES、GRANDS、TRIGGERS、CONSTRAINTS和STATISTICS引數。而且INCLUDE和EXCLUDE可以支援資料庫中任意型別的源資料的匯出和匯入,使得資料泵成為邏輯備份的合格工具。
E:\>expdp yangtk/yangtk directory=d_output dumpfile=meta.dp include=function include=sequence
Export: Release 10.2.0.1.0 - Production on 星期一, 19 1月, 2009 19:01:25
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
啟動 "YANGTK"."SYS_EXPORT_SCHEMA_02": yangtk/******** directory=d_output dumpfile=meta.dp include=function include=sequence
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 0 KB
處理物件型別 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
處理物件型別 SCHEMA_EXPORT/FUNCTION/FUNCTION
處理物件型別 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
已成功載入/解除安裝了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02 的轉儲檔案集為:
E:\DMP\META.DP
作業 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已於 19:01:37 成功完成
資料泵的INCLUDE的功能遠不止這麼簡單,使用INCLUDE可以指定一個型別下面具體物件的匹配規則:
E:\>expdp yangtk/yangtk directory=d_output dumpfile=table1.dp include=table:"""LIKE 'T%'""" include=package:"""IN ('PA_TEST', 'PA_TREE')"""
Export: Release 10.2.0.1.0 - Production on 星期一, 19 1月, 2009 19:10:41
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
啟動 "YANGTK"."SYS_EXPORT_SCHEMA_02": yangtk/******** directory=d_output dumpfile=table1.dp include=table:"LIKE 'T%'" include=package:"IN ('PA_TEST', 'PA_TREE')"
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 17.93 MB
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/INDEX
處理物件型別 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
處理物件型別 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
處理物件型別 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
處理物件型別 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
處理物件型別 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
處理物件型別 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 匯出了 "YANGTK"."T_HASH" 5.687 KB 30 行
. . 匯出了 "YANGTK"."T_PART_INDEX" 2.227 MB 57477 行
. . 匯出了 "YANGTK"."T_INDEX_ORG" 1.500 MB 40676 行
. . 匯出了 "YANGTK"."T_PART":"P4" 1.588 MB 50346 行
. . 匯出了 "YANGTK"."T_RECORD" 473.9 KB 40000 行
. . 匯出了 "YANGTK"."T_PARTITION":"P2" 44.82 KB 1541 行
. . 匯出了 "YANGTK"."T" 5.25 KB 5 行
. . 匯出了 "YANGTK"."TEST" 6.101 KB 7 行
. . 匯出了 "YANGTK"."T_255" 82.89 KB 1 行
. . 匯出了 "YANGTK"."T_256" 83.19 KB 1 行
. . 匯出了 "YANGTK"."T_C_1" 5.234 KB 2 行
. . 匯出了 "YANGTK"."T_C_2" 5.25 KB 2 行
. . 匯出了 "YANGTK"."T_LEVEL" 6.234 KB 6 行
. . 匯出了 "YANGTK"."T_LEVEL1" 6.585 KB 8 行
. . 匯出了 "YANGTK"."T_LOAD_SPACE" 5.585 KB 5 行
. . 匯出了 "YANGTK"."T_NO_EXISTS_BEFORE" 5.257 KB 1 行
. . 匯出了 "YANGTK"."T_NUM" 4.968 KB 2 行
. . 匯出了 "YANGTK"."T_PART":"P1" 6.742 KB 99 行
. . 匯出了 "YANGTK"."T_PART":"P2" 7.078 KB 100 行
. . 匯出了 "YANGTK"."T_PART":"P3" 7.359 KB 100 行
. . 匯出了 "YANGTK"."T_PARTITION":"P1" 6.804 KB 99 行
. . 匯出了 "YANGTK"."T_PART_RANGE":"P1" 5.234 KB 1 行
. . 匯出了 "YANGTK"."T_PART_RANGE":"P2" 5.234 KB 1 行
. . 匯出了 "YANGTK"."T_PART_RANGE":"P3" 5.234 KB 1 行
. . 匯出了 "YANGTK"."T_TREE" 5.960 KB 9 行
. . 匯出了 "YANGTK"."T_CHAR" 0 KB 0 行
. . 匯出了 "YANGTK"."T_FUNCTION" 0 KB 0 行
. . 匯出了 "YANGTK"."T_TAB" 0 KB 0 行
. . 匯出了 "YANGTK"."T_YANGTK" 0 KB 0 行
已成功載入/解除安裝了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02 的轉儲檔案集為:
E:\DMP\TABLE1.DP
作業 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已於 19:11:09 成功完成
比如上面這個例子中,在指定INCLUDE的時候,分別使用了IN和LIKE操作來匹配TYPE下的物件。
Oracle源資料資訊是一種樹形結構儲存的,在匯出或匯入的過程中,可以將INCLUDE引數指定的型別可以是這個樹形結構的任意一層,比如下面這個例子:
E:\>expdp yangtk/yangtk directory=d_output dumpfile=mv_log.dp include=table/materialized_view_log
Export: Release 10.2.0.1.0 - Production on 星期一, 19 1月, 2009 19:18:36
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
啟動 "YANGTK"."SYS_EXPORT_SCHEMA_02": yangtk/******** directory=d_output dumpfile=mv_log.dp include=table/materialized_view_log
正在使用 BLOCKS 方法進行估計...
處理物件型別 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的總估計: 0 KB
處理物件型別 SCHEMA_EXPORT/TABLE/MATERIALIZED_VIEW_LOG
已成功載入/解除安裝了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02 的轉儲檔案集為:
E:\DMP\MV_LOG.DP
作業 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已於 19:18:40 成功完成
對於INCLUDE物件可以指定的引數,可以引數檢視DATABASE_EXPORT_OBJECTS、SCHEMA_EXPORT_OBJECTS和TABLE_EXPORT_OBJECTS。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-541501/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料泵匯出匯入
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle資料泵的匯入和匯出Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 資料泵匯出匯入物化檢視(ORA-39083)
- Mongodb資料的匯出與匯入MongoDB
- Mysql 資料庫匯入與匯出MySql資料庫
- Oracle expdp資料泵遠端匯出Oracle
- sqoop資料匯入匯出OOP
- Oracle 資料匯入匯出Oracle
- Oracle資料匯入匯出Oracle
- phpMyAdmin匯入/匯出資料PHP
- mongodb使用自帶命令工具匯出匯入資料MongoDB
- MongoDB--Mongodb 中資料匯出與匯入MongoDB
- mysql匯入匯出指令碼的區別對比MySql指令碼
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 報表工具對比選型系列——列印與匯出
- sqoop用法之mysql與hive資料匯入匯出OOPMySqlHive
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- MySQL入門--匯出和匯入資料MySql
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- oracle資料匯出匯入(exp/imp)Oracle
- 匯入和匯出AWR的資料
- EasyPoi, Excel資料的匯入匯出Excel
- Angular Excel 匯入與匯出AngularExcel
- 【MySQL】白話說MySQL(五),資料的匯出與匯入MySql
- 【最佳實踐】MongoDB匯出匯入資料MongoDB
- SQL資料庫的匯入和匯出SQL資料庫
- 複雜「場景」資料匯入匯出
- ClickHouse 資料表匯出和匯入(qbit)
- 【資料泵】EXPDP匯出表結構(真實案例)
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- sqoop部署及匯入與匯出OOP
- AWR跨庫匯出與匯入
- 使用Exp和Expdp匯出資料的效能對比與最佳化
- JavaScript中AMD和ES6模組的匯入匯出對比JavaScript
- PHP大資料xlswriter匯入匯出(最優資料化)PHP大資料
- 批量備份還原匯入與匯出MongoDB資料方式昝璽MongoDB