Site icon Database Tutorials

14 Tips for upgrading Oracle RAC from 11g to 12c

 

Note: These tips were based on upgrades from 11.2.0.4 to 12.1.0.2 (Linux and Solaris ONLY)
OS user grid was the “owner” of the Grid infrastructure sw and OS user oracle was the “owner” of the database sw.

The following environment variables were created prior to upgrade:

 

Tip #1.

Run cluster verify for grid/database and fix issues that cannot be ignored. The importance of cluster verify utility (cluvfy) cannot be overstated. Always pipe the results to a file so you can see all results in case the emulator window buffer you are using doesn’t retain it all.

Examples of cluster verify for Grid infrastructure:

 

Examples of cluster verify for Oracle database:

 

Tip #2.

Important OS parameters (Linux only)
These parameters were not sufficient for upgrade in the Linux upgrades I performed. I only assisted on the Solaris upgrade, after OS parameters had already been adjusted, so they are not remarked upon in this article.

 

Tip #3.

Run the ORACHK utility to determine database upgrade readiness:

 

Tip #4.

If possible, use datapump to take a FULL logical backup of the database. The size of your database may make this unfeasible.

Use RMAN to take a full physical COLD backup. This is NON-optional. If you don’t do this, a catastrophic error that aborts the upgrade will leave you with a corrupted database and NO WAY to recover.

 

Tip #5.

Disable scheduled jobs (Only has to be done on single node)

 

Tip #6.

Disable ALL database level triggers BEFORE running dbua.

 

Tip #7 (Linux ONLY).

Reclaim memory (ALL nodes) before starting upgrade:
AS ROOT:

 

Tip #8.

Copy important files from 11g Oracle home to 12c Oracle home as oracle user.
This is, quite possibly, the most important step. You MUST copy these files from the 11g OH to the 12c OH BEFORE invoking dbua.

ON [ALL NODES], perform the following list/copy comands:

 

Tip #9.

Empty the recycle bin and recompile invalid objects BEFORE invoking dbua.

Tip #10.

If your database is in archivelogmode, make sure the parameter db_recovery_file_dest_size is large enough to support all the archive log files that will be generated by the upgrade process.

Tip #11.

During the upgrade process I executed, the permissions of the Oracle OH were changed. This made access to the database problematic using the listener. It is possible that your upgrade may not do this.  A simple way to test it is to copy the tnsnames.ora file from the Oracle OH to the Gris OH and try to connect to a user using sqlnet. If this works, then ignore the rest of this tip. To re-mediate this, I made a very simple change to the permissions. NOTE: This change also was required by a STIG.

— as root

 

— as oracle

 

— as grid

 

Tip #12.

UNDER NO CIRCUMSTANCES ARE YOU EVER TO RECURSIVELY CHANGE PERMISSIONS ON ANY ORACLE HOME.

 

Tip #13.

After successful database upgrade, the compatible parameter is left at the 11g level. This is to provide testing of any application to see if there are negative effects from the upgrade. You will not be able to take advantage of 12c features until you advance the parameter to 12c level. It is possible to advance the parameter forward without bouncing the database. However, it is NOT possible to reverse the process the same way. If you find that you must revert back to the 11g compatible level, you must first have performed a FULL hot backup at the 11g level. Reverting is done by using RMAN to restore/recover to the point in time BEFORE the compatible parameter was advanced.

Tip #14.

Re-enable scheduled jobs and database triggers and TEST.

Exit mobile version