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
Check For One-Off Patch Conflicts :
Apply PSU Patch :
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 :
Mount Standby Database :
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 :
6. Apply PSU Patch To Primary Database :
Check OPatch Version :
Check For One-Off Patch Conflicts :
Apply PSU Patch :
7. Start Primary Database :
Start Primary Listener :
Start Primary Database In Restrict Mode :
Register Listener and Disable Restricted Mode :
8. Re-Enable Log Shipping :
9. Put Standby Database In Recovery Mode :
- 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.
Assuming that the data guard broker is configured and Disabling log shipping using DGMGRL.
Verifying Data Guard Health Status:
Stop Listener :
Shutdown Standby Server:
3. Apply PSU patch to Standby Database :
Verify opatch version :
Verifying Data Guard Health Status:
[oracle@dgaskmpri01 ~]$ dgmgrlDisable Log Shipping :
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>
DGMGRL> show database verbose orcl;2. Shutdown All The Standby Database Services :
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>
Stop Listener :
[oracle@dgaskmsby01 ~]$ lsnrctl stop LISTENER_SBYStop Recovery On Standby Server:
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 ~]$
[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_PRIStop Primary Database :
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]$
[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>
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 :
NOTE : The same procedure can be used for Patchsets/CPU 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
Hope It Helps
SRI
+ comments + 1 comments
Excellent explanation.
Post a Comment
Thank you for visiting our site and leaving your valuable comment.