Oracle Technologies Blog

By ASKM

Applying PSU In A Data Guard Physical Standby Configuration

Posted by Srikrishna Murthy Annam on January 1, 2012

In this article, I will explain step by step instructions to apply PSU patch to a data guard environment. The latest available PSU patch to RDBMS is 11.2.0.2.4 Patch Set Update (PSU) ie Patch:12827726

  1. Disable Log Shipping From Primary To Standby
  2. Shutdown All The Standby Database Services
  3. Apply PSU patch to Standby Database
  4. Mount The Standby Database
  5. Stop Primary Database Services
  6. Apply PSU Patch To Primary Database
  7. Start Primary Database
  8. Re-Enable Log Shipping
  9. Put Standby Database In Recovery Mode
  10. Verify The PSU Patch Application.

1. Disable Log Shipping From Primary To Standby :

    Assuming that the data guard broker is configured and Disabling log shipping using DGMGRL.

    Verifying Data Guard Health Status:

    

[oracle@dgaskmpri01 ~]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.2.0 - Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> conn sys/oracle
Unrecognized command "conn", try "help"
DGMGRL>
DGMGRL>
DGMGRL> connect sys/oracle
Connected.
DGMGRL> show configuration

Configuration - askm_config

Protection Mode: MaxPerformance
 Databases:
 orcl - Primary database
 sbyorcl - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> switchover to 'sbyorcl';
Performing switchover NOW, please wait...
New primary database "sbyorcl" is opening...
Operation requires shutdown of instance "orcl" on database "orcl"
Shutting down instance "orcl"...
ORACLE instance shut down.
Operation requires startup of instance "orcl" on database "orcl"
Starting instance "orcl"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "sbyorcl"
DGMGRL> show configuration

Configuration - askm_config

Protection Mode: MaxPerformance
 Databases:
 sbyorcl - Primary database
 orcl - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

DGMGRL> switchover to 'orcl';
Performing switchover NOW, please wait...
New primary database "orcl" is opening...
Operation requires shutdown of instance "sbyorcl" on database "sbyorcl"
Shutting down instance "sbyorcl"...
ORACLE instance shut down.
Operation requires startup of instance "sbyorcl" on database "sbyorcl"
Starting instance "sbyorcl"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "orcl"
DGMGRL>

    Disable Log Shipping :

DGMGRL> show database verbose orcl;

Database - orcl

Role: PRIMARY
 Intended State: TRANSPORT-ON
 Instance(s):
 orcl

Properties:
 DGConnectIdentifier = 'orcl'
 ObserverConnectIdentifier = ''
 LogXptMode = 'ASYNC'
 DelayMins = '0'
 Binding = 'optional'
 MaxFailure = '0'
 MaxConnections = '1'
 ReopenSecs = '300'
 NetTimeout = '30'
 RedoCompression = 'DISABLE'
 LogShipping = 'ON'
 PreferredApplyInstance = ''
 ApplyInstanceTimeout = '0'
 ApplyParallel = 'AUTO'
 StandbyFileManagement = 'AUTO'
 ArchiveLagTarget = '0'
 LogArchiveMaxProcesses = '30'
 LogArchiveMinSucceedDest = '1'
 DbFileNameConvert = 'sbyorcl, orcl'
 LogFileNameConvert = '/home/oracle/app/oracle/flash_recovery_area/sbyorcl/, /home/oracle/app/oracle/flash_recovery_area/orcl/'
 FastStartFailoverTarget = ''
 InconsistentProperties = '(monitor)'
 InconsistentLogXptProps = '(monitor)'
 SendQEntries = '(monitor)'
 LogXptStatus = '(monitor)'
 RecvQEntries = '(monitor)'
 SidName = 'orcl'
 StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgaskmpri01.localdomain)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=orcl_DGMGRL.localdomain)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
 StandbyArchiveLocation = '/home/oracle/app/oracle/flash_recovery_area/orcl/'
 AlternateLocation = ''
 LogArchiveTrace = '0'
 LogArchiveFormat = '%t_%s_%r.arc'
 TopWaitEvents = '(monitor)'

Database Status:
SUCCESS

DGMGRL> edit database orcl set state='LOG-TRANSPORT-OFF';
Succeeded.
DGMGRL> show database verbose orcl;

Database - orcl

Role: PRIMARY
 Intended State: TRANSPORT-OFF
 Instance(s):
 orcl

Properties:
 DGConnectIdentifier = 'orcl'
 ObserverConnectIdentifier = ''
 LogXptMode = 'ASYNC'
 DelayMins = '0'
 Binding = 'optional'
 MaxFailure = '0'
 MaxConnections = '1'
 ReopenSecs = '300'
 NetTimeout = '30'
 RedoCompression = 'DISABLE'
 LogShipping = 'ON'
 PreferredApplyInstance = ''
 ApplyInstanceTimeout = '0'
 ApplyParallel = 'AUTO'
 StandbyFileManagement = 'AUTO'
 ArchiveLagTarget = '0'
 LogArchiveMaxProcesses = '30'
 LogArchiveMinSucceedDest = '1'
 DbFileNameConvert = 'sbyorcl, orcl'
 LogFileNameConvert = '/home/oracle/app/oracle/flash_recovery_area/sbyorcl/, /home/oracle/app/oracle/flash_recovery_area/orcl/'
 FastStartFailoverTarget = ''
 InconsistentProperties = '(monitor)'
 InconsistentLogXptProps = '(monitor)'
 SendQEntries = '(monitor)'
 LogXptStatus = '(monitor)'
 RecvQEntries = '(monitor)'
 SidName = 'orcl'
 StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgaskmpri01.localdomain)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=orcl_DGMGRL.localdomain)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
 StandbyArchiveLocation = '/home/oracle/app/oracle/flash_recovery_area/orcl/'
 AlternateLocation = ''
 LogArchiveTrace = '0'
 LogArchiveFormat = '%t_%s_%r.arc'
 TopWaitEvents = '(monitor)'

Database Status:
SUCCESS

DGMGRL>

2. Shutdown All The Standby Database Services :

    Stop Listener :

 

[oracle@dgaskmsby01 ~]$ lsnrctl stop LISTENER_SBY

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 23-NOV-2011 04:02:19

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1525)))
The command completed successfully
[oracle@dgaskmsby01 ~]$ lsnrctl status LISTENER_SBY

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 23-NOV-2011 04:02:29

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1525)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgaskmsby01.localdomain)(PORT=1525)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 Linux Error: 111: Connection refused
[oracle@dgaskmsby01 ~]$

    Stop Recovery On Standby Server:

  

[oracle@dgaskmsby01 ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 04:02:39 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.
SQL>

    Shutdown Standby Server:

SQL> shut immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL>

3. Apply PSU patch to Standby Database :

    Verify opatch version :

      

[oracle@dgaskmsby01 dbhome_2]$ which opatch
/usr/bin/which: no opatch in (/usr/java/latest/bin:/usr/java/latest/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/app/oracle/product/11.2.0/dbhome_2/bin:/home/oracle/bin)
[oracle@dgaskmsby01 dbhome_2]$ export PATH=$PATH:$ORACLE_HOME/OPatch
[oracle@dgaskmsby01 dbhome_2]$ which opatch
~/app/oracle/product/11.2.0/dbhome_2/OPatch/opatch
[oracle@dgaskmsby01 dbhome_2]$ opatch -help

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

 Usage: opatch [ -help ] [ -r[eport] ] [ command ]

command := apply
 lsinventory
 lspatches
 napply
 nrollback
 rollback
 query
 version
 prereq
 util

<global_arguments> := -help Displays the help message for the command.
 -report Print the actions without executing.

example:
 'opatch -help'
 'opatch -help -fmw'
 'opatch auto -help'
 'opatch apply -help'
 'opatch lsinventory -help'
 'opatch lspatches -help'
 'opatch napply -help'
 'opatch nrollback -help'
 'opatch rollback -help'
 'opatch prereq -help'
 'opatch util -help'
OPatch succeeded.
[oracle@dgaskmsby01 dbhome_2]$

    Check For One-Off Patch Conflicts :

      

[oracle@dgaskmsby01 12827726]$ pwd
/tmp/askm/12827726
[oracle@dgaskmsby01 12827726]$ cd ..
[oracle@dgaskmsby01 askm]$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./12827726

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

PREREQ session

Oracle Home : /home/oracle/app/oracle/product/11.2.0/dbhome_2
Central Inventory : /home/oracle/app/oraInventory
 from : /home/oracle/app/oracle/product/11.2.0/dbhome_2/oraInst.loc
OPatch version : 11.2.0.1.9
OUI version : 11.2.0.2.0
Log file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-18-51AM.log
Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@dgaskmsby01 askm]$

      Apply PSU Patch :

      

[oracle@dgaskmsby01 askm]$ cd 12827726/
[oracle@dgaskmsby01 12827726]$ opatch apply

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

Oracle Home : /home/oracle/app/oracle/product/11.2.0/dbhome_2
Central Inventory : /home/oracle/app/oraInventory
 from : /home/oracle/app/oracle/product/11.2.0/dbhome_2/oraInst.loc
OPatch version : 11.2.0.1.9
OUI version : 11.2.0.2.0
Log file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-19-20AM.log

Applying interim patch '12827726' to OH '/home/oracle/app/oracle/product/11.2.0/dbhome_2'
Verifying environment and performing prerequisite checks...
All checks passed.
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

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/home/oracle/app/oracle/product/11.2.0/dbhome_2')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...

Patching component oracle.rdbms.rsf, 11.2.0.2.0...

Patching component oracle.rdbms, 11.2.0.2.0...
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/psu/11.2.0.2.4/catpsu.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/psu/11.2.0.2.4/catpsu_rollback.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/cpu/scripts/patch_8837510.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/cpu/scripts/emdb_recomp_invalids.sql"

Patching component oracle.sysman.console.db, 11.2.0.2.0...

Patching component oracle.sysman.oms.core, 10.2.0.4.3...

Patching component oracle.ldap.rsf, 11.2.0.2.0...

Patching component oracle.rdbms.dv, 11.2.0.2.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.2.0...

Patching component oracle.sysman.plugin.db.main.repository, 11.2.0.2.0...

Patching component oracle.rdbms.rman, 11.2.0.2.0...

Patching component oracle.sdo.locator, 11.2.0.2.0...
Patch 12827726 successfully applied
Log file location: /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-19-20AM.log

OPatch succeeded.
[oracle@dgaskmsby01 12827726]$ grep -i error /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-19-20AM.log
 [Back up for restore] : Back up 49 files for Oracle Home restore in case of patching error.
[Nov 23, 2011 4:27:28 AM] OUI-67049:Updating archive file "/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.a" with "lib/libnnz11.a/ssl_hshk_priv_onerror.o"
[Nov 23, 2011 4:30:50 AM] Deleted the file "/home/oracle/app/oracle/product/11.2.0/dbhome_2/.patch_storage/12827726_Sep_21_2011_05_09_52/scratch/ssl_hshk_priv_onerror.o"
[oracle@dgaskmsby01 12827726]$

    NOTE: Don’t run the script “catbundle.sql”  as a part of applying PSU patch on standby database. We will run this script only on primary database and the redo logs will carry these changes to all the standby databases in the data guard configuration.

4. Mount The Standby Database :

     Start Standby Listener :

      

[oracle@dgaskmsby01 12827726]$ clear
[oracle@dgaskmsby01 12827726]$ lsnrctl start LISTENER_SBY

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 23-NOV-2011 04:51:18

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Starting /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.2.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/product/11.2.0/dbhome_2/log/diag/tnslsnr/dgaskmsby01/listener_sby/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1525)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dgaskmsby01.localdomain)(PORT=1525)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1525)))
STATUS of the LISTENER
------------------------
Alias LISTENER_SBY
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 23-NOV-2011 04:51:19
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
Listener Log File /home/oracle/app/oracle/product/11.2.0/dbhome_2/log/diag/tnslsnr/dgaskmsby01/listener_sby/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1525)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dgaskmsby01.localdomain)(PORT=1525)))
Services Summary...
Service "sbyorcl_DGMGRL.localdomain" has 1 instance(s).
 Instance "sbyorcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@dgaskmsby01 12827726]$

      Mount Standby Database :

      

[oracle@dgaskmsby01 12827726]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 04:51:31 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 456146944 bytes
Fixed Size 1344840 bytes
Variable Size 343935672 bytes
Database Buffers 104857600 bytes
Redo Buffers 6008832 bytes
Database mounted.
SQL>

      NOTE :  Don’t put the database in recover mode. We will start standby recovery mode after applying the PSU patch on primary database.

5. Stop Primary Database Services :

    Stop Primary Listener :

     

[oracle@dgaskmpri01 askm]$ lsnrctl stop LISTENER_PRI

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 23-NOV-2011 04:52:45

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1525)))
The command completed successfully
[oracle@dgaskmpri01 askm]$

     Stop Primary Database :

     

[oracle@dgaskmpri01 askm]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 04:52:52 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

6. Apply PSU Patch To Primary Database :    

     Check OPatch Version :

     

[oracle@dgaskmpri01 dbhome_2]$ opatch -help

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

Usage: opatch [ -help ] [ -r[eport] ] [ command ]

command := apply
 lsinventory
 lspatches
 napply
 nrollback
 rollback
 query
 version
 prereq
 util

<global_arguments> := -help Displays the help message for the command.
 -report Print the actions without executing.

example:
 'opatch -help'
 'opatch -help -fmw'
 'opatch auto -help'
 'opatch apply -help'
 'opatch lsinventory -help'
 'opatch lspatches -help'
 'opatch napply -help'
 'opatch nrollback -help'
 'opatch rollback -help'
 'opatch prereq -help'
 'opatch util -help'

OPatch succeeded.
[oracle@dgaskmpri01 dbhome_2]$

     Check For One-Off Patch Conflicts :

     

[oracle@dgaskmpri01 12827726]$ pwd
/tmp/askm/12827726
[oracle@dgaskmpri01 12827726]$ cd ..
[oracle@dgaskmpri01 askm]$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./12827726

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

PREREQ session

Oracle Home : /home/oracle/app/oracle/product/11.2.0/dbhome_2
Central Inventory : /home/oracle/app/oraInventory
 from : /home/oracle/app/oracle/product/11.2.0/dbhome_2/oraInst.loc
OPatch version : 11.2.0.1.9
OUI version : 11.2.0.2.0
Log file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-54-27AM.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.
[oracle@dgaskmpri01 askm]$

     Apply PSU Patch :

     

[oracle@dgaskmpri01 askm]$ cd 12827726/
[oracle@dgaskmpri01 12827726]$ opatch apply

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

Oracle Home : /home/oracle/app/oracle/product/11.2.0/dbhome_2
Central Inventory : /home/oracle/app/oraInventory
 from : /home/oracle/app/oracle/product/11.2.0/dbhome_2/oraInst.loc
OPatch version : 11.2.0.1.9
OUI version : 11.2.0.2.0
Log file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-56-28AM.log

Applying interim patch '12827726' to OH '/home/oracle/app/oracle/product/11.2.0/dbhome_2'
Verifying environment and performing prerequisite checks...
All checks passed.
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

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/home/oracle/app/oracle/product/11.2.0/dbhome_2')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...

Patching component oracle.rdbms.rsf, 11.2.0.2.0...

Patching component oracle.rdbms, 11.2.0.2.0...
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/psu/11.2.0.2.4/catpsu.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/psu/11.2.0.2.4/catpsu_rollback.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/cpu/scripts/patch_8837510.sql"
Copying file to "/home/oracle/app/oracle/product/11.2.0/dbhome_2/cpu/scripts/emdb_recomp_invalids.sql"

Patching component oracle.sysman.console.db, 11.2.0.2.0...

Patching component oracle.sysman.oms.core, 10.2.0.4.3...

Patching component oracle.ldap.rsf, 11.2.0.2.0...

Patching component oracle.rdbms.dv, 11.2.0.2.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.2.0...

Patching component oracle.sysman.plugin.db.main.repository, 11.2.0.2.0...

Patching component oracle.rdbms.rman, 11.2.0.2.0...

Patching component oracle.sdo.locator, 11.2.0.2.0...
Patch 12827726 successfully applied
Log file location: /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-56-28AM.log

OPatch succeeded.
[oracle@dgaskmpri01 12827726]$ grep -i error /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_04-56-28AM.log
 [Back up for restore] : Back up 49 files for Oracle Home restore in case of patching error.
[Nov 23, 2011 5:06:28 AM] OUI-67049:Updating archive file "/home/oracle/app/oracle/product/11.2.0/dbhome_2/lib/libnnz11.a" with "lib/libnnz11.a/ssl_hshk_priv_onerror.o"
[Nov 23, 2011 5:09:51 AM] Deleted the file "/home/oracle/app/oracle/product/11.2.0/dbhome_2/.patch_storage/12827726_Sep_21_2011_05_09_52/scratch/ssl_hshk_priv_onerror.o"
[oracle@dgaskmpri01 12827726]$

7. Start Primary Database :

     Start Primary Listener :

      

[oracle@dgaskmpri01 admin]$ lsnrctl start LISTENER_PRI

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 23-NOV-2011 05:33:53

Copyright (c) 1991, 2010, Oracle. All rights reserved.

Starting /home/oracle/app/oracle/product/11.2.0/dbhome_2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.2.0 - Production
System parameter file is /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
Log messages written to /home/oracle/app/oracle/product/11.2.0/dbhome_2/log/diag/tnslsnr/dgaskmpri01/listener_pri/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1525)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dgaskmpri01.localdomain)(PORT=1525)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1525)))
STATUS of the LISTENER
------------------------
Alias LISTENER_PRI
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 23-NOV-2011 05:33:53
Uptime 0 days 0 hr. 0 min. 1 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
Listener Log File /home/oracle/app/oracle/product/11.2.0/dbhome_2/log/diag/tnslsnr/dgaskmpri01/listener_pri/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1525)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dgaskmpri01.localdomain)(PORT=1525)))
Services Summary...
Service "orcl_DGMGRL.localdomain" has 1 instance(s).
 Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@dgaskmpri01 admin]$

      Start Primary Database In Restrict Mode :

      

[oracle@dgaskmpri01 12827726]$ cd $ORACLE_HOME/rdbms/admin
[oracle@dgaskmpri01 admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 05:10:59 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup restrict
ORACLE instance started.

Total System Global Area 456146944 bytes
Fixed Size 1344840 bytes
Variable Size 398461624 bytes
Database Buffers 50331648 bytes
Redo Buffers 6008832 bytes
Database mounted.
Database opened.
SQL>

      Run Post PSU Patch Script catbundle.sql :

      

SQL> @catbundle psu apply

PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

Generating apply and rollback scripts...
Check the following file for errors:
/home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/catbundle/catbundle_PSU_ORCL_GENERATE_2011Nov23_05_12_04.log
Apply script: /home/oracle/app/oracle/product/11.2.0/dbhome_2/rdbms/admin/catbundle_PSU_ORCL_APPLY.sql
Rollback script: /home/oracle/app/oracle/product/11.2.0/dbhome_2/rdbms/admin/catbundle_PSU_ORCL_ROLLBACK.sql

PL/SQL procedure successfully completed.

Executing script file...

SQL> COLUMN spool_file NEW_VALUE spool_file NOPRINT
SQL> SELECT '/home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/catbundle/' || 'catbundle_PSU_' || name || '_APPLY_' || TO_CHAR(SYSDATE, 'YYYYMonDD_hh24_mi_ss', 'NLS_DATE_LANGUAGE=''AMERICAN''') || '.log' AS spool_file FROM v$database;

SQL> SPOOL &spool_file
SQL> exec dbms_registry.set_session_namespace('SERVER')

PL/SQL procedure successfully completed.

SQL> PROMPT Processing EM Repository...
Processing EM Repository...
SQL> ALTER SESSION SET current_schema = SYSMAN;

Session altered.

SQL> @?/sysman/admin/emdrep/sql/db/latest/policy/config_util_pkgdef.sql
SQL> Rem drv: <create type="pkgdefs"/>
SQL> Rem
SQL> Rem $Header: emdb/source/oracle/sysman/emdrep/sql/db/latest/policy
.....
....
.....
.......
......
 10 'PSU',
 11 'PSU 11.2.0.2.4');

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SPOOL off
SQL> SET echo off
Check the following log file for errors:
/home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/catbundle/catbundle_PSU_ORCL_APPLY_2011Nov23_05_12_17.log
SQL>
SQL>

      Register Listener and Disable Restricted Mode :

      

SQL> alter system register;

System altered.

SQL> alter system disable restricted session;

System altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@dgaskmpri01 admin]$

8. Re-Enable Log Shipping :

     

[oracle@dgaskmpri01 admin]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.2.0 - Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/oracle
Connected.
DGMGRL> edit database orcl set state='ONLINE';
Succeeded.
DGMGRL> show database verbose orcl;

Database - orcl

Role: PRIMARY
 Intended State: TRANSPORT-ON
 Instance(s):
 orcl

Properties:
 DGConnectIdentifier = 'orcl'
 ObserverConnectIdentifier = ''
 LogXptMode = 'ASYNC'
 DelayMins = '0'
 Binding = 'optional'
 MaxFailure = '0'
 MaxConnections = '1'
 ReopenSecs = '300'
 NetTimeout = '30'
 RedoCompression = 'DISABLE'
 LogShipping = 'ON'
 PreferredApplyInstance = ''
 ApplyInstanceTimeout = '0'
 ApplyParallel = 'AUTO'
 StandbyFileManagement = 'AUTO'
 ArchiveLagTarget = '0'
 LogArchiveMaxProcesses = '30'
 LogArchiveMinSucceedDest = '1'
 DbFileNameConvert = 'sbyorcl, orcl'
 LogFileNameConvert = '/home/oracle/app/oracle/flash_recovery_area/sbyorcl/, /home/oracle/app/oracle/flash_recovery_area/orcl/'
 FastStartFailoverTarget = ''
 InconsistentProperties = '(monitor)'
 InconsistentLogXptProps = '(monitor)'
 SendQEntries = '(monitor)'
 LogXptStatus = '(monitor)'
 RecvQEntries = '(monitor)'
 SidName = 'orcl'
 StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dgaskmpri01.localdomain)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=orcl_DGMGRL.localdomain)(INSTANCE_NAME=orcl)(SERVER=DEDICATED)))'
 StandbyArchiveLocation = '/home/oracle/app/oracle/flash_recovery_area/orcl/'
 AlternateLocation = ''
 LogArchiveTrace = '0'
 LogArchiveFormat = '%t_%s_%r.arc'
 TopWaitEvents = '(monitor)'

Database Status:
SUCCESS

DGMGRL>

9. Put Standby Database In Recovery Mode :

     

[oracle@dgaskmsby01 admin]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 05:38:27 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
*
ERROR at line 1:
ORA-01153: an incompatible media recovery is active

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

Database altered.

SQL>

10. Verify The PSU Patch Application:

     On Primary :

       

[oracle@dgaskmpri01 trace]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 05:39:39 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PRIMARY TO STANDBY

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/app/oracle/flash_recovery_area/orcl/
Oldest online log sequence 28
Next log sequence to archive 30
Current log sequence 30
SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

SQL>

SQL> col action_time for a30
SQL> col action for a25
SQL> col namespace for a10
SQL> col version for a10
SQL> col bundle_series for a5
SQL> col id for 9999999
SQL> set linesize 120
SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history;
ACTION_TIME ACTION NAMESPACE VERSION BUNDL ID
------------------------------ ------------------------- ---------- ---------- ----- --------
02-OCT-10 11.34.43.691423 AM VIEW INVALIDATE 8289601
02-OCT-10 11.34.44.547808 AM UPGRADE SERVER 11.2.0.2.0
02-OCT-10 11.35.33.441827 AM APPLY SERVER 11.2.0.2 PSU 0
23-NOV-11 05.13.44.279446 AM APPLY SERVER 11.2.0.2 PSU 4

SQL>

      On Standby :

      

[oracle@dgaskmsby01 admin]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.2.0 Production on Wed Nov 23 05:40:25 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
---------------- --------------------
PHYSICAL STANDBY NOT ALLOWED

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/app/oracle/flash_recovery_area/sbyorcl/
Oldest online log sequence 30
Next log sequence to archive 0
Current log sequence 32
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APPLIED
---------- ---------
 1 YES
...
...
 29 YES
 30 YES

SEQUENCE# APPLIED
---------- ---------
 31 IN-MEMORY

45 rows selected.

SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history;
select ACTION_TIME,ACTION,NAMESPACE,VERSION,BUNDLE_SERIES,ID from registry$history
 *
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@dgaskmsby01 admin]$ clear
[oracle@dgaskmsby01 admin]$ opatch lsinventory

Oracle Interim Patch Installer version 11.2.0.1.9
Copyright (c) 2011, Oracle Corporation. All rights reserved.

Oracle Home : /home/oracle/app/oracle/product/11.2.0/dbhome_2
Central Inventory : /home/oracle/app/oraInventory
 from : /home/oracle/app/oracle/product/11.2.0/dbhome_2/oraInst.loc
OPatch version : 11.2.0.1.9
OUI version : 11.2.0.2.0
Log file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/opatch2011-11-23_05-43-55AM.log

Lsinventory Output file location : /home/oracle/app/oracle/product/11.2.0/dbhome_2/cfgtoollogs/opatch/lsinv/lsinventory2011-11-23_05-43-55AM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (1):

Oracle Database 11g 11.2.0.2.0
There are 1 products installed in this Oracle Home.

Interim patches (1) :

Patch 12827726 : applied on Wed Nov 23 04:29:17 PST 2011
Unique Patch ID: 14019830
 Created on 21 Sep 2011, 05:09:52 hrs PST8PDT
 Bugs fixed:
 10158965, 10031806, 12635537, 9746210, 9744252, 9956713, 10356513
 10204358, 10378005, 10170431, 11853815, 10222719, 12639177, 9591812
 10127360, 9443361, 10035737, 10384285, 12846268, 9873405, 12846269
 11069199, 12670165, 10245086, 10159846, 10205230, 10052141, 10039731
 11818335, 12371955, 10040921, 12366627, 10077191, 11827088, 11785938
 10219576, 10258337, 11707699, 10264680, 10094823, 10209232, 11695333
 9881076, 10278372, 10281887, 10621169, 10048701, 9078442, 11057263
 10157249, 9735237, 10317487, 10219583, 10636231, 10310299, 11065646
 10055063, 10368698, 12340939, 10079168, 10233732, 8223165, 10264696
 10142909, 9953542, 10052956, 10080579, 11699057, 12620422, 10285022
 10329146, 10332589, 11666137, 10110863, 9869401, 12828071, 10019218
 10229719, 9539440, 10373381, 11724984, 10239480, 10411618, 11670161
 9724970, 10399808, 10113990, 10312847, 11893621, 10084145, 10367188
 11800170, 11695285, 10285394, 10157402, 9651350, 10299224, 10151017
 11724916, 10190642, 12586486, 9564886, 12586487, 10129643, 12586488
 12586489, 10018789, 10248523, 9715581, 9770451, 11889177, 10425676
 9683047, 10180307, 10126094, 10396041, 10132870, 10094201, 10193846
 11664046, 10324294, 9414040, 12586490, 9819805, 12586491, 9795214
 12586492, 12586493, 12586494, 10142788, 12586495, 11830776, 9905049
 11674898, 10419984, 12586496, 11830777, 6892311, 11830778, 10358019
 12431716, 10422126, 10200404, 11651810, 10102506, 11067567, 12827726
 11733179, 10229886, 10040531, 10155605, 10326338, 10356782, 10082277
 10051315, 10218814, 9788588, 10278773, 12326246, 10622001, 11707302
 10230571, 9966609, 12419321, 12546006, 10137324, 9771278, 10013431
 10228151, 10324526, 11894889, 10238786, 10217802, 10061015, 9572787
 10332111, 10227288, 10623249, 10073683, 12639234, 11664719, 9735282
 9748749, 10022980, 10237773, 11800854, 12419331, 11674485, 10097711
 10187168, 6523037, 10648873, 10053725, 8685446

--------------------------------------------------------------------------------

OPatch succeeded.
[oracle@dgaskmsby01 admin]$

NOTE : The same procedure can be used for Patchsets/CPU patch application.

Reference:

How do you apply a Patchset,PSU or CPU in a Data Guard Physical Standby configuration [ID 278641.1]

Hope It Helps

SRI

 

Advertisements

One Response to “Applying PSU In A Data Guard Physical Standby Configuration”

  1. Mam said

    Excellent explanation.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: