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-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

ORA-01143: cannot disable media recovery - file 1 needs media recovery

I got a request from the client - To flashback the database to the existing restore point & disable flashback and archive log mode for database UATB. Here I came a cross error - ORA-01143. I followed the below steps. 1. SQL> select name from v$database; NAME ------------ UATB 2. SQL> SELECT NAME FROM V$RESTORE_POINT WHERE GUARANTEE_FLASHBACK_DATABASE='YES' ORDER BY TIME; NAME --------- UATB_COPY Here I'm going to restore the database to the above restore point. NOTE: The flashback database restore has to be done in MOUNT stage of the database. SQL> select name from v$database; NAME --------- UATB SQL> shut immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area  612368384 bytes Fixed Size                  1250428 bytes Variable Size             167775108 bytes Database Buffers          436207616 bytes Redo Buffers