Disclaimer

Friday 10 September 2021

How to upgrade Grid Infrastructure from 12.2.0.1 to 19c

There are five main sections to the upgrade:

Phase 1 – Prepare the Existing Environment

Execute prerequisites outside planned maintenance window to ensure target database and system meets minimum requirements. By executing these steps a week or weeks prior to the maintenance window, you can reduce downtime window and avoid potential upgrade errors.

The software releases and patches installed in the current environment must be at certain minimum levels before upgrading to 19c can begin.

Phase 2 – Upgrade Grid Infrastructure to 19c

This section describes how to upgrade your Grid Infrastructure from 12.2.0.1 to Oracle Grid Infrastructure version 19c.

Phase 3 – Install Database 19c Software

This section describes how install your Database 19c software into a new ORACLE_HOME directory. The installation is performed with no impact to running applications.

Phase 4 – Upgrade Database to 19c

This section describes how to upgrade your Oracle Database from versions 12.2.0.1 to Oracle Database version 19c. The database upgrade will require complete downtime of the target primary database and potentially any standby database(s) associated with the primary database.

Phase 5 – Post-upgrade Steps

This section includes potential post upgrade steps depending on your configuration and removing unused ORACLE_HOME’s.

Conventions

  • Source database home will be /u01/app/oracle/product/12c/db_1
  • Source grid home will be /u01/app/12c/grid
  • Target database home will be /u01/app/oracle/product/19c/db_1
  • Target grid home will be /u01/app/19c/grid

Assumptions

  • The grid software owner is oracle.
  • The database software owner is oracle.
  • The Oracle inventory group is oinstall.
  • The database to be upgraded is named INFRADB.

 

Phase 1 – Prepare the Existing Environment

Here are the steps performed in this section:

  • Step 1.1 – Planning
  • Step 1.2 – Review 19c Upgrade Prerequisites
  • Step 1.3 – Preparations for upgrades on Oracle Database
  • Step 1.4 – Validate Environment

 

Step 1.1 – Planning

Here are the steps performed in this section:

  • Step 1.1.1 – Testing on non-production first
  • Step 1.1.2 – Backup and Fallback
  • Step 1.1.3 – Obtain Required Database and Operating System Account Access Account Access

Step 1.1.1 – Testing on non-production first

Upgrades or patches should always be applied first on test environments. Testing on non-production environments allows operators to become familiar with the patching steps and learn how the patching will impact system and applications.

 

Step 1.1.2 – Backup and Fallback

Recommend using out-of-place upgrade using a separate OH and Grid Home. Furthermore ensure you have a good, reliable backup prior to any major upgrade. Refer to RMAN documentation. Additional to a good backup, a Guaranteed Restore Point (GRP) can simplify any possible fallback operation if required.

1. Take Tar backup of grid home and database home
2. Take backup of asm metadata , ocr and olr

Backup all Disk Groups

ASMCMD> md_backup /u01/software/backup/alldg
Disk group metadata to be backed up: DATA
Disk group metadata to be backed up: FRA
Current alias directory path: ASM
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B
Current alias directory path: infradb/ONLINELOG
Current alias directory path: _mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA
Current alias directory path: _mgmtdb/CONTROLFILE
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B/TEMPFILE
Current alias directory path: _mgmtdb/DATAFILE
Current alias directory path: _mgmtdb/TEMPFILE
Current alias directory path: crsprod/ASMPARAMETERFILE
Current alias directory path: infradb/PASSWORD
Current alias directory path: _mgmtdb
Current alias directory path: infradb/PARAMETERFILE
Current alias directory path: _mgmtdb/PARAMETERFILE
Current alias directory path: crsprod/OCRBACKUP
Current alias directory path: _mgmtdb/C10576AF34987CDEE05301BEA8AC4917
Current alias directory path: _mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA/DATAFILE
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B/DATAFILE
Current alias directory path: infradb/TEMPFILE
Current alias directory path: crsprod/OCRFILE
Current alias directory path: _mgmtdb/ONLINELOG
Current alias directory path: infradb/DATAFILE
Current alias directory path: infradb/CONTROLFILE
Current alias directory path: crsprod
Current alias directory path: infradb
Current alias directory path: ASM/PASSWORD
Current alias directory path: _mgmtdb/C10576AF34987CDEE05301BEA8AC4917/TEMPFILE
Current alias directory path: INFRADB/ONLINELOG
Current alias directory path: INFRADB
Current alias directory path: INFRADB/CONTROLFILE
ASMCMD> 

 

Backup particular Disk Group

ASMCMD> md_backup /u01/software/backup/alldata -G data
Disk group metadata to be backed up: DATA
Current alias directory path: infradb/PASSWORD
Current alias directory path: _mgmtdb
Current alias directory path: infradb/PARAMETERFILE
Current alias directory path: _mgmtdb/CONTROLFILE
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B/TEMPFILE
Current alias directory path: _mgmtdb/TEMPFILE
Current alias directory path: _mgmtdb/DATAFILE
Current alias directory path: crsprod/ASMPARAMETERFILE
Current alias directory path: infradb/ONLINELOG
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B
Current alias directory path: _mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA
Current alias directory path: ASM
Current alias directory path: infradb
Current alias directory path: crsprod
Current alias directory path: ASM/PASSWORD
Current alias directory path: _mgmtdb/C10576AF34987CDEE05301BEA8AC4917/TEMPFILE
Current alias directory path: _mgmtdb/ONLINELOG
Current alias directory path: infradb/DATAFILE
Current alias directory path: infradb/CONTROLFILE
Current alias directory path: _mgmtdb/4700AA69A9563E5FE05387E5E50AC8DA/DATAFILE
Current alias directory path: _mgmtdb/C105952235736715E05301BEA8AC124B/DATAFILE
Current alias directory path: infradb/TEMPFILE
Current alias directory path: crsprod/OCRFILE
Current alias directory path: _mgmtdb/PARAMETERFILE
Current alias directory path: _mgmtdb/C10576AF34987CDEE05301BEA8AC4917
Current alias directory path: crsprod/OCRBACKUP


Check for OCR Backups

[oracle@jack software]$ ocrconfig -showbackup
jack     2021/04/28 22:09:58     +DATA:/crsprod/OCRBACKUP/backup00.ocr.298.1071094183     0
jack     2021/04/28 18:09:39     +DATA:/crsprod/OCRBACKUP/backup01.ocr.282.1071079767     0
jack     2021/04/28 18:09:39     +DATA:/crsprod/OCRBACKUP/day.ocr.283.1071079779     0
jack     2021/04/28 18:09:39     +DATA:/crsprod/OCRBACKUP/week.ocr.284.1071079781     0
PROT-25: Manual backups for the Oracle Cluster Registry are not available


Take a manual Backup of OCR

[root@jack bin]# ./ocrconfig -manualbackup
jill     2021/04/29 18:10:57     +DATA:/crsprod/OCRBACKUP/backup_20210429_181057.ocr.299.1071166259     0     

Take Manual backup of OLR from both Nodes
[root@jack bin]# ./ocrconfig -local -manualbackup
jack     2021/04/29 18:17:29     /u01/app/12c/grid/cdata/jack/backup_20210429_181729.olr     0     
jack     2021/04/28 13:59:21     /u01/app/12c/grid/cdata/jack/backup_20210428_135921.olr     0     

 

Step 1.2 – Review 19c Upgrade Prerequisites

Here are the steps to be performed in this section.

 Step 1.2.1 – Grid Infrastructure and Database Software
                     Oracle Database and Grid Infrastructure 12c Release 2 (12.2.0.1.0), minimum version 12.2.0.1.180717.

Step 1.2.2 – Required Grid Infrastructure and Database Patches
Oracle patch:28553832  required for 12.2.0.1
Also, the latest OPatch version needs to be present

Step 1.3 – Preparations for upgrades on Oracle Database

Step 1.3.1 – Download and staging Required Files
Download the following files and stage on the first database server only:
• “Oracle Database 19.3.0.0.0” for Linux x86-64 – part number V982063-01.zip
o Download from Oracle Software Delivery Cloud (https://edelivery.oracle.com)
• “Oracle Database Grid Infrastructure 19.3.0.0.0” for Linux x86-64 – part number V982068-01.zip
o Download from Oracle Software Delivery Cloud (https://edelivery.oracle.com)

Step 1.3.2 – Update OPatch in the source Grid Home and Database Homes on all Database Servers in both 12c and 19c

If the latest OPatch release is not in place and (bundle) patches need to be applied to an existing 12.2.0.1 Grid Infrastructure and Database homes before upgrading, then first update OPatch to the latest version.
Dowload the latest Opatch for both Grid and Oracle home from https://updates.oracle.com/download/6880880.html

[root@jack grid]# pwd
/u01/app/12c/grid

[root@jack grid]# cd OPatch/
[root@jack OPatch]# ./opatch version
OPatch Version: 12.2.0.1.6

OPatch succeeded.

[root@jack grid]# mv OPatch OPatch_old
[root@jack grid]# cp /media/sf_DB_Binaries/p6880880_122010_Linux-x86-64.zip ./
[root@jack grid]# unzip p6880880_122010_Linux-x86-64.zip
[root@jack grid]# chown -R oracle:oinstall OPatch
[root@jack grid]# cd OPatch
[root@jack OPatch]# ./opatch version
OPatch Version: 12.2.0.1.25

OPatch succeeded.
Repeat the same for Database and Grid homes for both Nodes

Step 1.3.3 – Update Patch in the source Grid Home and Database Homes on all Database Servers in 12c home
Download required patches.
28553832

Apply Patch 28553832

[root@jack ~]# export PATH=$PATH:<GI_HOME>/OPatch
[root@jack ~]# opatchauto apply /u01/software/28553832
OPatchauto session is initiated at Fri May 21 17:25:37 2021
System initialization log file is /u01/app/12c/grid/cfgtoollogs/opatchautodb/systemconfig2021-05-21_05-25-42PM.log.
Session log file is /u01/app/12c/grid/cfgtoollogs/opatchauto/opatchauto2021-05-21_05-27-17PM.log
The id for this session is W1UR
Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/12c/db_1
Executing OPatch prereq operations to verify patch applicability on home /u01/app/12c/grid
Patch applicability verified successfully on home /u01/app/12c/grid
Patch applicability verified successfully on home /u01/app/oracle/product/12c/db_1
Executing patch validation checks on home /u01/app/12c/grid
Patch validation checks successfully completed on home /u01/app/12c/grid
Executing patch validation checks on home /u01/app/oracle/product/12c/db_1
Patch validation checks successfully completed on home /u01/app/oracle/product/12c/db_1
Verifying SQL patch applicability on home /u01/app/oracle/product/12c/db_1
No step execution required.........
Preparing to bring down database service on home /u01/app/oracle/product/12c/db_1
Successfully prepared home /u01/app/oracle/product/12c/db_1 to bring down database service
Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/12c/grid
Prepatch operation log file location: /u01/app/12c/gridbase/crsdata/jack/crsconfig/crspatch_jack_2021-05-21_05-28-02PM.log
CRS service brought down successfully on home /u01/app/12c/grid
Performing prepatch operation on home /u01/app/oracle/product/12c/db_1
Perpatch operation completed successfully on home /u01/app/oracle/product/12c/db_1
Start applying binary patch on home /u01/app/oracle/product/12c/db_1
Binary patch applied successfully on home /u01/app/oracle/product/12c/db_1
Performing postpatch operation on home /u01/app/oracle/product/12c/db_1
Postpatch operation completed successfully on home /u01/app/oracle/product/12c/db_1
Start applying binary patch on home /u01/app/12c/grid
Binary patch applied successfully on home /u01/app/12c/grid
Performing postpatch operations on CRS - starting CRS service on home /u01/app/12c/grid
Postpatch operation log file location: /u01/app/12c/gridbase/crsdata/jack/crsconfig/crspatch_jack_2021-05-21_05-31-00PM.log
CRS service started successfully on home /u01/app/12c/grid
Preparing home /u01/app/oracle/product/12c/db_1 after database service restarted
No step execution required.........
Trying to apply SQL patch on home /u01/app/oracle/product/12c/db_1
No step execution required.........
OPatchAuto successful.
--------------------------------Summary--------------------------------
Patching is completed successfully. Please find the summary as follows:
Host:jack
RAC Home:/u01/app/oracle/product/12c/db_1
Version:12.2.0.1.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /u01/software/28553832/28553832
Log: /u01/app/oracle/product/12c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2021-05-21_17-29-36PM_1.log
Host:jack
CRS Home:/u01/app/12c/grid
Version:12.2.0.1.0
Summary:
==Following patches were SUCCESSFULLY applied:
Patch: /u01/software/28553832/28553832
Log: /u01/app/12c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2021-05-21_17-30-03PM_1.log
OPatchauto session completed at Fri May 21 17:37:26 2021
Time taken to complete the session 11 minutes, 49 seconds

Repeat the same in Node 2

Check the patch applied :

[oracle@jack OPatch]$ ./opatch lsinv|grep -i applied
Patch  28553832     : applied on Tue May 25 19:31:45 IST 2021
[oracle@jack OPatch]$ ./opatch lspatches|sort -nr
28553832;OCW Interim patch for 28553832
OPatch succeeded.

 

Step 1.3.4 – Check Software Version

[oracle@jack software]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.2.0.1.0]
[oracle@jack software]$ crsctl query crs softwareversion
Oracle Clusterware version on node [jack] is [12.2.0.1.0]

 

Step 1.3.5 – Prepare installation software
Create the new 19c Grid Infrastructure (GI_HOME) – mkdir –p /u01/app/19c/grid
Unzip Grid Installation software
Unzip latest OPatch into the new Grid Installation Software

Step 1.3.6 – Validate Readiness for Oracle Clusterware Upgrade using CVU
cd /u01/app/19c/grid

syntax – >
./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome -dest_crshome -dest_version 19.0.0.0.0 -fixup -verbose

[oracle@jack grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /u01/app/12c/grid -dest_crshome /u01/app/19c/grid -dest_version 19.0.0.0.0 -fixup -verbose
Verifying Physical Memory ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          5.6877GB (5964032.0KB)    8GB (8388608.0KB)         failed    
  jill          5.6877GB (5964032.0KB)    8GB (8388608.0KB)         failed    
Verifying Physical Memory ...FAILED (PRVF-7530)
Verifying Available Physical Memory ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          2.4121GB (2529288.0KB)    50MB (51200.0KB)          passed    
  jill          3.3303GB (3492108.0KB)    50MB (51200.0KB)          passed    
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          16GB (1.6777212E7KB)      5.6877GB (5964032.0KB)    passed    
  jill          16GB (1.6777212E7KB)      5.6877GB (5964032.0KB)    passed    
Verifying Swap Size ...PASSED
Verifying Free Space: jack:/usr,jack:/var,jack:/etc,jack:/sbin ...
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              jack          /             4.7295GB      25MB          passed      
  /var              jack          /             4.7295GB      5MB           passed      
  /etc              jack          /             4.7295GB      25MB          passed      
  /sbin             jack          /             4.7295GB      10MB          passed      
Verifying Free Space: jack:/usr,jack:/var,jack:/etc,jack:/sbin ...PASSED
Verifying Free Space: jack:/tmp ...
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /tmp              jack          /tmp          5.1631GB      1GB           passed      
Verifying Free Space: jack:/tmp ...PASSED
Verifying Free Space: jill:/usr,jill:/var,jill:/etc,jill:/sbin ...
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /usr              jill          /             4.7646GB      25MB          passed      
  /var              jill          /             4.7646GB      5MB           passed      
  /etc              jill          /             4.7646GB      25MB          passed      
  /sbin             jill          /             4.7646GB      10MB          passed      
Verifying Free Space: jill:/usr,jill:/var,jill:/etc,jill:/sbin ...PASSED
Verifying Free Space: jill:/tmp ...
  Path              Node Name     Mount point   Available     Required      Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  /tmp              jill          /tmp          5.1553GB      1GB           passed 
Verifying Free Space: jill:/tmp ...PASSED
Verifying User Existence: oracle ...
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  jack          passed                    exists(1000)            
  jill          passed                    exists(1000)            

  Verifying Users With Same UID: 1000 ...PASSED
Verifying User Existence: oracle ...PASSED
Verifying Group Existence: oinstall ...
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  jack          passed                    exists                  
  jill          passed                    exists                  
Verifying Group Existence: oinstall ...PASSED
Verifying Group Membership: oinstall(Primary) ...
  Node Name         User Exists   Group Exists  User in Group  Primary       Status      
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              yes           yes           yes           yes           passed      
  jill              yes           yes           yes           yes           passed      
Verifying Group Membership: oinstall(Primary) ...PASSED
Verifying Run Level ...
  Node Name     run level                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          5                         3,5                       passed    
  jill          5                         3,5                       passed    
Verifying Run Level ...PASSED
Verifying Hard Limit: maximum open file descriptors ...
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  jack              hard          65536         65536         passed          
  jill              hard          65536         65536         passed          
Verifying Hard Limit: maximum open file descriptors ...PASSED
Verifying Soft Limit: maximum open file descriptors ...
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  jack              soft          1024          1024          passed          
  jill              soft          1024          1024          passed          
Verifying Soft Limit: maximum open file descriptors ...PASSED
Verifying Hard Limit: maximum user processes ...
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  jack              hard          16384         16384         passed          
  jill              hard          16384         16384         passed          
Verifying Hard Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum user processes ...
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  jack              soft          16384         2047          passed          
  jill              soft          16384         2047          passed          
Verifying Soft Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum stack size ...
  Node Name         Type          Available     Required      Status          
  ----------------  ------------  ------------  ------------  ----------------
  jack              soft          10240         10240         passed          
  jill              soft          10240         10240         passed          
Verifying Soft Limit: maximum stack size ...PASSED
Verifying Oracle patch:28553832 ...
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  jack          28553832                  28553832                  passed    
  jill          28553832                  28553832                  passed    
Verifying Oracle patch:28553832 ...PASSED
Verifying Oracle patch:27006180 ...
  Node Name     Applied                   Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  jack          27006180                  27006180                  passed    
  jill          27006180                  27006180                  passed    
Verifying Oracle patch:27006180 ...PASSED
Verifying This test checks that the source home "/u01/app/12c/grid" is suitable for upgrading to version "19.0.0.0.0". ...PASSED
Verifying Architecture ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          x86_64                    x86_64                    passed    
  jill          x86_64                    x86_64                    passed    
Verifying Architecture ...PASSED
Verifying OS Kernel Version ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          4.1.12-61.1.18.el7uek.x86_64  4.1.12                    passed    
  jill          4.1.12-61.1.18.el7uek.x86_64  4.1.12                    passed    
Verifying OS Kernel Version ...PASSED
Verifying OS Kernel Parameter: semmsl ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              250           250           250           passed          
  jill              250           250           250           passed          
Verifying OS Kernel Parameter: semmsl ...PASSED
Verifying OS Kernel Parameter: semmns ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              32000         32000         32000         passed      
  jill              32000         32000         32000         passed          
Verifying OS Kernel Parameter: semmns ...PASSED
Verifying OS Kernel Parameter: semopm ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              100           100           100           passed          
  jill              100           100           100           passed          
Verifying OS Kernel Parameter: semopm ...PASSED
Verifying OS Kernel Parameter: semmni ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              128           128           128           passed          
  jill              128           128           128           passed          
Verifying OS Kernel Parameter: semmni ...PASSED
Verifying OS Kernel Parameter: shmmax ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              4398046511104  4398046511104  3053584384    passed          
  jill              4398046511104  4398046511104  3053584384    passed          
Verifying OS Kernel Parameter: shmmax ...PASSED
Verifying OS Kernel Parameter: shmmni ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              4096          4096          4096          passed          
  jill              4096          4096          4096          passed          
Verifying OS Kernel Parameter: shmmni ...PASSED
Verifying OS Kernel Parameter: shmall ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              1073741824    1073741824    1073741824    passed          
  jill              1073741824    1073741824    1073741824    passed          
Verifying OS Kernel Parameter: shmall ...PASSED
Verifying OS Kernel Parameter: file-max ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              6815744       6815744       6815744       passed          
  jill              6815744       6815744       6815744       passed          
Verifying OS Kernel Parameter: file-max ...PASSED
Verifying OS Kernel Parameter: ip_local_port_range ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              between 9000 & 65500  between 9000 & 65500  between 9000 & 65535  passed          
  jill              between 9000 & 65500  between 9000 & 65500  between 9000 & 65535  passed          
Verifying OS Kernel Parameter: ip_local_port_range ...PASSED
Verifying OS Kernel Parameter: rmem_default ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              262144        262144        262144        passed          
  jill              262144        262144        262144        passed          
Verifying OS Kernel Parameter: rmem_default ...PASSED
Verifying OS Kernel Parameter: rmem_max ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              4194304       4194304       4194304       passed          
  jill              4194304       4194304       4194304       passed          
Verifying OS Kernel Parameter: rmem_max ...PASSED
Verifying OS Kernel Parameter: wmem_default ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              262144        262144        262144        passed          
  jill              262144        262144        262144        passed          
Verifying OS Kernel Parameter: wmem_default ...PASSED
Verifying OS Kernel Parameter: wmem_max ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              1048576       1048576       1048576       passed          
  jill              1048576       1048576       1048576       passed          
Verifying OS Kernel Parameter: wmem_max ...PASSED
Verifying OS Kernel Parameter: aio-max-nr ...
  Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              1048576       1048576       1048576       passed          
  jill              1048576       1048576       1048576       passed          
Verifying OS Kernel Parameter: aio-max-nr ...PASSED
Verifying OS Kernel Parameter: panic_on_oops ...
Node Name         Current       Configured    Required      Status        Comment     
  ----------------  ------------  ------------  ------------  ------------  ------------
  jack              1             1             1             passed          
  jill              1             1             1             passed          
Verifying OS Kernel Parameter: panic_on_oops ...PASSED
Verifying Package: kmod-20-21 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          kmod(x86_64)-20-21.el7    kmod(x86_64)-20-21        passed    
  jill          kmod(x86_64)-20-21.el7    kmod(x86_64)-20-21        passed    
Verifying Package: kmod-20-21 (x86_64) ...PASSED
Verifying Package: kmod-libs-20-21 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          kmod-libs(x86_64)-20-21.el7  kmod-libs(x86_64)-20-21   passed    
  jill          kmod-libs(x86_64)-20-21.el7  kmod-libs(x86_64)-20-21   passed    
Verifying Package: kmod-libs-20-21 (x86_64) ...PASSED
Verifying Package: binutils-2.23.52.0.1 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          binutils-2.25.1-22.base.el7  binutils-2.23.52.0.1      passed    
  jill          binutils-2.25.1-22.base.el7  binutils-2.23.52.0.1      passed    
Verifying Package: binutils-2.23.52.0.1 ...PASSED
Verifying Package: compat-libcap1-1.10 ...
  Node Name     Available                 Required                  Status   
------------  ------------------------  ------------------------  ----------
  jack          compat-libcap1-1.10-7.el7  compat-libcap1-1.10       passed    
  jill          compat-libcap1-1.10-7.el7  compat-libcap1-1.10       passed    
Verifying Package: compat-libcap1-1.10 ...PASSED
Verifying Package: libgcc-4.8.2 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          libgcc(x86_64)-4.8.5-11.el7  libgcc(x86_64)-4.8.2      passed    
  jill          libgcc(x86_64)-4.8.5-11.el7  libgcc(x86_64)-4.8.2      passed    
Verifying Package: libgcc-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-4.8.2 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          libstdc++(x86_64)-4.8.5-11.el7  libstdc++(x86_64)-4.8.2   passed    
  jill          libstdc++(x86_64)-4.8.5-11.el7  libstdc++(x86_64)-4.8.2   passed    
Verifying Package: libstdc++-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          libstdc++-devel(x86_64)-4.8.5-11.el7  libstdc++-devel(x86_64)-4.8.2  passed    
  jill          libstdc++-devel(x86_64)-4.8.5-11.el7  libstdc++-devel(x86_64)-4.8.2  passed    
Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...PASSED
Verifying Package: sysstat-10.1.5 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          sysstat-10.1.5-11.el7     sysstat-10.1.5            passed    
  jill          sysstat-10.1.5-11.el7     sysstat-10.1.5            passed    
Verifying Package: sysstat-10.1.5 ...PASSED
Verifying Package: ksh ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          ksh                       ksh                       passed    
  jill          ksh                       ksh                       passed    
Verifying Package: ksh ...PASSED
Verifying Package: make-3.82 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          make-3.82-23.el7          make-3.82                 passed    
  jill          make-3.82-23.el7          make-3.82                 passed    
Verifying Package: make-3.82 ...PASSED
Verifying Package: glibc-2.17 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          glibc(x86_64)-2.17-157.el7  glibc(x86_64)-2.17        passed    
  jill          glibc(x86_64)-2.17-157.el7  glibc(x86_64)-2.17        passed    
Verifying Package: glibc-2.17 (x86_64) ...PASSED
Verifying Package: glibc-devel-2.17 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          glibc-devel(x86_64)-2.17-157.el7  glibc-devel(x86_64)-2.17  passed  
  jill          glibc-devel(x86_64)-2.17-157.el7  glibc-devel(x86_64)-2.17  passed    
Verifying Package: glibc-devel-2.17 (x86_64) ...PASSED
Verifying Package: libaio-0.3.109 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          libaio(x86_64)-0.3.109-13.el7  libaio(x86_64)-0.3.109    passed    
  jill          libaio(x86_64)-0.3.109-13.el7  libaio(x86_64)-0.3.109    passed    
Verifying Package: libaio-0.3.109 (x86_64) ...PASSED
Verifying Package: libaio-devel-0.3.109 (x86_64) ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          libaio-devel(x86_64)-0.3.109-13.el7  libaio-devel(x86_64)-0.3.109  passed    
  jill          libaio-devel(x86_64)-0.3.109-13.el7  libaio-devel(x86_64)-0.3.109  passed    
Verifying Package: libaio-devel-0.3.109 (x86_64) ...PASSED
Verifying Package: nfs-utils-1.2.3-15 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          nfs-utils-1.3.0-0.33.0.1.el7  nfs-utils-1.2.3-15        passed    
  jill          nfs-utils-1.3.0-0.33.0.1.el7  nfs-utils-1.2.3-15        passed    
Verifying Package: nfs-utils-1.2.3-15 ...PASSED
Verifying Package: smartmontools-6.2-4 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          smartmontools-6.2-7.el7   smartmontools-6.2-4       passed    
  jill          smartmontools-6.2-7.el7   smartmontools-6.2-4       passed    
Verifying Package: smartmontools-6.2-4 ...PASSED
Verifying Package: net-tools-2.0-0.17 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          net-tools-2.0-0.17.20131004git.el7  net-tools-2.0-0.17        passed    
  jill          net-tools-2.0-0.17.20131004git.el7  net-tools-2.0-0.17        passed    
Verifying Package: net-tools-2.0-0.17 ...PASSED
Verifying Users With Same UID: 0 ...PASSED
Verifying Current Group ID ...PASSED
Verifying Root user consistency ...
  Node Name                             Status                  
  ------------------------------------  ------------------------
  jack                                  passed                  
  jill                                  passed                  
Verifying Root user consistency ...PASSED
Verifying correctness of ASM disk group files ownership ...PASSED
Verifying selectivity of ASM discovery string ...PASSED
Verifying ASM spare parameters ...PASSED
Verifying Disk group ASM compatibility setting ...PASSED
Verifying Package: cvuqdisk-1.0.10-1 ...
  Node Name     Available                 Required                  Status    
  ------------  ------------------------  ------------------------  ----------
  jack          cvuqdisk-1.0.10-1         cvuqdisk-1.0.10-1         passed    
  jill          cvuqdisk-1.0.10-1         cvuqdisk-1.0.10-1         passed    
Verifying Package: cvuqdisk-1.0.10-1 ...PASSED
Verifying Host name ...PASSED
Verifying Node Connectivity ...
  Verifying Hosts File ...
  Node Name                             Status                  
  ------------------------------------  ------------------------
  jack                                  passed                  
  jill                                  passed                  
  Verifying Hosts File ...PASSED

Interface information for node "jack"

 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 enp0s3 172.168.190.1   172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:23:74:81 1500  
 enp0s3 172.168.190.3   172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:23:74:81 1500  
 enp0s3 172.168.190.20  172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:23:74:81 1500  
 enp0s3 172.168.190.30  172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:23:74:81 1500  
 enp0s8 192.168.190.1   192.168.190.0   0.0.0.0         172.168.190.100 08:00:27:33:DF:CA 1500  

Interface information for node "jill"

 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 enp0s3 172.168.190.2   172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:A8:FB:52 1500  
 enp0s3 172.168.190.4   172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:A8:FB:52 1500 
 enp0s3 172.168.190.10  172.168.0.0     0.0.0.0         172.168.190.100 08:00:27:A8:FB:52 1500  
 enp0s8 192.168.190.2   192.168.190.0   0.0.0.0         172.168.190.100 08:00:27:0C:71:64 1500  

Check: MTU consistency on the private interfaces of subnet "192.168.190.0"

  Node              Name          IP Address    Subnet        MTU             
  ----------------  ------------  ------------  ------------  ----------------
  jack              enp0s8        192.168.190.1  192.168.190.0  1500            
  jill              enp0s8        192.168.190.2  192.168.190.0  1500            

Check: MTU consistency of the subnet "172.168.0.0".

  Node              Name          IP Address    Subnet        MTU             
  ----------------  ------------  ------------  ------------  ----------------
  jack              enp0s3        172.168.190.1  172.168.0.0   1500            
  jack              enp0s3        172.168.190.3  172.168.0.0   1500            
  jack              enp0s3        172.168.190.20  172.168.0.0   1500            
  jack              enp0s3        172.168.190.30  172.168.0.0   1500            
  jill              enp0s3        172.168.190.2  172.168.0.0   1500            
  jill              enp0s3        172.168.190.4  172.168.0.0   1500            
  jill              enp0s3        172.168.190.10  172.168.0.0   1500            

  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  jack[enp0s3:172.168.190.1]      jack[enp0s3:172.168.190.3]      yes      
   jack[enp0s3:172.168.190.1]      jack[enp0s3:172.168.190.20]     yes             
  jack[enp0s3:172.168.190.1]      jack[enp0s3:172.168.190.30]     yes             
  jack[enp0s3:172.168.190.1]      jill[enp0s3:172.168.190.2]      yes             
  jack[enp0s3:172.168.190.1]      jill[enp0s3:172.168.190.4]      yes             
  jack[enp0s3:172.168.190.1]      jill[enp0s3:172.168.190.10]     yes             
  jack[enp0s3:172.168.190.3]      jack[enp0s3:172.168.190.20]     yes             
  jack[enp0s3:172.168.190.3]      jack[enp0s3:172.168.190.30]     yes             
  jack[enp0s3:172.168.190.3]      jill[enp0s3:172.168.190.2]      yes             
  jack[enp0s3:172.168.190.3]      jill[enp0s3:172.168.190.4]      yes             
  jack[enp0s3:172.168.190.3]      jill[enp0s3:172.168.190.10]     yes             
  jack[enp0s3:172.168.190.20]     jack[enp0s3:172.168.190.30]     yes             
  jack[enp0s3:172.168.190.20]     jill[enp0s3:172.168.190.2]      yes             
  jack[enp0s3:172.168.190.20]     jill[enp0s3:172.168.190.4]      yes             
  jack[enp0s3:172.168.190.20]     jill[enp0s3:172.168.190.10]     yes             
  jack[enp0s3:172.168.190.30]     jill[enp0s3:172.168.190.2]      yes             
  jack[enp0s3:172.168.190.30]     jill[enp0s3:172.168.190.4]      yes             
  jack[enp0s3:172.168.190.30]     jill[enp0s3:172.168.190.10]     yes             
  jill[enp0s3:172.168.190.2]      jill[enp0s3:172.168.190.4]      yes             
  jill[enp0s3:172.168.190.2]      jill[enp0s3:172.168.190.10]     yes             
  jill[enp0s3:172.168.190.4]      jill[enp0s3:172.168.190.10]     yes             

  Source                          Destination                     Connected?      
  ------------------------------  ------------------------------  ----------------
  jack[enp0s8:192.168.190.1]      jill[enp0s8:192.168.190.2]      yes             
  Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED
Verifying subnet mask consistency for subnet "172.168.0.0" ...PASSED
  Verifying subnet mask consistency for subnet "192.168.190.0" ...PASSED
Verifying Node Connectivity ...PASSED
Verifying Multicast or broadcast check ...
Checking subnet "192.168.190.0" for multicast communication with multicast group "224.0.0.251"
Verifying Multicast or broadcast check ...PASSED
Verifying ASMLib installation and configuration verification. ...
  Verifying '/etc/init.d/oracleasm' ...PASSED
  Verifying '/dev/oracleasm' ...PASSED
  Verifying '/etc/sysconfig/oracleasm' ...PASSED

  Node Name                             Status                  
  ------------------------------------  ------------------------
  jack                                  passed                  
  jill                                  passed                  
Verifying ASMLib installation and configuration verification. ...PASSED
Verifying ASM Integrity ...PASSED
Verifying ACFS Driver Checks ...PASSED
Verifying OCR Integrity ...PASSED
Verifying Network Time Protocol (NTP) ...
  Verifying '/etc/ntp.conf' ...
  Node Name                             File exists?            
  ------------------------------------  ------------------------
  jack                                  yes                     
  jill                                  yes   
  Verifying '/etc/ntp.conf' ...PASSED
  Verifying '/etc/chrony.conf' ...
  Node Name                             File exists?            
  ------------------------------------  ------------------------
  jack                                  yes                     
  jill                                  yes                     

  Verifying '/etc/chrony.conf' ...PASSED
  Verifying '/var/run/chronyd.pid' ...
  Node Name                             File exists? 
  ------------------------------------  ------------------------
  jack                                  yes                     
  jill                                  yes                     

  Verifying '/var/run/chronyd.pid' ...PASSED
  Verifying Daemon 'chronyd' ...
  Node Name                             Running?                
  ------------------------------------  ------------------------
  jack                                  yes                     
  jill                                  yes                     

  Verifying Daemon 'chronyd' ...PASSED
  Verifying NTP daemon or service using UDP port 123 ...
  Node Name                             Port Open?   
  ------------------------------------  ------------------------
  jack                                  yes                     
  jill                                  yes                     

  Verifying NTP daemon or service using UDP port 123 ...PASSED
  Verifying chrony daemon is synchronized with at least one external time source ...FAILED (PRVG-13606)
Verifying Network Time Protocol (NTP) ...FAILED (PRVG-13606)
Verifying Same core file name pattern ...PASSED
Verifying User Mask ...
  Node Name     Available                 Required                  Comment   
  ------------  ------------------------  ------------------------  ----------
  jack          0022                      0022                      passed    
  jill          0022                      0022                      passed    
Verifying User Mask ...PASSED
Verifying User Not In Group "root": oracle ...
  Node Name     Status                    Comment                 
  ------------  ------------------------  ------------------------
  jack          passed                    does not exist          
  jill          passed                    does not exist          
Verifying User Not In Group "root": oracle ...PASSED
Verifying Time zone consistency ...PASSED
Verifying Time offset between nodes ...PASSED
Verifying VIP Subnet configuration check ...PASSED
Verifying Voting Disk ...PASSED
Verifying resolv.conf Integrity ...
  Node Name                             Status                  
  ------------------------------------  ------------------------
  jack                                  passed                  
  jill                                  passed                  

checking response for name "jack" from each of the name servers specified in
"/etc/resolv.conf"

  Node Name     Source                    Comment                   Status    
  ------------  ------------------------  ------------------------  ----------
  jack          172.168.190.1             IPv4                      passed    
  jack          172.168.190.2             IPv4                      passed    

checking response for name "jill" from each of the name servers specified in
"/etc/resolv.conf"
  Node Name     Source                    Comment                   Status    
  ------------  ------------------------  ------------------------  ----------
  jill          172.168.190.2             IPv4                      passed    
  jill          172.168.190.1             IPv4                      passed    
Verifying resolv.conf Integrity ...PASSED
Verifying DNS/NIS name service ...PASSED
Verifying Daemon "avahi-daemon" not configured and running ...
  Node Name     Configured                Status                  
  ------------  ------------------------  ------------------------
  jack          no                        passed                  
  jill          no                        passed                  

  Node Name     Running?                  Status                  
  ------------  ------------------------  ------------------------
  jack          no                        passed                  
  jill          no                        passed                  
Verifying Daemon "avahi-daemon" not configured and running ...PASSED
Verifying Daemon "proxyt" not configured and running ...
  Node Name     Configured                Status                  
  ------------  ------------------------  ------------------------
  jack          no                        passed                  
  jill          no                        passed                  

  Node Name     Running?                  Status                  
  ------------  ------------------------  ------------------------
  jack          no                        passed                  
  jill          no                        passed                  
Verifying Daemon "proxyt" not configured and running ...PASSED
Verifying loopback network interface address ...PASSED
Verifying Privileged group consistency for upgrade ...PASSED
Verifying CRS user Consistency for upgrade ...PASSED
Verifying Clusterware Version Consistency ...
  Verifying cluster upgrade state ...PASSED
Verifying Clusterware Version Consistency ...PASSED
Verifying Check incorrectly sized ASM Disks ...PASSED
Verifying Network configuration consistency checks ...PASSED
Verifying /boot mount ...PASSED
Verifying OLR Integrity ...PASSED
Verifying Verify that the ASM instance was configured using an existing ASM parameter file. ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying Network interface bonding status of private interconnect network interfaces ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM Filter Driver configuration ...PASSED
Verifying Systemd login manager IPC parameter ...PASSED

Pre-check for cluster services setup was unsuccessful. 
Checks did not pass for the following nodes:
	jack,jill


Failures were encountered during execution of CVU verification request "stage -pre crsinst".

Verifying Physical Memory ...FAILED
jack: PRVF-7530 : Sufficient physical memory is not available on node "jack"
      [Required physical memory = 8GB (8388608.0KB)]
jill: PRVF-7530 : Sufficient physical memory is not available on node "jill"
      [Required physical memory = 8GB (8388608.0KB)]

Verifying Network Time Protocol (NTP) ...FAILED
  Verifying chrony daemon is synchronized with at least one external time
  source ...FAILED
  jack: PRVG-13606 : chrony daemon is not synchronized with any external time
        source on node "jack".

  jill: PRVG-13606 : chrony daemon is not synchronized with any external time
        source on node "jill".

Verifying RPM Package Manager database ...INFORMATION
PRVG-11250 : The check "RPM Package Manager database" was not performed because
it needs 'root' user privileges.


CVU operation performed:      stage -pre crsinst
Date:                         May 25, 2021 8:14:57 PM
CVU home:                     /u01/app/19c/grid/
User:                         oracle
 Here in the home setup, we are ignoring the errors received

Step 1.3.7 – Using Dry-Run Upgrade Mode to Check System Upgrade Readiness
Dry run phase will not do any changes to the existing grid setup. It will just check the system readiness.
As per oracle note: Dry run does below activities:
• Validates storage and network configuration for the new release
• Checks if the system meets the software and hardware requirements for the new release
• Checks for the patch requirements and apply necessary patches before starting the upgrade
• Writes system configuration issues or errors in the gridSetupActions.log log file
Run as grid owner ( oracle)
• unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID

[oracle@jack ~]$ cd /u01/app/19c/grid
[oracle@jack grid]$ ./gridSetup.sh –dryRunForUpgrade

 

Click Upgrade Oracle Grid Infrastructure and hit Next

Select the cluster nodes and hit Next

Deselect the EM registration option and hit Next

Set the Oracle Base and hit Next

We are going ahead with Automatically running the Configuration scripts. If you want to run this manually, please deselect the option and hit Next

The prerequisite checks will be performed, which will give you the results of Preupgrade actions (if any) to be performed

In the below screenshot, these were some pre-requirements which needs to be met before the actual upgrade. This is just an example, you may receive some other warnings, which needs to be resolved  first

The Dry Run Upgrade is running which will be like an actual upgrade, without actually upgrading the GRID Infrastructure

The Dry Run Upgrade is successful

Before we  start upgrade  , please note  19c upgrade will need  some 32gb  free  space  in  grid  diskgroup .   Ensure to  check free space  rightly from asmcm>lsdg  under  usable free ms , rather checking from sqlplus   . Its better to have 40gb free space in grid home before we start upgrade

After  upgrade its also important to track  that  your backups are  Successful and user upgrade their client  to 19c

 

ASMCMD> lsdg

State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name

MOUNTED  NORMAL  N         512             512   4096  4194304    204784   131656            51196           40230              0             Y  DATA/

MOUNTED  NORMAL  N         512             512   4096  4194304     40952    38944                0           19472              0             N  FRA/

 

Phase 2 – Upgrade Grid Infrastructure to 19c

 

Step 2.1. – Verify no active rebalance is running

Query gv$asm_operation to verify no active rebalance is running. A rebalance is running when the result of the following query is not equal to zero :

SYS@+ASM1> select count(*) from gv$asm_operation;

COUNT(*)
----------
0

 

Step 2.2 ACTUAL UPGRADE:

Now we will proceed with the actual upgrade in a rolling mode .

Run as grid owner ( oracle )
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID

[oracle@jack ~]$ cd /u01/app/19c/grid

[oracle@jack grid]$ ./gridSetup.sh

 

 

Click Upgrade Oracle Grid Infrastructure and hit Next

Select the cluster nodes and hit Next

Deselect the EM registration option and hit Next

Set the Oracle Base and hit Next

We are going ahead with Automatically running the Configuration scripts. If you want to run this manually, please deselect the option and hit Next

You can perform rolling upgrades of Oracle Grid Infrastructure in batches.

We select different batches here because between when we move from Batch 1 to Batch 2, we can move services from the node currently still running the previous release to the upgraded node in a rolling manner, so that services are not affected by the upgrade process.

You can use root user automation to automate running the rootupgrade.sh script during the upgrade. When you use root user automation, you can divide the nodes into groups, or batches, and start upgrades of these batches. Between batches, you can move services from nodes running the previous release to the upgraded nodes, so that services are not affected by the upgrade. Oracle recommends that you use root automation, and allow the rootupgrade.sh script to stop and start instances automatically. You can also continue to run root scripts manually.

The following restrictions apply when selecting nodes in batches for upgrade:

  • You can pool nodes in batches for upgrade, up to a maximum of three batches.
  • The local node, where Oracle Universal Installer (OUI) is running, must be upgraded in batch one.


The prerequisite checks will be performed, which will give you the results of Preupgrade actions (if any) to be performed


The below error needs to be ignored for your home setup. In your work environment, this shouldn't be ignored.


The response file will be created.. Click on SUBMIT button to continue with the upgrade

Click  on Execute Now, once it asks for Batch 2 process execution


The Grid Upgrade is successful




Step 2.3 Check the crs

 

[root@jack ~]# /u01/app/19c/grid/bin/crsctl stat res -t

-------------------------------------------------------------------------------- Name           Target  State        Server                   State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.GHCHKPT.advm OFFLINE OFFLINE      jack                     STABLE OFFLINE OFFLINE      jill                     STABLE ora.LISTENER.lsnr ONLINE  ONLINE       jack                     STABLE ONLINE  ONLINE       jill                     STABLE ora.chad ONLINE  ONLINE       jack                     STABLE ONLINE  ONLINE       jill                     STABLE ora.data.ghchkpt.acfs OFFLINE OFFLINE      jack                     volume /opt/oracle/r hp_images/chkbase is unmounted,STABLE OFFLINE OFFLINE      jill                     volume /opt/oracle/r hp_images/chkbase is unmounted,STABLE ora.helper OFFLINE OFFLINE      jack                     STABLE OFFLINE OFFLINE      jill                     STABLE ora.net1.network ONLINE  ONLINE       jack                     STABLE ONLINE  ONLINE       jill                     STABLE ora.ons ONLINE  ONLINE       jack                     STABLE ONLINE  ONLINE       jill                     STABLE ora.proxy_advm OFFLINE OFFLINE      jack                     STABLE OFFLINE OFFLINE      jill                     STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup) 1        ONLINE  ONLINE       jack                     STABLE 2        ONLINE  ONLINE       jill                     STABLE 3        OFFLINE OFFLINE                               STABLE ora.DATA.dg(ora.asmgroup) 1        ONLINE  ONLINE       jack                     STABLE 2        ONLINE  ONLINE       jill                     STABLE 3        OFFLINE OFFLINE                               STABLE ora.FRA.dg(ora.asmgroup) 1        ONLINE  ONLINE       jack                     STABLE 2        ONLINE  ONLINE       jill                     STABLE 3        OFFLINE OFFLINE                               STABLE ora.LISTENER_SCAN1.lsnr 1        ONLINE  ONLINE       jill                     STABLE ora.LISTENER_SCAN2.lsnr 1        ONLINE  ONLINE       jack                     STABLE ora.LISTENER_SCAN3.lsnr 1        ONLINE  ONLINE       jack                     STABLE ora.MGMTLSNR 1        ONLINE  ONLINE       jack                     169.254.31.101 192.1 68.190.1,STABLE ora.asm(ora.asmgroup) 1        ONLINE  ONLINE       jack                     Started,STABLE 2        ONLINE  ONLINE       jill                     Started,STABLE 3        OFFLINE OFFLINE                               STABLE ora.asmnet1.asmnetwork(ora.asmgroup) 1        ONLINE  ONLINE       jack                     STABLE 2        ONLINE  ONLINE       jill                     STABLE 3        ONLINE  OFFLINE                               STABLE ora.cvu 1        ONLINE  ONLINE       jill                     STABLE ora.infradb.db 1        ONLINE  ONLINE       jack                     Open,HOME=/u01/app/oracle/product/12c/db_1,STABLE 2        ONLINE  ONLINE       jill                     Open,HOME=/u01/app/o racle/product/12c/db _1,STABLE ora.jack.vip 1        ONLINE  ONLINE       jack                     STABLE ora.jill.vip 1        ONLINE  ONLINE       jill                     STABLE ora.mgmtdb 1        ONLINE  ONLINE       jack                     Open,STABLE ora.qosmserver 1        ONLINE  ONLINE       jill                     STABLE ora.rhpserver 1        OFFLINE OFFLINE                               STABLE ora.scan1.vip 1        ONLINE  ONLINE       jill                     STABLE ora.scan2.vip 1        ONLINE  ONLINE       jack                     STABLE ora.scan3.vip 1        ONLINE  ONLINE       jack                     STABLE

Step 2.4 CRS Version

[root@jack ~]# /u01/app/19c/grid/bin/crsctl query crs softwareversion -all

Oracle Clusterware version on node [jack] is [19.0.0.0.0]

Oracle Clusterware version on node [jill] is [19.0.0.0.0]

 

[root@jack ~]# /u01/app/19c/grid/bin/crsctl query crs activeversion -f

Oracle Clusterware active version on the cluster is [19.0.0.0.0]. The cluster upgrade state is [UPGRADE FINAL]. The cluster active patch level is [724960844].

[root@jack ~]# /u01/app/19c/grid/bin/crsctl query crs activeversion

Oracle Clusterware active version on the cluster is [19.0.0.0.0]



[oracle@jill OPatch]$ pwdx 3988

3988: /u01/app/19c/grid/dbs

[oracle@jill OPatch]$ pwdx 13162

13162: /u01/app/19c/grid/dbs

[oracle@jill OPatch]$ pwdx 13413

13413: /u01/app/oracle/product/12c/db_1/dbs

 

 

Phase 3 – Install Database 19c Software

 

 Step 3.1 – Create the new Oracle DB Home directory on all primary and standby database server nodes

[oracle@jack ~]$ cd /u01/app/oracle/product/

[oracle@jack product]$ mkdir -p 19c/db_1

 

Step 3.2 – Unzip the software to the database home

[oracle@jack db_1]$ pwd

/u01/app/oracle/product/19c/db_1

[oracle@jack db_1]$ unzip LINUX.X64_193000_db_home.zip

Step 3.3 – Install 19c software

Select configuration options from the installer screens

1.On “Select Configuration Option” screen, select ‘Setup Software only’, and then click Next.
2.On “Select Database Installation Option”, select “Oracle Real Application Clusters database installation” and click Next
3. On “Select List of Nodes” screen, verify all database servers in your cluster are present in the list and are selected, and then click Next.
4. On “Select Database Edition”, select ‘Enterprise Edition’, then click Next.
5. On “Specify Installation Location” screen, choose “Oracle Base” and change the software location. The ORACLE_HOME directory can’t be chosen. It shows software location: /u01/app/oracle/product/19c/db_1 as the Software Location for the Database from where you started runInstaller from, and then click Next.
6. On “Operating System Groups” screen, verify group names, and then click Next.
7. On “Root script execution” screen, do not check the box. Keep root execution in your own control.
8. On “Prerequisite Checks” screen, verify there are no failed checks or warnings.
9. On “Summary” screen, verify information presented about installation, and then click Install.
10. On “Execute Configuration scripts screen, execute root.sh on each database server as instructed, and then click OK.
11. On “Finish screen”, click Close.

 

Phase 4 – Upgrade Database to 19c

Step 4.1 – Analyze the Database to Upgrade with the Pre-Upgrade Information Tool

Oracle Database 19c uses the preupgrade.jar, Pre-Upgrade Information Tool. The Pre-Upgrade Information Tool is provided with the 19c software. Run this tool to analyze the 11.2.0.4, 12.1.0.2, 12.1.0.2, 12.2.0.1 or 18c databases prior to upgrade.

Step 4.2 –  Run the DBUA

cd $ORACLE_HOME/bin

[oracle@jack bin]$ ./dbua

Logs directory:  /u01/app/oracle/oraclebase19c/cfgtoollogs/dbua/upgrade2021-06-04_06-53-28PM

 

Select Database to be upgraded

Choose the database to be upgraded and provide the Username as SYS and provide SYS password

Prerequisite check will be performed

The preupgrade utility tool needs to be run manually, if we are proceeding with Manual upgrade. But since this document is with GUI upgrade, so this will be taken care by the DBUA Tool


Select upgrade Options

Here we are enabling Parallel upgrade, upgrading Timezone and recompiling INVALID objects

Select Recovery Options

You can choose either to restore from a current backup, or a backup you have taken earlier or with Guaranteed restore point.

Here we are proceeding with Guaranteed restore point

Configure Management

I wont be configuring Enterprise Manager

Summary

Hit Finish

Progress

Check the progress over here

Upgrade completed

Check the upgrade log from the DBUA screen


Phase 5 – Post-upgrade Steps

Step 5.1 Validate the database

[oracle@jack ~]$ cd $ORACLE_HOME

[oracle@jack db_1]$ cd bin

[oracle@jack bin]$ ./srvctl config database -d infradb

Database unique name: infradb

Database name: infradb

Oracle home: /u01/app/oracle/product/19c/db_1

Oracle user: oracle

Spfile: +DATA/INFRADB/PARAMETERFILE/spfileinfradb.ora

Password file: +DATA/INFRADB/PASSWORD/pwdinfradb.285.1073336979

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools:

Disk Groups: FRA,DATA

Mount point paths:

Services:

Type: RAC

Start concurrency:

Stop concurrency:

OSDBA group: oinstall

OSOPER group: oinstall

Database instances: infradb1,infradb2

Configured nodes: jack,jill

CSS critical: no

CPU count: 0

Memory target: 0

Maximum memory: 0

Default network number for database services:

Database is administrator managed

 

 

SQL> select banner_full from gv$version;

 

BANNER_FULL

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

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0

Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 

SQL> select count(*) from dba_objects where status='INVALID';

 

COUNT(*)

----------

0

 

SQL> select comp_name,version,status from dba_registry;

 

COMP_NAME                                         VERSION                                 STATUS

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

Oracle Database Catalog Views             19.0.0.0.0                                VALID

Oracle Database Packages and Types    19.0.0.0.0                                VALID

JServer JAVA Virtual Machine                19.0.0.0.0                                VALID

Oracle XDK                                           19.0.0.0.0                                VALID

Oracle Database Java Packages            19.0.0.0.0                                VALID

OLAP Analytic Workspace                       19.0.0.0.0                                VALID

Oracle Real Application Clusters            19.0.0.0.0                                VALID

Oracle XML Database                            19.0.0.0.0                                VALID

Oracle Workspace Manager                   19.0.0.0.0                                VALID

Oracle Text                                           19.0.0.0.0                                VALID

Oracle Multimedia                                 19.0.0.0.0                                VALID

Spatial                                       19.0.0.0.0                                VALID

Oracle OLAP API                                     19.0.0.0.0                                VALID

Oracle Label Security                            19.0.0.0.0                                VALID

Oracle Database Vault                          19.0.0.0.0                                VALID

 

15 rows selected.

 

Step 5.2 Remove Oracle 12c Grid and Database binaries

Please refer to my article for steps
Remove Oracle 19c Grid Infrastructure

Issues Faced :

1. OUI-10166: The permission 0755 cannot be set for the file rootconfig.sh 

While starting the actual upgrade, If you are seeing the error. as
OUI-10166: The permissions 0755 cannot be set for the file $GRID_HOME/crs/config/rootconfig.sh. OUI-10175: The effective user ID does not match the owner of the file or the process is not the user user.

Cause :
This happens after the Dry Run Upgrade due to a bug 29671933

SOLUTION:

Check the owner of the file. $GRID_HOME/crs/config/rootconfig.sh . If it is owned by root , then change it to oracle and rerun the gridsetup.sh script.

chown oracle:oinstall rootconfig.sh

2. Opatchauto doesn’t work while applying the patches

[root@jack OPatch]# opatchauto apply /u01/software/28553832 

System initialization log file is /u01/app/12c/grid/cfgtoollogs/opatchautodb/systemconfig2021-05-21_12-25-04PM.log.

Session log file is /u01/app/12c/grid/cfgtoollogs/opatchauto/opatchauto2021-05-21_12-25-51PM.log
OPATCHAUTO-68021: Missing required argument(s).
OPATCHAUTO-68021: The following argument(s) are required: [-wallet]
OPATCHAUTO-68021: Provide the required argument(s).

Oracle OPatchAuto Version 13.9.0.2.0
Copyright (c) 2016, Oracle Corporation.  All rights reserved.

 

Solution : Ensure you have the latest Opatch version present. In README, its given OPatch version : 12.2.0.1.5 or higher is rewuired. I had 12.2.0.1.6, but still faced the issue. To resovle this, the latest Opatch version needs to be installed.




No comments:

Post a Comment

100 Oracle DBA Interview Questions and Answers

  Here are 100 tricky interview questions tailored for a Senior Oracle DBA role. These questions span a wide range of topics, including perf...