Tuesday, November 25, 2014

Online Patching on 11gR2


In 11g R2 new feature is added Online patching.

OPatch - How are Online Patches Installed?

OPatch is the recommended (Oracle-supplied) tool that customers are supposed to use in order to apply or rollback patches. It maintains an inventory of patches, and ensures that two conflicting patches are not simultaneously installed. OPatch was recently modified to support online patches, which means that it can apply/rollback online patches, as well as detect conflicts between any two kinds of patches. As such, it is not necessary for customers to execute the "oradebug patch" commands; OPatch does this.

All OPatch versions after 11.1.0.6 are Online Patch aware.

The syntax to install an Online Patch is:
opatch apply online -connectString :::

example:
$ opatch apply online -connectString db11202:sys:oracle -invPtrLoc /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
Invoking OPatch 11.2.0.1.4

Oracle Interim Patch Installer version 11.2.0.1.4
Copyright (c) 2010, Oracle Corporation. All rights reserved.


Oracle Home : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version : 11.2.0.1.4
OUI version : 11.2.0.2.0
OUI location : /u01/app/oracle/product/11.2.0/dbhome_1/oui
Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2011-01-27_16-14-21PM.log

Patch history file: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_history.txt


The patch should be applied/rolled back in '-all_nodes' mode only.
Converting the RAC mode to '-all_nodes' mode.
ApplySession applying interim patch '10188727' to OH '/u01/app/oracle/product/11.2.0/dbhome_1'

Running prerequisite checks...
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: y

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '10188727' for restore. This might take a while...
Backing up files affected by the patch '10188727' for rollback. This might take a while...

Patching component oracle.rdbms, 11.2.0.2.0...
The patch will be installed on active database instances.
Installing and enabling the online patch 'bug10188727.pch', on database 'db11202'.

ApplySession adding interim patch '10188727' to inventory

Verifying the update...
Inventory check OK: Patch ID 10188727 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 10188727 are present in Oracle Home.

OPatch succeeded.


For RAC you can list all of the instances:
opatch apply online -connectString :::,:::,...


The USERNAME and PASSWORD are those of a user that has SYSDBA privileges.
The USERNAME and PASSWORD can be left blank if the OS user applying the patch has the SYSDBA privilege.
To apply a patch only to local in the RAC environment, it is necessary to use '-loca








How are Online Patches rollback'ed?


Using "opatch" you can rollback the patch
opatch rollback -id -connectString :::,:::, ...

The USERNAME and PASSWORD are those of a user that has SYSDBA privileges. The USERNAME and PASSWORD can be left blank if the OS user applying the patch has the SYSDBA privilege. Also the NODE is optional if the patch is being applied locally.
Using opatch does not remove the patch, it simply disables it (rolls it back) and removes the patch entry from the inventory. This behavior may change in the future.

Example:
$ opatch rollback -id 10188727 -connectString db11202:sys:oracle -invPtrLoc /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
Invoking OPatch 11.2.0.1.4

Oracle Interim Patch Installer version 11.2.0.1.4
Copyright (c) 2010, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc
OPatch version    : 11.2.0.1.4
OUI version       : 11.2.0.2.0
OUI location      : /u01/app/oracle/product/11.2.0/dbhome_1/oui
Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2011-01-27_16-21-59PM.log

Patch history file: /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_history.txt

RollbackSession rolling back interim patch '10188727' from OH '/u01/app/oracle/product/11.2.0/dbhome_1'

The patch should be applied/rolled back in '-all_nodes' mode only.
Converting the RAC mode to '-all_nodes' mode.

Running prerequisite checks...

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Backing up files affected by the patch '10188727' for restore. This might take a while...

Patching component oracle.rdbms, 11.2.0.2.0...
The patch will be removed from active database instances.
Disabling and removing online patch 'bug10188727.pch', on database 'db11202'

RollbackSession removing interim patch '10188727' from inventory

OPatch succeeded.