Problems with Patching and Rollback

The following solutions apply to problems with patching and rollback operations on Oracle Database Classic Cloud Service.

I receive a message stating that the virtual machines are unhealthy

You cannot apply a patch if the compute nodes are not in a healthy state.

Restore the deployment using a backup and try patching again.

I receive a message stating that the instance is busy with another operation

You cannot apply a patch when the deployment is under maintenance, for example, scaling or backup.

Wait until the deployment is no longer under maintenance and try patching again.

I cannot apply a patch due to a lack of storage space

When you apply a patch, storage space is required for temporary files that are created and used during the patching operation. If you receive a message indicating that you don’t have sufficient space to patch, either when applying the patch or checking its prerequisites, take these steps:

  1. Check whether you might actually have enough space.

    The patching tools check whether you have 15 GB free space on /u01, but the space actually required for temporary use during patching is somewhat less than 15 GB. To check whether you might have enough space:

    1. Connect as the opc user to the compute node .

      For detailed instructions, see Connecting to a Compute Node Through Secure Shell (SSH).

    2. Display the mounted filesystems:

      $ df -hT
    3. Locate the row for /u01 and check its space available, as reported in the Avail column.

    4. If the space available is 13 GB or greater, you have enough space to patch and you can continue to Step e. If you do not have enough space, close your connection and go to Step 2.

    5. Start a root-user command shell:

      $ sudo -s
      #
    6. Navigate to the /var/opt/oracle/patch directory:

      # cd /var/opt/oracle/patch
    7. Use an editor such as vim to change the value of the ignore_space_less_than_15g key in the dbpatchm.cfg file from 0 (zero) to 1 (one):

      ignore_space_less_than_15g=1
    8. Apply the patch according to the instructions in Applying a Patch.

  2. Add temporary storage for the temporary files.

    If you do not have enough space on /u01, you can add temporary storage to the compute node, apply the patch, and then remove the temporary storage:

    1. Add 20 GB of temporary storage to the compute node by following these instructions: Adding Temporary Storage to a Database Deployment. When following these instructions, use /patchtemp as the mount point directory.

    2. Connect to the compute node as the opc user.

      For detailed instructions, see Connecting to a Compute Node Through Secure Shell (SSH).

    3. Start a root-user command shell:

      $ sudo -s
      #
    4. Navigate to the /var/opt/oracle/patch directory:

      # cd /var/opt/oracle/patch
    5. Use an editor such as vim to edit the dbpatchm.cfg file:

      • Change the value of the temporary_space key from "/u01/download" to "/patchtemp/download"

      • Change the value of the ignore_space_less_than_15g key from 0 (zero) to 1 (one)

      For example:

      temporary_space="/patchtemp/download";
      ...
      ignore_space_less_than_15g=1
    6. Apply the patch according to the instructions in Applying a Patch.

    7. Remove the 20 GB of temporary storage you added to the compute node by following these instructions: Deleting Temporary Storage from a Database Deployment

My attempt to roll back the January 2015 Patch Set Update (Jan 2015 PSU) fails

The January 2015 Patch Set Update includes overlay patches and so you need to include the update’s overlay patch numbers in the rollback operation. To do so, you must add the overlay patch numbers to the rollbackpatches.txt file before rolling back the patch.

  1. Connect as the oracle user to the compute node.

    For detailed instructions, see Connecting to a Compute Node Through Secure Shell (SSH).

  2. Navigate to the /var/opt/oracle/patch directory:

    $ cd /var/opt/oracle/patch
    
  3. Change permissions on the rollbackpatches.txt file to make it editable:

    $ chmod +w rollbackpatches.txt
    
  4. Use an editor such as vim to add the following lines to the end of the rollbackpatches.txt file, making sure to include the colons:

    • For the Jan 2015 PSU on Oracle Database 12.1.0.2:

      20281121:
      19877336:datapatch
    • For the Jan 2015 PSU on Oracle Database 11.2.0.4:

      19770063:
      19877440:../../sqlpatch/19877440/postdeinstall.sql
  5. Disconnect from the compute node:

    $ exit

My attempt to roll back the April 2015 Patch Set Update (Apr 2015 PSU) fails

The April 2015 Patch Set Update includes overlay patches and so you need to include the update’s overlay patch numbers in the rollback operation. To do so, you must add the overlay patch numbers to the rollbackpatches.txt file before rolling back the patch.

  1. Connect as the oracle user to the compute node.

    For detailed instructions, see Connecting to a Compute Node Through Secure Shell (SSH).

  2. Navigate to the /var/opt/oracle/patch directory:

    $ cd /var/opt/oracle/patch
    
  3. Change permissions on the rollbackpatches.txt file to make it editable:

    $ chmod +w rollbackpatches.txt
    
  4. Use an editor such as vim to add the following lines to the end of the rollbackpatches.txt file, making sure to include the colons:

    • For the Apr 2015 PSU on Oracle Database 12.1.0.2:

      20281121:
      20415564:datapatch
    • For the Apr 2015 PSU on Oracle Database 11.2.0.4, Standard Edition:

      19665921:
      20406239:../../sqlpatch/20406239/postdeinstall.sql
      
    • For the Apr 2015 PSU on Oracle Database 11.2.0.4, all Enterprise Editions:

      19665921:
      20406239:../../sqlpatch/20406239/postdeinstall.sql
      19770063:../../sqlpatch/19770063/postdeinstall.sql
  5. Disconnect from the compute node:

    $ exit