Preparing 12.2 Database Deployments Hosting Oracle RAC Databases for Patching

Not Oracle Cloud InfrastructureNot Oracle Cloud at Customer This topic does not apply to Oracle Cloud Infrastructure or to Oracle Cloud at Customer.

You can bring a 12.2 database deployment hosting an Oracle RAC database up-to-date and prepare it for patching when the first PSU becomes available for Release 12.2.

Note:

The following procedure is required only for 12.2 database deployments using Database Cloud Service release 17.2.1 or earlier.

Before you begin

  • Make sure the database deployment has cloud tooling version 17.2.5.1 or later. For more information, see Updating the Cloud Tooling by Using the raccli Utility.

  • Before starting the procedure, you should back up the deployment. For instructions, see Creating an On-Demand Backup.

  • Plan for the following downtime while performing the procedure:

    • Database Clustering with RAC—Both Oracle RAC nodes will be shut down simultaneously while you apply a patch to the database.

    • Database Clustering with RAC and Data Guard Standby—First, both Oracle RAC nodes of the standby database will be shut down simultaneously while you apply a patch to the standby, and then both Oracle RAC nodes of the primary database will be shut down simultaneously while you apply a patch to the primary.

Procedure

Apply a “sync-up” patch to your 12.2 database deployment.

  • For Database Clustering with RAC databases, perform the steps in this procedure once.

  • For Database Clustering with RAC and Data Guard Standby databases, perform the steps in this procedure twice: first on your standby database and then on your primary database.

  1. Connect as the opc user to compute node 1.
  2. Apply patch 24976125 to your database:
    $ raccli apply patch -db -tag 24976125

    The Oracle Database home is updated on both compute nodes. Both nodes are shut down at the same time, patched, and brought back online.

  3. Check your database for invalid objects.

    The patch application may have invalidated some database objects. You can check for invalid objects and validate them as follows:

    1. Invoke SQL*Plus and log in as the SYS user with SYSDBA privileges.
    2. Make sure you are connected to the CDB root and run the following query:
      SQL> select count(*) from cdb_objects where status='INVALID';
    3. Exit SQL*Plus:
      SQL> exit
      $
    4. If the preceding query returns a count value of 1 or greater, then the database contains invalid objects. You can validate them by running the following command. Enter the command on one line with no line breaks.
      $ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -b utlrp_output $ORACLE_HOME/rdbms/admin/utlrp.sql