The latest oracle version is oracle 19C . In the below article we will explain the steps for upgrading grid infrastructure to 19c from oracle 12c . The upgrade will be done in rolling mode.
Current configuration - >
No of nodes - 2 node
current version - 12.1.0.2
os platform - Solaris
grid owner - oracle
Check software version :
oracle@node1~$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.1.0.2.0]
oracle@node2~$ crsctl query crs softwareversion
Oracle Clusterware version on node node1 is [12.1.0.2.0]
PRECHECKS:
Apply required patches to your existing 12c grid.Required patches depends upon the os platform and current patch level. Please refer below metalink to find which patches you will need for your setup.
Patches to apply before upgrading Oracle GI and DB to 19c or downgrading to previous release (Doc ID 2539751.1)
For our solaris setup, we have already applied JAN2019 BUNDLE PATCH (GI) . So no need to apply any patches.
2. Download the software and unzip on your first node
Create new grid home for oracle 19c .
mkdir -p /dumparea/oracle/app/grid12c
unzip the software at this home location .(grid_home is where we unzip the software).
cd /dumparea/oracle/app/grid12c
unzip -q /dumparea/SOLARIS.SPARC64_193000_grid_home.zip
3. Run the orachk tool as grid owner ( oracle)
orachk tool will generate a report for recommendation, that need to be taken care before upgrading.
export GRID_HOME=/dumparea/oracle/app/grid19c
cd /dumparea/oracle/app/grid19c/suptools/orachk/
./orachk -u -o pre
Analyze the html report for any recommendations.
4. Run cluvfy as grid owner ( oracle )
cd dumparea/oracle/app/grid19c
syntax - >
./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome -dest_crshome -dest_version 19.0.0.0.0 -fixup -verbose
i.e
./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /drcrs/app/oracle/product/grid12c -dest_crshome dumparea/oracle/app/grid19c -dest_version 19.0.0.0.0 -fixup -verbose
./runcluvfy.sh stage -pre crsinst -upgrade -rolling -src_crshome /drcrs/app/oracle/product/grid12c -dest_crshome dumparea/oracle/app/grid19c -dest_version 19.0.0.0.0 -fixup -verbose
Verifying Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
snode1 254GB (2.66338304E8KB) 8GB (8388608.0KB) passed
snode2 254GB (2.66338304E8KB) 8GB (8388608.0KB) passed
Verifying Physical Memory ...PASSED
Verifying Available Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
snode1 8.5611GB (8977000.0KB) 50MB (51200.0KB) passed
snode2 7.3874GB (7746264.0KB) 50MB (51200.0KB) passed
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
snode1 256GB (2.68435448E8KB) 16GB (1.6777216E7KB) passed
snode2 256GB (2.68435448E8KB) 16GB (1.6777216E7KB) passed
.
.
.
.
Verifying network interfaces CLASS/TYPE attribute ...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 File system mount options for path GI_HOME ...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 IP hostmodel ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying Multiuser services check ...PASSED
Verifying ASM Filter Driver configuration ...PASSED
Pre-check for cluster services setup was successful.
CVU operation performed: stage -pre crsinst
Date: Aug 27, 2019 9:30:53 AM
CVU home: /dumparea/oracle/app/grid19c/
User: oracle
In case any error reported, fix them before proceeding further.
DRY RUN PHASE:( GUI Method)
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<timestamp>.log log file
NOTE - > Few users commented that , dry run phase restarted their grid . So you are doing this on production, please consider this risk.
- Run as grid owner ( oracle)
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID
cd /dumparea/oracle/app/grid19c
./gridSetup.sh -dryRunForUpgrade
This warning can be ignored.
Run root script only on the local node.
NOTE - Dont run this on remote node. Run only on local node
root@node1:~# /dumparea/oracle/app/grid19c/rootupgrade.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /dumparea/oracle/app/grid19c
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]:
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Performing Dry run of the Grid Infrastructure upgrade.
Using configuration parameter file: /dumparea/oracle/app/grid19c/crs/install/crsconfig_params
The log of current session can be found at:
/dumparea/app/grid/crsdata/node1/crsconfig/rootcrs__2019-08-27_10-37-30AM.log
2019/08/27 10:38:07 CLSRSC-464: Starting retrieval of the cluster configuration data
2019/08/27 10:38:20 CLSRSC-729: Checking whether CRS entities are ready for upgrade, cluster upgrade will not be attempted now. This operation may take a few minutes.
2019/08/27 10:42:04 CLSRSC-693: CRS entities validation completed successfully.
The dry run upgrade is successful. Lets proceed with actual upgrade.
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
cd /dumparea/oracle/app/grid19c
./gridSetup.sh