Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-39405 starting from 19c (maybe 18c)?

Leandro LimaOct 28 2021

Hi there, community.
I'm facing a rather weird behaviour in 19c. We have this client that sent us an export made from a 19c database (not sure about the release, he didn't send the log), but when trying to import in our site we hit the said "ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 34 into a target database with TSTZ version 32".
Our database (19.0.0.0) is indeed TSTZ 32:

SQL> SELECT * FROM v$timezone_file;
FILENAME VERSION CON_ID
-------------------- ---------- ----------
timezlrg_32.dat 32 0
SQL>

The only solution is to apply a patch on our site to upgrade this server's TSTZ to 34 in order to import.

But now the plot thickens: importing the very same dump in a 12.2 database works perfectly. This database TSTZ? Let's check:

SQL> SELECT * FROM v$timezone_file;
FILENAME VERSION CON_ID
-------------------- ---------- ----------
timezlrg_18.dat 18 0
SQL>

So riddle me this, Batman: how come a TSTZ 34 cannot import into a 32, but imports correctly in to a 18 (which is far behind)?

The only logical explanation is that before 19c (maybe 18?), this value was never really checked/used during imports? This would make sense since the only mentions I found about this error on google are relatively recent, dating from 2018 onwards.

I did not look up the change log versions, but is it a normal behavior? Is somewhere in the docs mentionned that starting from 19 (or 18) higher versions of TSTZ could not be imported into lower versions?

Comments
Post Details
Added on Oct 28 2021
4 comments
4,667 views