Oracle 11g版本EXPDP 的COMPRESSION參數壓縮比堪比“gzip -9”

來源:互聯網
上載者:User

Oracle 11g版本EXPDP 的COMPRESSION參數壓縮比堪比“gzip -9”

這個壓縮比例可以和作業系統“gzip -9”相媲美,某些特例下有可能比gzip還要高效。體驗之,供參考。

1.Oracle 11g中expdp協助頁中關於COMPRESSION參數的描述
secooler@secDB /home/oracle$ expdp -help
……
COMPRESSION
Reduce the size of a dump file.
Valid keyword values are: ALL, DATA_ONLY, [METADATA_ONLY] and NONE.
……

可見,11g中的COMPRESSION參數提供四個選項,分別是ALL、DATA_ONLY、METADATA_ONLY和NONE,非常的豐富,稍後我們將使用ALL參數進行操作。

2.Oracle 10g中關於COMPRESSION參數的描述如下
Keyword              Description (Default)
---------------------------------------------------------------------
……
COMPRESSION          Reduce size of dumpfile contents where valid
                      keyword values are: (METADATA_ONLY) and NONE.
……
10g中的COMPRESSION參數只提供METADATA_ONLY和NONE兩個選項,基本上沒有提供壓縮功能。

3.使用11g EXPDP工具的四個壓縮參數分別產生四個dump檔案
1)使用ALL參數
secooler@secDB /expdp$ expdp sec/sec dumpfile=sec_ALL.dmp logfile=sec_ALL.log tables=t directory=dump_dir compression=ALL

Export: Release 11.2.0.1.0 - Production on Sat Mar 20 22:48:52 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01":  sec/******** dumpfile=sec_ALL.dmp logfile=sec_ALL.log tables=t directory=dump_dir compression=ALL
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 136 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."T"                                  14.26 MB 1155520 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
  /expdp/sec_ALL.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 22:49:08

2)使用DATA_ONLY參數
secooler@secDB /expdp$ expdp sec/sec dumpfile=sec_DATA_ONLY.dmp logfile=sec_DATA_ONLY.log tables=t directory=dump_dir compression=DATA_ONLY

Export: Release 11.2.0.1.0 - Production on Sat Mar 20 22:49:32 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01":  sec/******** dumpfile=sec_DATA_ONLY.dmp logfile=sec_DATA_ONLY.log tables=t directory=dump_dir compression=DATA_ONLY
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 136 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."T"                                  14.26 MB 1155520 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
  /expdp/sec_DATA_ONLY.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 22:49:48

3)使用METADATA_ONLY參數
secooler@secDB /expdp$ expdp sec/sec dumpfile=sec_METADATA_ONLY.dmp logfile=sec_METADATA_ONLY.log tables=t directory=dump_dir compression=METADATA_ONLY

Export: Release 11.2.0.1.0 - Production on Sat Mar 20 22:50:16 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01":  sec/******** dumpfile=sec_METADATA_ONLY.dmp logfile=sec_METADATA_ONLY.log tables=t directory=dump_dir compression=METADATA_ONLY
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 136 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."T"                                  111.7 MB 1155520 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
  /expdp/sec_METADATA_ONLY.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 22:50:27

4)使用NONE參數
secooler@secDB /expdp$ expdp sec/sec dumpfile=sec_NONE.dmp logfile=sec_NONE.log tables=t directory=dump_dir compression=NONE

Export: Release 11.2.0.1.0 - Production on Sat Mar 20 22:50:43 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Starting "SEC"."SYS_EXPORT_TABLE_01":  sec/******** dumpfile=sec_NONE.dmp logfile=sec_NONE.log tables=t directory=dump_dir compression=NONE
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 136 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SEC"."T"                                  111.7 MB 1155520 rows
Master table "SEC"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEC.SYS_EXPORT_TABLE_01 is:
  /expdp/sec_NONE.dmp
Job "SEC"."SYS_EXPORT_TABLE_01" successfully completed at 22:50:53

4.比較產生的四個dump檔案大小
secooler@secDB /expdp$ du -sm sec*.dmp
15      sec_ALL.dmp
15      sec_DATA_ONLY.dmp
112    sec_METADATA_ONLY.dmp
112    sec_NONE.dmp
secooler@secDB /expdp$ du -sb sec*.dmp
14987264        sec_ALL.dmp
14987264        sec_DATA_ONLY.dmp
117223424      sec_METADATA_ONLY.dmp
117223424      sec_NONE.dmp

實驗表明,使用ALL參數和DATA_ONLY參數產生的備份檔案基本一樣大;使用METADATA_ONLY參數與NONE參數效果一樣。

使用壓縮與不進行壓縮的比率是:15/112約等於1/7!
這才是真正的壓縮。

5.使用“gzip -9”對未壓縮的備份檔案進行壓縮,做一下比較
secooler@secDB /expdp$ gzip -9 sec_NONE.dmp
secooler@secDB /expdp$ du -sm sec*dmp*
15      sec_ALL.dmp
15      sec_DATA_ONLY.dmp
112    sec_METADATA_ONLY.dmp
15      sec_NONE.dmp.gz
secooler@secDB /expdp$ du -sb sec*dmp*
14987264        sec_ALL.dmp
14987264        sec_DATA_ONLY.dmp
117223424      sec_METADATA_ONLY.dmp
14717055        sec_NONE.dmp.gz

14987264與14717055的區別,相差甚微,基本相同,“gzip -9”稍勝一點點(也許在您的具體環境下“gzip -9”會遜色一點點)。

6.小結
Oracle 11g的EXPDP工具提供了真正意義上的“備份壓縮”,這個技術在備份空間不足的情況下非常實用。
Oracle在改進和最佳化中不斷的前進,慢慢體會吧。

----------------------------華麗麗的分割線----------------------------

Oracle匯入匯出expdp IMPDP詳解

Oracle 10g expdp匯出報錯ORA-4031的解決方案

Oracle 10gr2 rac expdp 報錯UDE-00008 ORA-31626

Oracle中利用expdp/impdp備份資料庫的使用說明

Oracle備份還原(expdp/impdp)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.