Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I am trying to import an Oracle backup .DMP file into a new Oracle DB and I'm getting the error "ORA-39142: incompatible version number 3.1". My research tells me that this is because the version of Oracle that the .DMP file is coming from is newer than the version I have running (running on a VM), but I have no control over the export process for this .DMP file so I can't play games there to "downgrade" the export.

Is there a way import this backup file without fiddling with the export process and without upgrading the Oracle VM I'm using?

share|improve this question

migrated from stackoverflow.com Apr 18 '12 at 14:32

This question came from our site for professional and enthusiast programmers.

    
what version are you running? What version is the source system? are you talking about a file generated using datapump oruring the old oracle export? Does your export contain data or only objects. Waht type of export is this (table,schema,tablespace,full)? –  miracle173 Apr 18 '12 at 15:37
add comment

2 Answers 2

Here's an interesting blog entry from Burleson computing that appears potentially useful for your circumstance.

From the site:

There are two cases where it is possible to import into an earlier release:

1 - Using the version parameter in Data Pump. See my notes on importing between different releases of Oracle with Data Pump export/import

2 - Using a exp dump file with a Data Pump impdp utility.

share|improve this answer
    
Unfortunately the VERSION= parameter can only be used during the export process, so the OP won't be able to utilise it. –  Phil Apr 18 '12 at 14:45
    
"2 - Using a exp dump file with a Data Pump impdp utility." I think that this is mistake by Mr Burleson. impdp cannot use files created by exp but only files by expdp (data pump) docs.oracle.com/cd/B28359_01/server.111/b28319/… –  miracle173 Apr 18 '12 at 15:31
add comment

If the databases are on the same network and are not too many versions out this should work:

You have to use the export utility from your older database to get the data out of the newer database. (this might not work when trying to use an oracle 8i exp on an Oracle 11g database)

Add the information about the new database to the TNSNAMES.ora file on the older database

Run the exp utility from the command line or script on your old database

  • connect to the new database
  • export the data as a .dmp file
  • copy the dump file over to your old database
  • import using the imp utility on your old database

Watch out for character set conversions, you do not want Oracle truncating or replacing characters. Set the option to the same character set in the scripts for the export and import.

EDIT You cannot use the existing dump file but you do not have to upgrade the older Oracle version. You need to create a dump file compatible with the older Oracle version.

share|improve this answer
1  
"Is there a way import this backup file without fiddling with the export process and without upgrading the Oracle VM I'm using?" –  Phil Apr 18 '12 at 15:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.