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.