The Oracle Database enables you to control the compatibility of your database with the COMPATIBLE initialization parameter. By default, when the COMPATIBLE initialization parameter is not set in your parameter file, it defaults to the base release (for example 12.1.0) of your database.
When you upgrade to a new release of the Oracle Database, certain new features may make your database incompatible with your previous release. Your upgraded Oracle database becomes incompatible with your previous release under the following conditions:
- A new feature stores any data on disk (including data dictionary changes) that cannot be processed with your previous release.
- An existing feature behaves differently in the new environment as compared to the old environment. This type of incompatibility is classified as a language incompatibility.
You cannot downgrade a database to a version that is below the version of the COMPATIBLE parameter
When you upgrade your database to a new version but left the compatible parameter at the old version you can not use most of the new features and you will run into the following error: ORA-23375: feature is incompatible with database version
The COMPATIBLE parameter controls how data is written to disk. But it does not control the usage of optimizer features. There are a lot of parameter to control the oprimizer features. The OPTIMIZER_FEATURES_ENABLED is a parameter that you have to set appropriately to enable the optimizer features of the Oracle version.