Skip to main content

How to Improve Oracle Data Pump Performance - IMPDP

 How to Improve Oracle Data Pump Performance:-

  1. Use Parallelism:
    • Set the PARALLEL parameter to at least 2 * number of CPUs. This allows multiple worker processes to perform tasks simultaneously, speeding up both export and import processes.
    • Example: PARALLEL=4 for a system with 2 CPUs.
  1. Perform Import Using NETWORK_LINK:
    • Use the NETWORK_LINK parameter to import data directly from the source database. This method is particularly helpful when space is constrained, as it streams the data without needing to generate dump files on the source.
    • It can also reduce time compared to exporting and then importing, as data is streamed directly from the source to the target database.
  1. Disable Archivelog Mode (Standalone Databases):
    • For standalone databases, temporarily disable archive logging during the import process. Import operations can generate a lot of redo logs, slowing down the import. Disabling archive logging will prevent unnecessary log generation.
  1. Increase UNDO_RETENTION:
    • Increase the UNDO_RETENTION parameter to avoid the ORA-01555 (Snapshot Too Old) error during large imports. A longer retention period ensures that long-running transactions can be handled properly.
  1. Exclude Statistics and Indexes:
    • Excluding statistics and indexes during the import will speed up the process significantly. Statistics and indexes can be recreated after the import is completed.
    • Use the EXCLUDE=STATISTICS and EXCLUDE=INDEX parameters in impdp.
  1. Separate LOB Columns for Import:
    • LOB (Large Object) columns do not support parallelism, and can slow down the import process. For better performance, consider exporting and importing LOB columns separately using a different process.
    • Use the DATA_OPTIONS=LOB_STORAGE parameter to optimize LOB handling

  2. Increase Buffer Size:
    • Increasing the BUFFER size can help reduce the number of I/O operations and speed up the process. This memory comes from the PGA, and each parallel process allocates its own buffer. Make sure the system has enough memory.
    • Example: BUFFER=50000000 (50 MB).
  3. Flashback for Consistent Backups:
    • Use the FLASHBACK_SCN or FLASHBACK_TIME parameters during export to ensure a consistent snapshot of the data. This ensures that the data exported is consistent, even if changes are being made in the source database during the export process.
    • Example: FLASHBACK_SCN=123456789 or FLASHBACK_TIME=SYSTIMESTAMP.
  1. Disable Foreign Key Constraints During Import:
    • If applicable, consider disabling foreign key constraints during the import process. Once the import is complete, you can re-enable them to save time and avoid constraint-related delays.

 

Comments

Popular posts from this blog

ORA-28007: THE PASSWORD CANNOT NE REUSED

             - Here will see how to deal with  => ORA-28007: the password cannot be reused -  I got a request from client user, stating his account has been locked. When I check the status of the account I found the below. connect to SYS user & execute the below query of that database. SQL> select password,username,account_status,profile from dba_users where username='TEST'; PASSWORD               USERNAME   ACCOUNT_STATUS                 PROFILE ------------------             ----------------  -------------------------------           -------------------- AB2Aa8AC9971521e3     TEST       EXPIRED(GRACE)&LOCKED    NONAPP_USERS So, then I have unlocked the account and checked the same again & I found the below results. ...

ORA-39014: One or more workers have prematurely exited.ORA-00018: maximum number of sessions exceeded

ERROR: I was Performing a full database import and during the import I faced the below error. ORA-39014: One or more workers have prematurely exited. ORA-39029: worker 6 with process name "DW07" prematurely terminated ORA-31672: Worker process DW07 died unexpectedly. Job "SYSTEM"."SYS_IMPORT_FULL_04" stopped due to fatal error at 00:59:40 ORA-39014: One or more workers have prematurely exited. SOLUTION:  Run the import with fewer parallel processes, like PARALLEL=2 instead of 8. I was able to run the import successfully. NOTE 1: This errors occurs when there are less session allocation in the database. check the session,process parameters and increase them accordingly. To avoid such errors again. NOTE 2 : Note: Increasing processes parameter increases the amount of shared memory that needs to be reserved & the OS must be configured to support the larger amount of shared memory. So here we first need to increase the Memory & SG...