【EXPDP】使用EXPDP備份資料時預估大小——ESTIMATE引數
1.檢視有關ESTIMATE引數的幫助資訊
1)檢視命令列幫助資訊
ora10g@secDB /expdp$ expdp help=y
……
ESTIMATE Calculate job estimates where the valid keywords are:
(BLOCKS) and STATISTICS.
……
2)Oracle官方文件中關於ESTIMATE引數的描述
參考連結:
引用內容如下:
ESTIMATE
Default: BLOCKS
Purpose
Specifies the method that Export will use to estimate how much disk space each table in the export job will consume (in bytes). The estimate is printed in the log file and displayed on the client's standard output device. The estimate is for table row data only; it does not include metadata.
Syntax and Description
ESTIMATE={BLOCKS | STATISTICS}
-
BLOCKS - The estimate is calculated by multiplying the number of database blocks used by the source objects, times the appropriate block sizes.
-
STATISTICS - The estimate is calculated using statistics for each table. For this method to be as accurate as possible, all tables should have been analyzed recently.
Restrictions
If the Data Pump export job involves compressed tables, the default size estimation given for the compressed table is inaccurate when ESTIMATE=BLOCKS is used. This is because the size estimate does not reflect that the data was stored in a compressed form. To get a more accurate size estimate for compressed tables, use ESTIMATE=STATISTICS.
Example
The following example shows a use of the ESTIMATE parameter in which the estimate is calculated using statistics for the employees table:
> expdp hr/hr TABLES=employees ESTIMATE=STATISTICS DIRECTORY=dpump_dir1
DUMPFILE=estimate_stat.dmp
2.顯式指定ESTIMATE引數為BLOCKS
ora10g@secDB /expdp$ expdp sec/sec directory=expdp_dir dumpfile=sec.dmp ESTIMATE=BLOCKS
Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 10 April, 2010 6:23:26
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=expdp_dir dumpfile=sec.dmp ESTIMATE=BLOCKS
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. estimated "SEC"."TEST_SEC" 2 MB
. estimated "SEC"."TEST_SEC1" 2 MB
. estimated "SEC"."TEST_SEC2" 2 MB
Total estimation using BLOCKS method: 6 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
. . exported "SEC"."TEST_SEC" 1.018 MB 11716 rows
. . exported "SEC"."TEST_SEC1" 1.018 MB 11717 rows
. . exported "SEC"."TEST_SEC2" 1.018 MB 11718 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/sec.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 06:23:37
此時預估單位是按照資料庫塊進行統計的,相比最終匯出的大小來說不是很準確,不過有一定的參考意義。
3.指定ESTIMATE引數為STATISTICS
ora10g@secDB /expdp$ expdp sec/sec directory=expdp_dir dumpfile=sec.dmp ESTIMATE=STATISTICS
Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 10 April, 2010 6:22:02
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=expdp_dir dumpfile=sec.dmp ESTIMATE=STATISTICS
Estimate in progress using STATISTICS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. estimated "SEC"."TEST_SEC" 9.558 KB
. estimated "SEC"."TEST_SEC1" 9.558 KB
. estimated "SEC"."TEST_SEC2" 9.558 KB
Total estimation using STATISTICS method: 28.67 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
. . exported "SEC"."TEST_SEC" 1.018 MB 11716 rows
. . exported "SEC"."TEST_SEC1" 1.018 MB 11717 rows
. . exported "SEC"."TEST_SEC2" 1.018 MB 11718 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/sec.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 06:22:14
此時的統計結果比較離譜,是何原因?
真實的原因是在使用ESTIMATE=STATISTICS引數預估時,資料來源是表的分析資料,如果表未曾分析過或分析資料不準確就會導致此處的資料失真。
4.在資料庫中對sec使用者做一下分析,然後再完成一次資料匯出
1)對sec使用者進行分析
sys@ora10g> exec dbms_stats.gather_schema_stats(OWNNAME=>'SEC',ESTIMATE_PERCENT=>10,DEGREE=>4,cascade=>true);
PL/SQL procedure successfully completed.
2)再次匯出sec使用者下的資料
ora10g@secDB /expdp$ expdp sec/sec directory=expdp_dir dumpfile=sec.dmp ESTIMATE=STATISTICS
Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 10 April, 2010 6:30:20
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=expdp_dir dumpfile=sec.dmp ESTIMATE=STATISTICS
Estimate in progress using STATISTICS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. estimated "SEC"."TEST_SEC2" 993.6 KB
. estimated "SEC"."TEST_SEC1" 993.6 KB
. estimated "SEC"."TEST_SEC" 993.5 KB
Total estimation using STATISTICS method: 2.910 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SEC"."TEST_SEC2" 1.018 MB 11718 rows
. . exported "SEC"."TEST_SEC1" 1.018 MB 11717 rows
. . exported "SEC"."TEST_SEC" 1.018 MB 11716 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/sec.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 06:30:35
OK,此時的預估資料與最後的生成資料大小較為接近。
5.不指定ESTIMATE引數
ora10g@secDB /expdp$ expdp sec/sec directory=expdp_dir dumpfile=sec.dmp
Export: Release 10.2.0.3.0 - 64bit Production on Saturday, 10 April, 2010 7:26:54
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options
Starting "SEC"."SYS_EXPORT_SCHEMA_01": sec/******** directory=expdp_dir dumpfile=sec.dmp
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 6 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SEC"."TEST_SEC" 1.018 MB 11716 rows
. . exported "SEC"."TEST_SEC1" 1.018 MB 11717 rows
. . exported "SEC"."TEST_SEC2" 1.018 MB 11718 rows
Master table "SEC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_SCHEMA_01 is:
/expdp/sec.dmp
Job "SEC"."SYS_EXPORT_SCHEMA_01" successfully completed at 07:27:05
在不指定ESTIMATE引數時,預設會使用BLOCKS進行估算,不過,具體的資料庫物件進估算被省略,僅有以下資訊提示:
Total estimation using BLOCKS method: 6 MB
6.小結
雖然ESTIMATE引數提供給我們一種預估大小的功能,不過在使用EXPDP進行資料備份時,還是儘量不要使用,畢竟所有額外的操作都是有代價的。
Good luck.
secooler
10.04.10
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-631804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Data Pump】理解expdp中的ESTIMATE和ESTIMATE_ONLY引數
- expdp在匯出時對資料大小進行評估
- expdp 邏輯備份指令碼指令碼
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- [重慶思莊每日技術分享]-expdp導資料時評估匯出檔案大小
- [20200620]expdp impdp exclude引數.txt
- Expdp 備份到ASM之 ORA-39070ASM
- expdp/impdp 詳細引數解釋
- impdp和expdp用法及引數介紹
- Oracle 效能優化-expdp備份速度優化02Oracle優化
- Oracle 效能優化-expdp備份速度優化03Oracle優化
- Oracle 10g expdp attach引數體驗Oracle 10g
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- Oracle EXPDP自動備份緩慢問題解決Oracle
- oracle資料庫的impdp,expdpOracle資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- exp和expdp的filesize引數的使用--匯出多個檔案
- Java程式呼叫expdp資料泵實現自動邏輯備份Oracle資料庫的方案設計JavaOracle資料庫
- 批量按使用者expdp
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- expdp 匯出時指定節點
- Oracle expdp資料泵遠端匯出Oracle
- expdp query用法
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- oracle按照表條件expdp匯出資料Oracle
- expdp一個例子
- expdp匯出慢的解決思路__增加引數metrics記錄每個步驟時間,增加引數trace記錄trace
- 使用Exp和Expdp匯出資料的效能對比與最佳化
- 【資料泵】EXPDP匯出表結構(真實案例)
- 資料泵datapump(expdp/impdp)的parfile用法,避免跳脫字元字元
- 通過dblink,資料泵expdp遠端跨版本導庫
- 【Datapump】Oracle資料泵遷移資料命令參考(expdp/impdp說明)Oracle
- expdp+compression效能測試
- 正常終止expdp作業
- expdp報錯ORA-39181
- mysql備份時候兩個很有用的引數MySql
- 【Oracle】sys下缺失和無效物件導致exp、expdp和RMAN等備份功能全部報錯Oracle物件
- 如何對xtrabackup 備份限制使用IO大小
- MySQL資料備份多種引數介紹及簡單示例MySql