Other posts already mentioned that you cannot downgrade to a version below the compatible level. You have to export the objects and their data from the source database and import them into the target database. Usually you will use Oracle Datapump Export and Import for these tasks.
Oracle Support note "Export/Import DataPump Parameter VERSION - Compatibility of Data Pump Between Different Oracle Versions (Doc ID 553337.1)" tells us the following
Export Data Pump compatibility:
The compatibility level of the Data Pump dumpfile set is determined by the compatibility level of the source database.
When exporting data, use the same version Export Data Pump client as the version of the source database (up to one major version lower expdp client is possible, but this is not recommended).
If the dumpfile needs to be imported into a lower version target database, use the Export Data Pump parameter VERSION to match the compatibility level of the target database.
...
4.2. Export Data Pump parameter: VERSION
With the Export Data Pump parameter VERSION, you can control the version of the dumpfile set, and make the set compatible to be imported into a database with a lower compatibility level.
...
When specified, internal Data Pump components like the Metadata Application Program Interface (API) make sure that the metadata objects are compatible with the specified version.
As a result of this you have the ability to determine which version of the objects will be exported. Database objects or attributes that are incompatible with the specified version will not be exported. For example, tables containing new datatypes that are not supported in the specified version will not be exported.
...
Remarks:
- Import Data Pump cannot import dumpfile sets with a higher compatibility level than the target database. I.e.: an export Data Pump dumpfile created with VERSION=COMPATIBLE (default) from a 11.1.0.6.0 source database with COMPATIBLE=11.1.0 can never be imported into a 10.2.0.4.0 target database.
...
- In exception to the above: new features are usually only introduced with a new main release (like with Oracle10g, Release 2 (10.2.0.1.0)), and not with a patchset (like 10.2.0.4.0 versus the base release of Oracle10g Release 2 (10.2.0.1.0)). Therefore it is possible to import any dumpfile from a main release in all patched versions of the main release (e.g.: import an 10.2.0.4.0 Export Data Pump dumpfile set into a 10.2.0.1.0 target database without specifying the VERSION=10.2.0.1.0 for the Export Data Pump job).
Import Data Pump compatibility:
When importing data, use the same version Import Data Pump client as the version of the target database (up to one major version lower impdp client is possible, but this is not recommended).
Import Data Pump can always read Export Data Pump dumpfile sets created by older versions of the database.
Import Data Pump cannot import dumpfile sets if the compatibility level of the dumpfile set is higher than the the compatibility level of the target database.
...
5.2. Import Data Pump parameter: VERSION
With the Import Data Pump parameter VERSION, you can control the version of the objects that are loaded into the target database. When specified, internal Data Pump components like the Metadata Application Program Interface (API) make sure that the metadata objects are comptible with the specified version. As a result of this you have the ability to determine which version of the objects will be imported: database objects or attributes that are incompatible with the specified version will not be transferred to the target database.
...
Remarks:
- It is important to realize that the Import Data Pump parameter VERSION cannot be used to allow a higher version dumpfile to be imported into a lower release database. If the dumpfile needs to be imported into a lower release target database, you have to use the Export Data Pump parameter VERSION to match the compatibility level of the target database.
...
So you export with expdp
tool from the source database. If the COMPATIBLE
parameter of the source database is higher than the COMPATIBLE
parameter of the target database you have to use the VERSION
parameter for the export and set it to the value of the COMPATIBLE
parameter of the source database. For the import you use the impdp
tool of the target database. If you din't use the VERSION
parameter for the export in this situation an import will not be possible.