What Is Compatibility for Oracle Database?
Databases from different releases of Oracle Database software are compatible if they support the same features and those features perform the same way. When you upgrade to a new release of Oracle Database, certain new features might make your database incompatible with your earlier release.
Your upgraded database becomes incompatible with your earlier release under the following conditions:
- A new feature stores any data on disk (including data dictionary changes) that cannot be processed with your earlier release.
- An existing feature behaves differently in the new environment as compared to the old environment.
The COMPATIBLE Initialization Parameter in Oracle Database
Oracle Database enables you to control the compatibility of your database with the
COMPATIBLE initialization parameter. By default, when theCOMPATIBLE initialization parameter is not set in your parameter file, it defaults to 11.2.0 for Oracle Database 11g Release 2 (11.2). You cannot use new Oracle Database 11g Release 2 (11.2) features that would make your upgraded database incompatible unless the COMPATIBLE initialization parameter is set to this value.
Note:
- Before upgrading to Oracle Database 11g Release 2 (11.2), the
COMPATIBLEinitialization parameter must be set to at least10.0.0, which is the lowest possible setting for Oracle Database 11g Release 2 (11.2). - Oracle recommends increasing the
COMPATIBLEparameter only after thorough testing of the upgraded database has been performed.
Default, Minimum, and Maximum Values of the COMPATIBLE Initialization Parameter for Oracle
lists the default, minimum, and maximum values of the
COMPATIBLE initialization parameter in Oracle Database 11g Release 2 (11.2) and in each release supported for upgrading to Oracle Database 11g Release 2 (11.2).
Table 1-1 The COMPATIBLE Initialization Parameter
| Oracle Database Release | Default Value | Minimum Value | Maximum Value |
|---|---|---|---|
Oracle9i Release 2 (9.2)
| 8.1.0 | 8.1.0.0.0 | 9.2.0.n.n |
Oracle Database 10g Release 1 (10.1)
| 10.0.0 | 9.2.0.0.0 | 10.1.0.n.n |
Oracle Database 10g Release 2 (10.2)
| 10.2.0 | 9.2.0.0.0 | 10.2.0.n.n |
Oracle Database 11g Release 1 (11.1)
| 11.0.0 | 10.0.0.0.0 | 11.1.0.n.n |
Oracle Database 11g Release 2 (11.2)
| 11.2.0 | 10.0.0.0.0 | 11.2.0.n.n |
Considerations for Downgrading Oracle Database and Compatibility
Before upgrading to Oracle Database 11g Release 2 (11.2), the
COMPATIBLE initialization parameter must be set to at least 10.0.0. Only a subset of Oracle Database 11g Release 2 (11.2) features are available while the COMPATIBLE initialization parameter is set to this value.
After upgrading to Oracle Database 11g Release 2 (11.2), you can set the
COMPATIBLE initialization parameter to match the release number of the new release. Doing so enables you to use all features of the new release, but prevents you from downgrading to your earlier release.
If, after upgrading, you want to downgrade, then the
COMPATIBLE initialization parameter must be set as follows after the upgrade:- Keep the setting at
10.1.0if you upgraded from Oracle Database 10g Release 1 (10.1) - Set to
10.2.0or 10.1.0 if you upgraded from Oracle Database 10g Release 2 (10.2) - Set to
11.1.0,10.2.0, or10.1.0if you upgraded from Oracle Database 11g Release 1 (11.1) - Important:After you increase the
COMPATIBLEparameter, the database cannot subsequently be downgraded to releases earlier than what is set for compatibility.
How the COMPATIBLE Initialization Parameter Operates in Oracle Database
The
COMPATIBLE initialization parameter operates in the following way:- It controls the behavior of your database. For example, if you run an Oracle Database 11g Release 2 (11.2) database with the
COMPATIBLEinitialization parameter set to10.1.0, then it generates database structures on disk that are compatible with Oracle Database 10g Release 1 (10.1). Therefore, theCOMPATIBLEinitialization parameter enables or disables the use of features. If you try to use any new features that make the database incompatible with theCOMPATIBLEinitialization parameter, then an error is displayed. However, any new features that do not make incompatible changes on disk are enabled. - It makes sure that the database is compatible with its setting. If the database becomes incompatible with its setting, then the database does not start and terminates with an error. If this happens, then you must set the
COMPATIBLEinitialization parameter to an appropriate value for the database.
Checking the Compatibility Level of Oracle Database
The compatibility level of your database corresponds to the value of the
COMPATIBLE initialization parameter. For example, if you set the COMPATIBLEinitialization parameter to 11.2.0, then the database runs at release 11.2.0 compatibility level.
To check the current value of the COMPATIBLE initialization parameter
- Enter the following SQL statement:
SQL> SELECT name, value FROM v$parameter WHERE name = 'compatible';
When to Set the COMPATIBLE Initialization Parameter in Oracle Database
Oracle recommends increasing the
COMPATIBLE parameter only after complete testing of the upgraded database has been performed. After the upgrade is complete, you can increase the setting of the COMPATIBLE initialization parameter to the maximum level for the new Oracle Database 11g release. However, after you increase the COMPATIBLE parameter, the database cannot subsequently be downgraded.
No comments:
Post a Comment