0

We have a 2 current Oracle 10G(10.2.0.1) production databases, and we are planning to migrate to a new database server with Oracle 12C. Since data is for each database is only around 5GB, the best way to create a new instance and use data pump to transfer data. To achieve this, I created a database link from the Oracle 12C database to the 10G, and use that to expdp the data from the 12C database. However when I import the exported data I have around tables that have an error like this:

ORA-39083: Object type TABLE:"USER"."WH_SEARCH_ACT" failed to create with error:
ORA-00406: COMPATIBLE parameter needs to be 12.2.0.0.0 or greater
ORA-00722: Feature "Partition Read Only"

Is there any solution to this other than adding the COMPATIBLE parameter in the production database? This is production so I can't really just update/modify the current production database. Any other solutions here, because i don't like just create the tables before importing the data pump file.

Drew
  • 710
  • 1
  • 15
  • 34

2 Answers2

2

Use the version parameter in the data pump utility. For example:

 expdp hr/hr TABLES=hr.employees VERSION=10.2 
DIRECTORY=data_pump_dir DUMPFILE=emp10g.dmp LOGFILE=emp.log

Just make sure the version of the export utility is 10g and import utility is 12G. Hope this helps.

jose_bacoy
  • 12,227
  • 1
  • 20
  • 38
  • I need to make the export from Oracle 10g and use Oracle 12c import ? – Drew Feb 24 '18 at 01:40
  • Still get the same error and another error as well `ORA-39083: Object type SEQUENCE:"USER"."PNR_RMRK_ACCT_LINE_SEQ" failed to create with error: ORA-00933: SQL command not properly ended` – Drew Feb 24 '18 at 02:18
  • It seems likely you are running into a bug. There are MOS notes on this topic, [such as this one](https://support.oracle.com/knowledge/Oracle%20Database%20Products/340300_1.html). If you have an Oracle Support contract then you should raise an SR. If you don't have a Support contract then re-run the export without the sequences and write a script to apply them manually. – APC Feb 24 '18 at 05:46
0

In the production database . you can use exp program

exp  username/password  buffer=64000 file=/path/to/path.dmp full=y

copy exp dump file to oracle 12c and use

imp  username/password  buffer=64000  file=/path/to/path.dmp full=y