Applying PSU In A Data Guard Physical Standby Configuration
Posted by learnwithme11g 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
- Disable Log Shipping From Primary To Standby
- Shutdown All The Standby Database Services
- Apply PSU patch to Standby Database
- Mount The Standby Database
- Stop Primary Database Services
- Apply PSU Patch To Primary Database
- Start Primary Database
- Re-Enable Log Shipping
- Put Standby Database In Recovery Mode
- 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