Thursday 12 March 2020

11g Oracle RAC Database OCT 2019 PSU Patching /30070097/STEP BY STEP



11g Oracle RAC Database OCT 2019 PSU Patching /30070097/STEP BY STEP

Patch 30070097 - Oracle Grid Infrastructure Patch Set Update 11.2.0.4.191015


1) check opatch version


Node1[/u01/oracle/RACDBTST/product/11.2.0.4/OPatch]$ opatch version
OPatch Version: 11.2.0.3.23
OPatch succeeded.



The version output of the previous command should be 11.2.0.3.21 or later.



2) create OCM file from instance onwner--

 create ocm.rsp and change chmod 775 ocm.rsp (after going in $ORACLE_HOME/OPatch/ocm/bin in case bin directory is empty mean emocmrsp is not exist
   create an OCM response file from this directory /u01/oracle/RACDBTST/product/11.2.0.4/ccr/bin/emocmrsp


3) check patch conflict

 check  One-off Patch Conflict Detection and Resolution as below
 /u01/oracle/RACDBTST/product/11.2.0.4/OPatch]$ opatch prereq CheckConflictAmongPatchesWithDetail -phBaseDir /staging/2020_rac_patch/30070097



4) apply patch

run from root user
----------------
Node1:root:/u01/oracle/RACDBTST/product/11.2.0.4/OPatch:] ./opatch auto /staging/2020_rac_patch_new/30070097 -oh /u01/oracle/RACDBTST/product/11.2.0.4 -ocmrf /u01/oracle/RACDBTST/product/11.2.0.4/ccr/bin/ocm.rsp
Executing /u02/oracle/11.2.0.4/grid/perl/bin/perl /u01/oracle/RACDBTST/product/11.2.0.4/OPatch/crs/patch11203.pl -patchdir /staging/2020_rac_patch_new -patchn 30070097 -oh /u01/oracle/RACDBTST/product/11.2.0.4 -ocmrf /u01/oracle/RACDBTST/product/11.2.0.4/ccr/bin/ocm.rsp -paramfile /u02/oracle/11.2.0.4/grid/crs/install/crsconfig_params
This is the main log file: /u01/oracle/RACDBTST/product/11.2.0.4/cfgtoollogs/opatchauto2020-03-11_10-43-43.log
This file will show your detected configuration and all the steps that opatchauto attempted to do on your system:
/u01/oracle/RACDBTST/product/11.2.0.4/cfgtoollogs/opatchauto2020-03-11_10-43-43.report.log
2020-03-11 10:43:43: Starting Clusterware Patch Setup
Using configuration parameter file: /u02/oracle/11.2.0.4/grid/crs/install/crsconfig_params

2020-03-11 10:43:43: Starting Clusterware Patch Setup
Using configuration parameter file: /u02/oracle/11.2.0.4/grid/crs/install/crsconfig_params
Unable to determine if /u01/oracle/RACDBTST/product/11.2.0.4 is shared oracle home
Enter 'yes' if this is not a shared home or if the prerequiste actions are performed to patch this shared home (yes/no):



press yes

5) start database instance if it is not started automatically

srvctl start instance -d RACDBTST -i RACDBTST1
4:24
Node1[/home/RACDBTST]$ srvctl start instance -d RACDBTST -i RACDBTST1
Node1[/home/RACDBTST]$ ps -ef |grep pmon
  oracrs 65470786        1   0   Mar 10      -  0:09 asm_pmon_+ASM1
RACDBTST 66322908        1   0 10:51:22      -  0:00 ora_pmon_RACDBTST1
Node1[/home/RACDBTST]$


same steps on other node


6)finallly   Loading Modified SQL Files into the Database


stop one instance and run @catbundle.sql after doing pre-check at database level



1.2.5.2 Loading Modified SQL Files into the Database

The following steps load modified SQL files into the database. For an Oracle RAC environment, perform these steps on only one node.

    For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the catbundle.sql script as follows:

    cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    SQL> STARTUP
    SQL> @catbundle.sql psu apply
    SQL> QUIT

    The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series PSU.

    For information about the catbundle.sql script, see My Oracle Support Document 605795.1 Introduction to Oracle Database catbundle.sql.

    If the OJVM PSU was applied for a previous GI PSU patch, you may see invalid Java classes after execution of the catbundle.sql script in the previous step. If this is the case, run utlrp.sql to re-validate these Java classes.

    cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    SQL> @utlrp.sql

    Check the following log files in $ORACLE_BASE/cfgtoollogs/catbundle for any errors:

    catbundle_PSU_<database SID>_APPLY_<TIMESTAMP>.log
    catbundle_PSU_<database SID>_GENERATE_<TIMESTAMP>.log

    where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are errors, see Known Issues.

    This patch now includes the OJVM Mitigation patch (Patch:19721304). If an OJVM PSU is installed or planned to be installed, no further actions are necessary. Otherwise, the workaround of using the OJVM Mitigation patch can be activated. As SYSDBA do the following from the admin directory:

    SQL > @dbmsjdev.sql
    SQL > exec dbms_java_dev.disable

    For more information on the OJVM mitigation patch, see Document 1929745.1 Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU and Update" (OJVM PSU and OJVM Update) Patches.

1.2.5.3 Upgrade Oracle Recovery Manager Catalog

If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it:

$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;





Pre check at database level

=================================


set lines 132
set pages 9999
SET FEEDBACK OFF
SET ECHO OFF
SET HEADING ON
SET VERIFY ON
SET TERMOUT OFF
SET TRIMSPOOL ON


spool  /oracle/OCT19_12_2_PSU/b2b47ppt_prechecks.log

set linesize 200 pages 200
/

select name ,open_mode from v$database
/

select * from v$version
/

archive log list
/

sho parameter control
/

sho parameter pfile
/

select owner, object_name, object_type,status from dba_objects where owner in ('SYS','SYSTEM') and status like 'INVALID'
/

select owner, object_name, object_type,status from dba_objects where status like 'INVALID'
/

select count(1) from dba_objects where status like 'INVALID'
/

set lines 200 pages 200
col action_time format a40
col action format a30
col namespace format a10
col comments format a30
col version format a13
set lin 200 head on feed on pagesize 100
/


select i.instance_name,r.* from v$instance i, registry$history r
/

set lines 200 pages 200
/

column comp_name format a50
/

SELECT comp_id,comp_name, status, version FROM dba_registry
/


set lines 200 pages 200
col action_time format a40
col DESCRIPTION format a60
/

select PATCH_ID,SOURCE_VERSION,ACTION_TIME,STATUS,ACTION,DESCRIPTION from dba_registry_sqlpatch
/

select * from dba_registry_sqlpatch

spool off
/

exit



cd $ORACLE_HOME/rdbms/admin

@utlrp.sql

select to_char(action_time,'DD-MON-YYYY') as action_time_2, patch_id, patch_uid, action, version,  description from dba_registry_sqlpatch order by action_time;


set head on feed on pagesize 200 linesize 200
select owner, object_name, object_type from dba_objects where owner in ('SYS','SYSTEM') and status like 'INVALID';


No comments:

Post a Comment