Oracle Database 19 Release 19.11.0.0.210420DBRU

19 Patch for 31760278 for Linux-x86-64 Platforms

This patch is RAC Rolling Installable - Please read My Oracle Support Document 244241.1 https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=244241.1
Rolling Patch - OPatch Support for RAC.

This patch is Data Guard Standby-First Installable - Please read My Oracle Support Note 1265700.1 https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1265700.1
Oracle Patch Assurance - Data Guard Standby-First Patch Apply for details on how to remove risk and reduce downtime when applying this patch.

Released: Fri Aug 20 07:37:45 2021
  
This document describes how you can install the overlay patch for bug# on your Automatic Storage Management 19 Release 19.11.0.0.210420DBRU
This Patch is applicable on Grid Infrastructure Home and Database Home
 

(I) Prerequisites
--------------------
Before you install or deinstall the patch, ensure that you meet the following requirements:

Note: In case of an Oracle RAC environment, meet these prerequisites on each of the nodes.

1. Ensure that the Oracle home on which you are installing the patch or from which you are rolling back the patch is Oracle Database 19 Release 19.11.0.0.210420DBRU.
 
    - For a Non-RAC environment, shut down all databases and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator's Guide.

2. Ensure that 19 Release 19.11.0.0.210420DBRU Patch Set Update (PSU) 32545013 is already applied on the Oracle Database.

3. Oracle recommends you to use the latest version available for 19 Release 19.11.0.0.210420DBRU. If you do not have OPatch 19 Release 19.11.0.0.210420DBRU, then download it from patch# 6880880 for 19.11.0.0.210420DBRU release.

    For information about OPatch documentation, including any known issues, see My Oracle Support Document 293369.1 OPatch documentation list:
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=224346.1
 

4. Ensure environment variable ORACLE_HOME is set correctly.


5. Ensure that the $PATH definition has the following executables: make, ar, ld and nm. The location of these executables depends on your operating system. On many operating systems, they are located in /usr/ccs/bin.


6. Before beginning patch application, check the consistency of inventory information for GI home and each database home to be patched. Run the following command as respective Oracle home owner to check the consistency.
    % $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME


    Note:
    - If this command succeeds, it lists the Oracle components that are installed in the home.
    - Save the output so you have the status prior to the patch apply.
    - If this command fails, contact Oracle Support Services for assistance.


7. (Only for Installation) Maintain a location for storing the contents of the patch ZIP file. In the rest of the document, this location (absolute path) is referred to as <PATCH_TOP_DIR>. Extract the contents of the patch ZIP file to the location (PATCH_TOP_DIR) you have created above. To do so, run the following command:
    $ unzip -d <PATCH_TOP_DIR> p31760278_1911000DBRU_Linux-x86-64.zip 


8. (Only for Installation) Determine whether any currently installed interim patches conflict with this patch 31760278 as shown below:
    $ cd <PATCH_TOP_DIR>/31760278
    $ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
	
    The report will indicate the patches that conflict with this patch and the patches for which the current 31760278 is a superset.
	
    Note:
    Upon execution of the Opatch command, it validates the patch and ensures that there are no conflicts with the software already installed in the ORACLE_HOME. OPatch categorizes conflicts into the following types:
    - Conflicts with a patch already applied to the ORACLE_HOME that is a subset of the patch you are trying to apply  - In this case, continue with the patch installation because the new patch contains all the fixes from the existing patch in the ORACLE_HOME. The subset patch will automatically be rolled back prior to the installation of the new patch.
    - Conflicts with a patch already applied to the ORACLE_HOME - In this case, stop the patch installation and contact Oracle Support Services.
 

9. Ensure that you shut down all the services running from the Oracle home of Oracle Database home.
	- Stopping services from Database home in Clustered Environments (Run as the database home owner)
  	  $ $ORACLE_HOME/bin/srvctl stop instance -d <db_unique_name> -n <node_name>

	- Stopping services from Database home in Standalone Servers or Non-Clustered Environments (Run as the database home owner)
	  $ $ORACLE_HOME/bin/srvctl stop home -o <ORACLE_HOME> -s <STAT_FILE_LOCATION>

    <STAT_FILE_LOCATION> is a path to save the state of the database configuration temporarily. The previous command will stop the HA-managed clusterware resource for the specified database 
    home, and create a state file that can be used when restarting the same. Repeat the same command for all other database homes if you have more than one on the node, and make sure you 
    use different <STAT_FILE_LOCATION> each time.

    Note:
    - For a Non-RAC environment, shut down all databases and listeners associated with the ORACLE_HOME that you are updating. For more information, see Oracle Database Administrator's Guide.
    - For a RAC environment, shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons) running from the Oracle home of the node you want to patch. After you patch this node, start the services on this node. Repeat this process for each of the other nodes of the Oracle RAC system. OPatch is used on only one node at a time.
	- If you are applying this patch to a database home, then shut down the services from the Oracle home of the database in the usual way. You do not have to use the srvctl command in that case.
	- If the Oracle Database you are patching was installed with an operating system user account that is different from the user account used for installing the Oracle ASM, then run srvctl as the 	
	  database home user (RDBMS home user) to stop the database instance on each node:
	  $ $ORACLE_HOME/bin/srvctl stop instance -d <db_unique_name> -n <node_name>

	
10. Run the pre-root script as a root user from the Oracle home of Oracle Grid Infrastructure:

  - Running the Script for Grid Infrastructure Home in Clustered Environments (Run as root)
    # <GI_HOME>/crs/install/rootcrs.pl -unlock

  - Running the Script for Grid Infrastructure Home on Standalone Servers or Non-Clustered Environments (Run as root)
    # <GI_HOME>/crs/install/roothas.pl -unlock



(II) Installation
-----------------
To install the patch, follow these steps:

1. Apply Patch to Grid Home as GI home owner :
   $ <GI_HOME>/OPatch/opatch apply -oh <GI_HOME> -local <PATCH_TOP_DIR>/31760278

2. Apply Patch to DB home(s) as DB home owner :
   $ <ORACLE_HOME>/OPatch/opatch apply -oh <ORACLE_HOME> -local <PATCH_TOP_DIR>/31760278

3. Verify whether the patch has been successfully installed by running the following command:

   As the Oracle Grid Infrastructure owner, run the following command:
   $ opatch lsinventory -oh <GI_HOME>
 
   As  the Oracle Database home owner, run the following command:
   $ opatch lsinventory -oh <ORACLE_HOME>

4. Run the post script as a root user from the Oracle home of Oracle Grid Infrastructure:

   - Running the script for Grid Infrastructure home in Clustered Environments (Run as root)
     # <GI_HOME>/crs/install/rootcrs.pl -patch

   - Running the script for Grid Infrastructure home on Standalone Servers or Non-Clustered Environments (Run as root)
     # <GI_HOME>/crs/install/roothas.pl -patch

   Note: If you are applying this patch to a Database home, then skip this step.

5. Restart all the instances from the Oracle home.
   - Restarting services from Database home in Clustered Environments (Run as the database home owner)
     $ $ORACLE_HOME/bin/srvctl start instance -d <db_unique_name> -n <node_name>

   - Restarting services from Database home on Standalone Servers or Non-Clustered Environments (Run as the database home owner)
     $ $ORACLE_HOME/bin/srvctl start home -o <ORACLE_HOME> -s <STAT_FILE_LOCATION>

   <STAT_FILE_LOCATION> refers to the absolute path leading up to the file name of the STAT_FILE that was created when you stopped the services.

   Note:
   - If you applied this patch to a database home, then start the services from the Oracle home of the database in the usual way. You do not have to use the srvctl command in that case.
   - If the Oracle Database was installed with an operating system user account that is different from the user account used for installing the Oracle ASM, then run srvctl as the database home user 
	(RDBMS home user) to start the database instance on each node:
	$ <ORACLE_HOME>/bin/srvctl start instance -d <db_unique_name> -n <node_name>

  
(III) Deinstallation
--------------------
Ensure to follow the Prerequsites (Section I). To deinstall the patch, follow these steps:

1. Deinstall the patch from Grid Home as GI home owner :
   $ <GI_HOME>/OPatch/opatch rollback -local -id 31760278 -oh <GI_HOME>
 
2. Deinstall the patch from DB home(s) as DB home owner :
   $ <ORACLE_HOME>/OPatch/opatch rollback -local -id 31760278 -oh <ORACLE_HOME>

3. Run the post script as a root user from the Oracle home of Oracle Grid Infrastructure:

   - Running the script for Grid Infrastructure home in Clustered Environments (Run as root)
     # <GI_HOME>/crs/install/rootcrs.pl -patch

   - Running the script for Grid Infrastructure home on Standalone Servers or Non-Clustered Environments (Run as root)
     # <GI_HOME>/crs/install/roothas.pl -patch

   Note: If you are rolling back the patch from a Database home, then skip this step.

4. Restart all the instances from the Oracle home.
    
   - If this is a GI Home environment, as the database home owner execute:
     $ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

   - If this is an Oracle Restart Home environment, as the database home owner execute:
     $ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location>


   <STAT_FILE_LOCATION> refers to the absolute path leading up to the file name of the STAT_FILE that was created when you stopped the services.

   Note:
   - If you rolled back the patch to a database home, then start the services from the Oracle home of the database in the usual way. You do not have to use the srvctl command in that case.
   - If the Oracle Database was installed with an operating system user account that is different from the user account used for installing the Oracle ASM, then run srvctl as the database home user 
     (RDBMS home user) to start the database instance on each node:
     $ $ORACLE_HOME>/bin/srvctl start instance -d <db_unique_name> -n <node_name>

5. Ensure that you verify the Oracle Inventory and compare the output with the one run before the patch installation and re-apply any patches that were rolled back as part of this patch apply. To verify the inventory, run the following command:

   As the Oracle Grid Infrastructure owner, run the following command:
   $ opatch lsinventory -oh <GI_HOME>
 
   As the Oracle Database home owner, run the following command:
   $ opatch lsinventory -oh <ORACLE_HOME>




 (IV) Bugs Fixed by This Patch
---------------------------------
The following are the bugs fixed by this patch:
  31760278: LNX64-21.1-RAC,+ASM NFG HIT ORA-600[KFCDEADLOCKAVOID01]

--------------------------------------------------------------------------
Copyright 2021, Oracle and/or its affiliates. All rights reserved.
--------------------------------------------------------------------------
