Resolving ORA-39405: Upgrading Target Database Time Zone File to Match Source in Oracle Data Pump Imports

Introduction

When performing an Oracle Data Pump import, mismatched database Time Zone File (TSTZ) versions between the source and target databases can cause an ORA-39405 error. This issue occurs because Oracle does not allow importing from a higher timezone file version into a lower version, to prevent incorrect datetime conversions.

Error: ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 42 into a target database with TSTZ version 32.

Source Database TSTZ version is 42

Target Database TSTZ version is 32

That is why we encountered the ORA-39405 error while performing the import into the target database

To resolve this issue change the timezone of Target Database using below steps.

Step 1:

Go to this timezone directory in Source Server: $ORACLE_HOME/oracore/timezone

In Source Server

cd $ORACLE_HOME/oracore/timezone

Step 2:

And scp these two dat files (timezlrg_42.dat, timezone_42.dat) from Source server to Target server timezone directory $ORACLE_HOME/oracore/zoneinfo

scp timezlrg_42.dat timezone_42.dat oracle@ip_address:/u01/app/oracle/product/19.0.0/dbhome_1/oracore/zoneinfo

Step 3:

Shutdown the Target Database and start it with upgrade mode

shutdown immediate

startup upgrade

Step 4:

Change the timezone version of Target Database using below command

EXEC DBMS_DST.BEGIN_UPGRADE (42);

Step 5:

Then bounce the Target Database

shutdown immediate

startup

To check the timezone of Target database use the below command:

select * from v$timezone_file;

Conclusion

The solution is to upgrade the target database’s TSTZ version to match that of the source by applying the latest Oracle timezone files and executing DBMS_DST.BEGIN_UPGRADE(). This ensures data integrity is maintained and avoids making unnecessary modifications to the source database.

Recent Posts