This post will go though the steps needed to upgrade an Oracle Grid High Availability Services (HAS) from version 12c (12.1.0.2) to 19c (19.13.0) on a Linux environment.
1:- As per document Doc ID 2539751.1, Patch 28553832 is a prerequisite for both GI and DB Upgrade.
[oracle@persephone ~]$ /u01/app/oracle/product/12.1.0/grid/OPatch/opatch lsinventory | grep 28553832
21082737, 21694632, 27309269, 23095976, 20115586, 28553832, 20883009
[oracle@persephone ~]$
2:- Create a directory and copy 19c grid software
[root@persephone ~]# mkdir -p /u01/app/grid/product/19c/grid
[root@persephone ~]# chown -R oracle:oinstall /u01/app/grid/product/19c
[root@persephone ~]# cp -p /PATCHES/19c/LINUX.X64_193000_grid_home.zip /u01/app/grid/product/19c/grid
[root@persephone ~]#
[oracle@persephone ~]$ cd /u01/app/grid/product/19c/grid
[oracle@persephone grid]$ unzip -q LINUX.X64_193000_grid_home.zip
3:- Update OPATCH to 19c home (p6880880_190000_Linux-x86-64.zip)
[root@persephone ~]# mv /u01/app/grid/product/19c/grid/OPatch /u01/app/grid/product/19c/grid/OPatch_old
[root@persephone ~]# cp -pR /PATCHES/19c/OPatch /u01/app/grid/product/19c/grid
[root@persephone ~]#
[root@persephone ~]# /u01/app/grid/product/19c/grid/OPatch/opatch version
OPatch Version: 12.2.0.1.29
OPatch succeeded.
[root@persephone ~]#
4:- Apply latest RU to new 19c home
** We are applying "GI RELEASE UPDATE 19.13.0.0.0"
[oracle@persephone 19c]$ ls -ltd /PATCHES/19c/33182768
drwxr-x---. 8 oracle oinstall 4096 Oct 15 14:17 /PATCHES/19c/33182768
[oracle@persephone 19c]$
[oracle@persephone ~]$ cd /u01/app/grid/product/19c/grid
[oracle@persephone grid]$ ls -ltd /PATCHES/19c/33182768
drwxr-x---. 8 oracle oinstall 4096 Oct 15 14:17 /PATCHES/19c/33182768
[oracle@persephone grid]$ ./gridSetup.sh -silent -applyRU /PATCHES/19c/33182768
Preparing the home to patch...
Applying the patch /PATCHES/19c/33182768...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/GridSetupActions2022-04-13_11-49-23AM/installerPatchActions_2022-04-13_11-49-23AM.log
Launching Oracle Grid Infrastructure Setup Wizard...
[FATAL] [INS-40426] Grid installation option has not been specified.
ACTION: Specify the valid installation option.
[oracle@persephone grid]$
[oracle@persephone ~]$ /u01/app/grid/product/19c/grid/OPatch/opatch lspatches -oh /u01/app/grid/product/19c/grid
33239955;TOMCAT RELEASE UPDATE 19.0.0.0.0 (33239955)
33208123;OCW RELEASE UPDATE 19.13.0.0.0 (33208123)
33208107;ACFS RELEASE UPDATE 19.13.0.0.0 (33208107)
33192793;Database Release Update : 19.13.0.0.211019 (33192793)
32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572)
OPatch succeeded.
[oracle@persephone ~]$
5:- Run the cluster verification utility
** review output for any failures
[oracle@persephone grid]$ pwd
/u01/app/grid/product/19c/grid
[oracle@persephone grid]$ ./runcluvfy.sh stage -pre hacfg -fixup -verbose
...
...
Verifying Package: policycoreutils-python-2.5-17 ...PASSED
Verifying Users With Same UID: 0 ...PASSED
Verifying Current Group ID ...PASSED
Verifying Root user consistency ...
Node Name Status
------------------------------------ ------------------------
persephone passed
Verifying Root user consistency ...PASSED
Pre-check for Oracle Restart configuration was successful.
CVU operation performed: stage -pre hacfg
Date: 13-Apr-2022 12:08:13
CVU home: /u01/app/grid/product/19c/grid/
User: oracle
[oracle@persephone grid]$
6:- Dry-run upgrade
** If your enviroment is a RAC, youcan execute execute a dry-run upgrade before the actual upgrade. Dry-run upgrades verify all the steps similar to a real upgrade without making any real changes.
[oracle@persephone ~]$ /u01/app/grid/product/19.3.0/grid/gridSetup.sh -dryRunForUpgrade
Since we are on a Standalone server, option is not available to us now:
"gridSetup.sh -dryRunForUpgrade gives "[FATAL] [INS-45516] There Is No Active Oracle Clusterware Home On This Cluster" (Doc ID 2578053.1)"
"Dry-run upgrades are not supported on Oracle Grid Infrastructure for a standalone server (Oracle Restart) configurations."
7:- Prepare response file
**response file is esential if we want to perform a Silent instalation.
We can use this example:
[oracle@persephone ~]$ cat /u01/app/grid/product/19c/grid/install/response/grid19_upgr.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/opt/oracle/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/opt/oracle
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.crs.rootconfig.executeRootScript=false
oracle.install.crs.rootconfig.configMethod=SUDO
oracle.install.crs.rootconfig.sudoPath=/usr/bin/sudo
oracle.install.crs.rootconfig.sudoUserName=oracle
[oracle@persephone ~]$
8:- Upgrade GRID:
[oracle@persephone ~]$ crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [12.1.0.2.0]
[oracle@persephone ~]$ crsctl query has softwareversion
Oracle High Availability Services version on the local node is [12.1.0.2.0]
[oracle@persephone ~]$
[oracle@persephone ~]$ unset ORACLE_BASE
[oracle@persephone ~]$ unset ORACLE_HOME
[oracle@persephone ~]$ unset ORACLE_SID
[oracle@persephone ~]$ /u01/app/grid/product/19c/grid/gridSetup.sh -silent -responseFile /u01/app/grid/product/19c/grid/install/response/grid19_upgr.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
[WARNING] [INS-40436] Installer has detected an earlier version of Oracle Automatic Storage Management (ASM) Instance configured. Before proceeding with the upgrade you must shutdown all Oracle Databases that are using Oracle ASM for storage.
You may ignore this message and continue with the upgrade, if the database(s) are already in shutdown state.
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2022-04-13_12-49-31PM/gridSetupActions2022-04-13_12-49-31PM.log
ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2022-04-13_12-49-31PM/gridSetupActions2022-04-13_12-49-31PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
/u01/app/grid/product/19c/grid/install/response/grid_2022-04-13_12-49-31PM.rsp
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2022-04-13_12-49-31PM/gridSetupActions2022-04-13_12-49-31PM.log
As a root user, execute the following script(s):
1. /u01/app/grid/product/19c/grid/rootupgrade.sh
Execute /u01/app/grid/product/19c/grid/rootupgrade.sh on the following nodes:
[persephone]
Successfully Setup Software with warning(s).
As install user, execute the following command to complete the configuration.
/u01/app/grid/product/19c/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/grid/product/19c/grid/install/response/grid19_upgr.rsp [-silent]
[oracle@persephone ~]$
[root@persephone ~]# /u01/app/grid/product/19c/grid/rootupgrade.sh
Check /u01/app/grid/product/19c/grid/install/root_persephone_2022-04-13_13-31-10-635383966.log for the output of root script
[root@persephone ~]#
[oracle@persephone ~]$ /u01/app/grid/product/19c/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/grid/product/19c/grid/install/response/grid19_upgr.rsp -silent
Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2022-04-13_01-42-04PM
You can find the log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2022-04-13_01-42-04PM.log
You can find the log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2022-04-13_01-42-04PM.log
Successfully Configured Software.
[oracle@persephone ~]$
9:- Verify new version:
[oracle@persephone ~]$ grep -i +asm /etc/oratab
+ASM:/u01/app/grid/product/19c/grid:N # line added by Agent
[oracle@persephone ~]$
[oracle@persephone ~]$ crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]
[oracle@persephone ~]$ crsctl query has softwareversion
Oracle High Availability Services version on the local node is [19.0.0.0.0]
[oracle@persephone ~]$
[oracle@persephone ~]$ ps -ef | grep -i grid
oracle 27693 1 2 13:50 ? 00:00:04 /u01/app/grid/product/19c/grid/bin/ohasd.bin reboot
oracle 27902 1 1 13:51 ? 00:00:02 /u01/app/grid/product/19c/grid/bin/oraagent.bin
oracle 27929 1 0 13:51 ? 00:00:00 /u01/app/grid/product/19c/grid/bin/evmd.bin
oracle 27939 1 0 13:51 ? 00:00:00 /u01/app/grid/product/19c/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
oracle 28014 1 0 13:51 ? 00:00:00 /u01/app/grid/product/19c/grid/bin/cssdagent
oracle 28055 1 0 13:51 ? 00:00:01 /u01/app/grid/product/19c/grid/bin/ocssd.bin
oracle 29070 30493 0 13:54 pts/2 00:00:00 grep --color=auto -i grid
[oracle@persephone ~]$
Comments
Thanks for the post, would have been great had it been mentioned that it is related to stand alone and not RAC. Thanks again!