Speed up Data Pump Import by suppressing redo generation
Customer Request : Import 20GB Dump file without downtime(Without changing into noarchivelog mode).
Problem: Database running in Archive log mode and my archive destination size is very limited.
Solution:
Using transform=disable_archive_logging:Y we can avoid redo generation and it will speedup import.
Test:
Without Feature:
============
Before Import:
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 1.74 0 7 0
After Import:
SQL> set linesize 400
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 2.77 0 11 0
Import elapsed 0 00:00:26
SQL> drop table test.test_table;
Table dropped.
With Feature:
==========
impdp system/manager dumpfile=test_dir:test.dmp logfile=test_dir:test_imp.log metrics=y transform=disable_archive_logging:Y
SQL> set linesize 400
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 2.77 0 11 0
Import elapsed 0 00:00:03
SQL> conn test/test
Connected.
SQL> select logging from user_tables where table_name='TEST_TABLE';
LOG
---
YES
Problem: Database running in Archive log mode and my archive destination size is very limited.
Solution:
Using transform=disable_archive_logging:Y we can avoid redo generation and it will speedup import.
Test:
Without Feature:
============
Before Import:
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 1.74 0 7 0
After Import:
SQL> set linesize 400
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 2.77 0 11 0
Import elapsed 0 00:00:26
SQL> drop table test.test_table;
Table dropped.
With Feature:
==========
impdp system/manager dumpfile=test_dir:test.dmp logfile=test_dir:test_imp.log metrics=y transform=disable_archive_logging:Y
SQL> set linesize 400
SQL> select * from v$recovery_area_usage where FILE_TYPE='ARCHIVED LOG';
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
ARCHIVED LOG 2.77 0 11 0
Import elapsed 0 00:00:03
SQL> conn test/test
Connected.
SQL> select logging from user_tables where table_name='TEST_TABLE';
LOG
---
YES
Comments
Post a Comment