This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Safe Harbor Statement The following is intended to outline our general product direcIon. It is intended for informaIon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcIonality, and should not be relied upon in making purchasing decisions. The development, release, and Iming of any features or funcIonality described for Oracle’s products remains at the sole discreIon of Oracle.
16 years w/Oracle Previously with DEC OpenVMS – 10 years
-‐ Exp/imp Jan 2000 -‐ Metadata May 2001 -‐ Data Pump Mar 2002
-‐ Currently responsible for -‐ Worker process – Mar 2002 – Day 1 -‐ Transportable Tablespace – Apr 2005 -‐ MCP process – May 2007 -‐ Export/Import staIsIcs – Mar 2000
IntroducIon: Test Hardware • System: Sun Fire X4170 M3 • CPU – Intel x86-‐64 – 16 total cores x 2.9 Ghz – Two-‐way hyperthreaded: CPU_COUNT=32 • Storage: – 4.7 TB in RAID 0 (striped across two volumes)
• RAM: – 256 GB • OS: Oracle Linux 6.4
Deep Dive: Data Pump Performance Tips & Tricks
Good amount of CPU for parallel processing
Decent Storage Space but limited performance with all files on one device
Seems like a lot un>l you try running 4 databases with lots of parallelism…
• Use PARALLEL=n – Typically n = 2x <number of CPU cores>
• EXCLUDE=STATISTICS on export • Enable parallel import of indexes: apply patch for bug 21539301 – Available for 11.2.0.4 and 12.1.0.2 • New feature in 12c: TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y – Apply patch for bug 20778442
• We do not export SYS-‐owned objects anyway, so SYS is really not necessary for data pump operaIons • ConnecIng as SYS (or SYSDBA) also gives worse performance! – Import of table using PARALLEL=8 from 8-‐dumpfile export… – Connected as schema user GL: imported "GL"."GL_BALANCES” 13.82 GB 147526320 rows in 83 seconds
– Same user connected as SYSDBA: imported "GL"."GL_BALANCES” 13.82 GB 147526320 rows in 206 seconds
• Conclusion: – Use roles and privileges (e.g. DATAPUMP_IMP_FULL_DATABASE) not super users!
• Patch for bug number 21539301 – Old behavior: build one index at a Ime with PARALLEL n keyword – New behavior: build n indexes at a Ime, each without parallelism
• Test results for 53190 indexes – 12.1.0.2.0 without patch: • PARALLEL=4: 5681 seconds (total import 4:14:23) • PARALLEL=8: 5504 seconds (total import 3:30:14)
• Background: package bodies have always been loaded in parallel – But, loading lots of large packages (e.g. XLA packages in EBS) was sIll really slow • Bug 16018315 filed, fixed in 2012 (included in 11.2.0.4, 12.1.0.2) • How much improvement can a single bug fix make, really? – For 52093 Package Bodies – 11.2.0.3: 22179 seconds – 11.2.0.4/12.1.0.2: 2810 seconds
• Remark: you aren’t sIll running 11.2.0.3 or 12.1.0.1…are you?
Safe Harbor Statement The preceding is intended to outline our general product direcIon. It is intended for informaIon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funcIonality, and should not be relied upon in making purchasing decisions. The development, release, and Iming of any features or funcIonality described for Oracle’s products remains at the sole discreIon of Oracle.