In this part of the series, we will upgrade the Oracle Grid Infrastructure on the Physical Standby Database from 18c to 19c. This is the second part of a 7-part series that includes:
Part 1. Upgrade Oracle Grid Infrastructure on the RAC Cluster from 18c to 19c
Part 2. Upgrading the Oracle Grid Infrastructure on the Physical Standby from 18c to 19c
Part 3. Upgrade Oracle RAC Database from 18c to 19c
Part 4. Upgrade Oracle Physical Standby Database from 18c to 19c
Part 5. Installing the Latest Oracle 19c Update Patches – Opatch/OJVM/GI/DB/JDK on Oracle 19c RAC on Linux
For the purpose of this guide, note the following:
-To make following this guide easier, put all your downloaded software in /usr/software/oracle and all the Oracle patches in /usr/software/patches.
-GI stands for Grid Infrastructure, also known as Oracle Restart when being used in a standalone database. I will refer to both as simply GI.
-DB stands for Database.
-DB Home owner is Linux OS user “oracle”.
-OS Version: Oracle Linux Server release 7.5
-Source GI/DB Version: 18.14.0.0
-Target GI/DB Version: 19.3.0.0
-Source 18c DB Home: /oracle/oraBase/oracle/18.0.0/database
-Target 19c DB Home: /oracle/oraBase/oracle/19.0.0/database
-GI Home owner is Linux OS user “grid”.
-Source 18c GI Home: /oracle/oraBase/18.0.0/grid
-Target 19c GI Home: /oracle/oraBase/19.0.0/grid
-ALWAYS make a backup of the database and the oracle software before you start.
Primary RAC DB Name: PROD
RAC Node 1: rac1
SID: PROD1
RAC Node 2: rac2
SID: PROD2
—
Standby DB Name: PRODDR
Physical Standby Node: stdby1
SID: PRODDR1
1. Prerequisites and Preparations
1.1 Download the following software:
–oracle-database-preinstall-19c for Linux 7
-The latest OPatch from Oracle Support
-The latest AutoUpgrade Tool (Doc ID 2485457.1)
-The latest 19c Update Patches
-The latest JDK for GI and DB Homes
Note: The JDK is for GI and DB Homes, not to be confused with the JDK that is installed directly on the OS. That is not covered here.
1.2 Install oracle-database-preinstall-19c
[root@stdby1 ~]# cd /usr/software/oracle/
[root@stdby1 oracle]# yum install -y oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
Loaded plugins: langpacks, ulninfo
Examining oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm: oracle-database-preinstall-19c-1.0-3.el7.x86_64
Marking oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-preinstall-19c.x86_64 0:1.0-3.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================================================================================================================
Installing:
oracle-database-preinstall-19c x86_64 1.0-3.el7 /oracle-database-preinstall-19c-1.0-3.el7.x86_64 76 k
Transaction Summary
=====================================================================================================================================================================================================================================
Install 1 Package
Total size: 76 k
Installed size: 76 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : oracle-database-preinstall-19c-1.0-3.el7.x86_64 1/1
Verifying : oracle-database-preinstall-19c-1.0-3.el7.x86_64 1/1
Installed:
oracle-database-preinstall-19c.x86_64 0:1.0-3.el7
Complete!
1.3 Create the GI and DB 19c Home Directories.
mkdir -p /oracle/oraBase/19.0.0/grid
chown -R grid.oinstall /oracle/oraBase/19.0.0
mkdir -p /oracle/oraBase/oracle/19.0.0/database
chown -R oracle.oinstall /oracle/oraBase/oracle/19.0.0
mkdir -p /usr/software/oracle/patches
chmod -R 777 /usr/software/oracle
1.4 Extract the GI and DB software into the 19c GI and 19c DB Homes.
su - grid
cd /oracle/oraBase/19.0.0/grid
unzip -oq /usr/software/oracle/LINUX.X64_193000_grid_home.zip
su - oracle
cd /oracle/oraBase/oracle/19.0.0/database
unzip -oq /usr/software/oracle/LINUX.X64_193000_db_home.zip
1.5 Update the OPatch in grid home.
[root@stdby1 oracle]# su - grid
[grid@stdby1 patches]$ /oracle/oraBase/19.0.0/grid/OPatch/opatch version
OPatch Version: 12.2.0.1.17
OPatch succeeded.
[grid@stdby1 patches]$ mv /oracle/oraBase/19.0.0/grid/OPatch /oracle/oraBase/19.0.0/grid/OPatch.12.2.0.1.17
[grid@stdby1 patches]$ unzip -oq /usr/software/oracle/patches/p6880880_230000_Linux-x86-64.zip -d /oracle/oraBase/19.0.0/grid/
[grid@stdby1 patches]$ /oracle/oraBase/19.0.0/grid/OPatch/opatch version
OPatch Version: 12.2.0.1.42
OPatch succeeded.
1.6 Extract the patches as grid user.
[grid@stdby1 ~]$ env|grep ORA
ORACLE_SID=+ASM
ORACLE_BASE=/oracle/oraBase/grid
ORA_NLS33=/oracle/oraBase/18.0.0/grid/ocommon/nls/admin/data
ORACLE_HOME=/oracle/oraBase/18.0.0/grid
[grid@stdby1 ~]$ unset ORACLE_SID
[grid@stdby1 ~]$ unset ORACLE_BASE
[grid@stdby1 ~]$ unset ORACLE_HOME
[grid@stdby1 ~]$ unset ORA_NLS33
[grid@stdby1 software]$ cd /usr/software/oracle/patches/
[grid@stdby1 patches]$ unzip -oq p36209493_190000_Linux-x86-64.zip <-- APR24 OJVM/GI/DB Combo
[grid@stdby1 patches]$ unzip -oq p36195566_190000_Linux-x86-64.zip <-- APR24 JDK Bundle
2. Upgrading the Oracle Grid Infrastructure on Standby node stdby1.
2.1 As grid user, execute following command to determine any additional preinstallation steps are needed. It will generate a fixup script.
[grid@stdby1 grid]$ ./runcluvfy.sh stage -pre hacfg -fixup -verbose
Verifying Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 15.4187GB (1.6167724E7KB) 8GB (8388608.0KB) passed
Verifying Physical Memory ...PASSED
Verifying Available Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 12.5867GB (1.3198076E7KB) 50MB (51200.0KB) passed
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 16GB (1.6777212E7KB) 15.4187GB (1.6167724E7KB) passed
Verifying Swap Size ...PASSED
Verifying Free Space: stdby1:/usr,stdby1:/etc,stdby1:/sbin,stdby1:/tmp ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr stdby1 / 29.0947GB 25MB passed
/etc stdby1 / 29.0947GB 25MB passed
/sbin stdby1 / 29.0947GB 10MB passed
/tmp stdby1 / 29.0947GB 1GB passed
Verifying Free Space: stdby1:/usr,stdby1:/etc,stdby1:/sbin,stdby1:/tmp ...PASSED
Verifying Free Space: stdby1:/var ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/var stdby1 /var 20.3623GB 5MB passed
Verifying Free Space: stdby1:/var ...PASSED
Verifying User Existence: grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
stdby1 passed exists(921)
Verifying Users With Same UID: 921 ...PASSED
Verifying User Existence: grid ...PASSED
Verifying Group Existence: dba ...
Node Name Status Comment
------------ ------------------------ ------------------------
stdby1 passed exists
Verifying Group Existence: dba ...PASSED
Verifying Group Existence: oinstall ...
Node Name Status Comment
------------ ------------------------ ------------------------
stdby1 passed exists
Verifying Group Existence: oinstall ...PASSED
Verifying Group Membership: dba ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
stdby1 yes yes yes passed
Verifying Group Membership: dba ...PASSED
Verifying Group Membership: oinstall(Primary) ...
Node Name User Exists Group Exists User in Group Primary Status
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 yes yes yes yes passed
Verifying Group Membership: oinstall(Primary) ...PASSED
Verifying Run Level ...
Node Name run level Required Status
------------ ------------------------ ------------------------ ----------
stdby1 5 3,5 passed
Verifying Run Level ...PASSED
Verifying Architecture ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 x86_64 x86_64 passed
Verifying Architecture ...PASSED
Verifying OS Kernel Version ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 4.1.12-124.85.1.el7uek.x86_64 4.1.12 passed
Verifying OS Kernel Version ...PASSED
Verifying OS Kernel Parameter: semmsl ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 256 256 250 passed
Verifying OS Kernel Parameter: semmsl ...PASSED
Verifying OS Kernel Parameter: semmns ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 32000 32000 32000 passed
Verifying OS Kernel Parameter: semmns ...PASSED
Verifying OS Kernel Parameter: semopm ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 100 100 100 passed
Verifying OS Kernel Parameter: semopm ...PASSED
Verifying OS Kernel Parameter: semmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 128 128 128 passed
Verifying OS Kernel Parameter: semmni ...PASSED
Verifying OS Kernel Parameter: shmmax ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 4398046511104 4398046511104 8277874688 passed
Verifying OS Kernel Parameter: shmmax ...PASSED
Verifying OS Kernel Parameter: shmmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 4096 4096 4096 passed
Verifying OS Kernel Parameter: shmmni ...PASSED
Verifying OS Kernel Parameter: shmall ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 1073741824 1073741824 1073741824 passed
Verifying OS Kernel Parameter: shmall ...PASSED
Verifying OS Kernel Parameter: file-max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 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
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 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
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 4194304 4194304 262144 passed
Verifying OS Kernel Parameter: rmem_default ...PASSED
Verifying OS Kernel Parameter: rmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 4194304 4194304 4194304 passed
Verifying OS Kernel Parameter: rmem_max ...PASSED
Verifying OS Kernel Parameter: wmem_default ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 262144 262144 262144 passed
Verifying OS Kernel Parameter: wmem_default ...PASSED
Verifying OS Kernel Parameter: wmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 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
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 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
---------------- ------------ ------------ ------------ ------------ ------------
stdby1 1 1 1 passed
Verifying OS Kernel Parameter: panic_on_oops ...PASSED
Verifying Package: kmod-20-21 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 kmod(x86_64)-20-28.0.3.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
------------ ------------------------ ------------------------ ----------
stdby1 kmod-libs(x86_64)-20-28.0.3.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
------------ ------------------------ ------------------------ ----------
stdby1 binutils-2.27-44.base.0.3.el7_9.1 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
------------ ------------------------ ------------------------ ----------
stdby1 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
------------ ------------------------ ------------------------ ----------
stdby1 libgcc(x86_64)-4.8.5-44.0.3.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
------------ ------------------------ ------------------------ ----------
stdby1 libstdc++(x86_64)-4.8.5-44.0.3.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
------------ ------------------------ ------------------------ ----------
stdby1 libstdc++-devel(x86_64)-4.8.5-44.0.3.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
------------ ------------------------ ------------------------ ----------
stdby1 sysstat-10.1.5-20.0.3.el7_9 sysstat-10.1.5 passed
Verifying Package: sysstat-10.1.5 ...PASSED
Verifying Package: ksh ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 ksh ksh passed
Verifying Package: ksh ...PASSED
Verifying Package: make-3.82 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 make-3.82-24.el7 make-3.82 passed
Verifying Package: make-3.82 ...PASSED
Verifying Package: glibc-2.17 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
stdby1 glibc(x86_64)-2.17-326.0.9.el7_9 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
------------ ------------------------ ------------------------ ----------
stdby1 glibc-devel(x86_64)-2.17-326.0.9.el7_9 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
------------ ------------------------ ------------------------ ----------
stdby1 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
------------ ------------------------ ------------------------ ----------
stdby1 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
------------ ------------------------ ------------------------ ----------
stdby1 nfs-utils-1.3.0-0.68.0.1.el7.2 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
------------ ------------------------ ------------------------ ----------
stdby1 smartmontools-7.0-2.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
------------ ------------------------ ------------------------ ----------
stdby1 net-tools-2.0-0.25.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
------------------------------------ ------------------------
stdby1 passed
Verifying Root user consistency ...PASSED
Pre-check for Oracle Restart configuration was successful.
CVU operation performed: stage -pre hacfg
Date: Jun 24, 2024 4:09:33 PM
CVU home: /oracle/oraBase/19.0.0/grid/
User: grid
If any of the above fails, correct it and rerun the runcluvfy.sh command.
2.2 Create the response file for GI Upgrade in /usr/software/oracle/19c_grid_upgrade_standalone.rsp
Below is my sample response file.
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/oracle/oraInventory
oracle.install.option=UPGRADE
ORACLE_BASE=/oracle/oraBase/grid
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.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.gpnp.gnsOption=CREATE_NEW_GNS
oracle.install.crs.configureGIMR=false
oracle.install.asm.configureGIMRDataDG=false
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.gimrDG.AUSize=1
oracle.install.asm.configureAFD=false
oracle.install.crs.configureRHPS=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsPort=0
oracle.install.crs.rootconfig.executeRootScript=false
In the response file, change these values to match your system’s configurations:
INVENTORY_LOCATION
ORACLE_BASE
The inventory_loc variable in /etc/oraInst.loc will provide the value for INVENTORY_LOCATION
[grid@stdby1 grid]$ cat /etc/oraInst.loc
inventory_loc=/oracle/oraInventory
inst_group=oinstall
2.3 Setting ownership for grid home.
Some directories and files in grid home might get changed to root owner during previous installations/upgrades. They need to be owned by grid user.
[root@stdby1 ~]# chown -R grid.oinstall /oracle/oraBase/19.0.0/grid
2.4 As oracle user, stop the database.
[oracle@stdby1 ~]$ srvctl stop db -d PRODDR
2.5 Run the gridSetup.sh on the node stdby1 to upgrade the grid home.
[grid@stdby1 ~]$ unset ORACLE_HOME
[grid@stdby1 ~]$ unset ORACLE_SID
[grid@stdby1 ~]$ cd /oracle/oraBase/19.0.0/grid
[grid@stdby1 grid]$ ./gridSetup.sh -silent -ignorePrereqFailure -responseFile /usr/software/oracle/19c_grid_upgrade_standalone.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
The response file for this session can be found at:
/oracle/oraBase/19.0.0/grid/install/response/grid_2024-06-24_04-16-35PM.rsp
As a root user, execute the following script(s):
1. /oracle/oraBase/19.0.0/grid/rootupgrade.sh
Execute /oracle/oraBase/19.0.0/grid/rootupgrade.sh on the following nodes:
[stdby1]
Successfully Setup Software.
[WARNING] [INS-43080] Some of the configuration assistants failed, were cancelled or skipped.
ACTION: Refer to the logs or contact Oracle Support Services.
As install user, execute the following command to complete the configuration.
/oracle/oraBase/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /usr/software/oracle/19c_grid_upgrade_standalone.rsp [-silent]
2.5.1 As root, execute /oracle/oraBase/19.0.0/grid/rootupgrade.sh on stdby1.
[root@stdby1 ~]# /oracle/oraBase/19.0.0/grid/rootupgrade.sh
Check /oracle/oraBase/19.0.0/grid/install/root_stdby1_2024-06-24_16-19-16-941958199.log for the output of root script
2.5.2 Once rootupgrade.sh has completed, run gridSetup.sh with executeConfigTools option as grid user.
[grid@stdby1 grid]$ /oracle/oraBase/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /usr/software/oracle/19c_grid_upgrade_standalone.rsp -silent
Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:
/oracle/oraInventory/logs/GridSetupActions2024-06-24_04-30-43PM
You can find the log of this install session at:
/oracle/oraInventory/logs/UpdateNodeList2024-06-24_04-30-43PM.log
You can find the log of this install session at:
/oracle/oraInventory/logs/UpdateNodeList2024-06-24_04-30-43PM.log
Successfully Configured Software.
2.5.3 Add this 19c Home entry to /etc/oratab if it doesn’t exist.
+ASM:/oracle/oraBase/19.0.0/grid:N # line added by Agent
2.5.4 Detached the old 18c GI Home.
[grid@stdby1 grid]$ /oracle/oraBase/19.0.0/grid/oui/bin/runInstaller -detachhome ORACLE_HOME=/oracle/oraBase/18.0.0/grid ORACLE_HOME_NAME="OraGI18Home1"
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 16383 MB Passed
The inventory pointer is located at /etc/oraInst.loc
[grid@stdby1 grid]$ cat /oracle/oraInventory/ContentsXML/inventory.xml
<?xml version="1.0" standalone="yes" ?>
<!-- Copyright (c) 1999, 2024, Oracle and/or its affiliates.
All rights reserved. -->
<!-- Do not modify the contents of this file by hand. -->
<INVENTORY>
<VERSION_INFO>
<SAVED_WITH>12.2.0.7.0</SAVED_WITH>
<MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
</VERSION_INFO>
<HOME_LIST>
<HOME NAME="OraDB18Home1" LOC="/oracle/oraBase/oracle/18.0.0/database" TYPE="O" IDX="2"/>
<HOME NAME="OraGI19Home1" LOC="/oracle/oraBase/19.0.0/grid" TYPE="O" IDX="3" CRS="true"/>
<HOME NAME="OraGI18Home1" LOC="/oracle/oraBase/18.0.0/grid" TYPE="O" IDX="1" REMOVED="T"/>
</HOME_LIST>
<COMPOSITEHOME_LIST>
</COMPOSITEHOME_LIST>
</INVENTORY>
2.6 Check GI Status.
[grid@stdby1 grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE stdby1 STABLE
ora.FRA.dg
ONLINE ONLINE stdby1 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE stdby1 STABLE
ora.asm
ONLINE ONLINE stdby1 Started,STABLE
ora.ons
OFFLINE OFFLINE stdby1 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE stdby1 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE stdby1 STABLE
ora.proddr.cat.svc
1 OFFLINE OFFLINE STABLE
ora.proddr.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.proddr.dog.svc
1 OFFLINE OFFLINE STABLE
ora.proddr.pig.svc
1 OFFLINE OFFLINE STABLE
--------------------------------------------------------------------------------
2.7 Update /home/grid/.bash_profile to point to the new 19c home.
ORACLE_HOME=/oracle/oraBase/19.0.0/grid
GRID_HOME=/oracle/oraBase/19.0.0/grid
[grid@stdby1 ~]$ . ~/.bash_profile
[grid@stdby1 ~]$ env|egrep "ORACLE_HOME|GRID_HOME"
GRID_HOME=/oracle/oraBase/19.0.0/grid
ORACLE_HOME=/oracle/oraBase/19.0.0/grid
2.8 Check GI Software Version
[grid@stdby1 grid]$ crsctl query has softwareversion
Oracle High Availability Services version on the local node is [19.0.0.0.0]
[grid@stdby1 ~]$ crsctl query has releaseversion
Oracle High Availability Services release version on the local node is [19.0.0.0.0]
2.9 Update Listener Config Files.
2.9.1 As user grid, stop the listener.
[grid@stdby1 ~]$ srvctl stop listener
[grid@stdby1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is not running
2.9.2 Update listener.ora to point to the new 19c home.
[grid@stdby1 ~]$ cat /oracle/oraBase/19.0.0/grid/network/admin/listener.ora
# listener.ora Network Configuration File: /oracle/oraBase/19.0.0/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = stdby1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCPS)(HOST = stdby1)(PORT = 1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = PRODDR)
(ORACLE_HOME = /oracle/oraBase/oracle/19.0.0/database)
(SID_NAME = PRODDR1)
)
(SID_DESC =
(GLOBAL_DBNAME = PRODDR_DGMGRL)
(ORACLE_HOME = /oracle/oraBase/oracle/19.0.0/database)
(SID_NAME = PRODDR1)
)
)
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON # line added by Agent
ADMIN_RESTRICTIONS_LISTENER=ON
2.9.3 As user grid, start the listener.
[grid@stdby1 ~]$ srvctl start listener
[grid@stdby1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): stdby1
[grid@stdby1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 24-JUN-2024 16:58:50
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=stdby1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 24-JUN-2024 16:58:18
Uptime 0 days 0 hr. 0 min. 32 secF
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/oraBase/19.0.0/grid/network/admin/listener.ora
Listener Log File /oracle/oraBase/grid/diag/tnslsnr/stdby1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=stdby1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=stdby1)(PORT=1522)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "PRODDR" has 1 instance(s).
Instance "PRODDR1", status UNKNOWN, has 1 handler(s) for this service...
Service "PRODDR_DGMGRL" has 1 instance(s).
Instance "PRODDR1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
If use oracle wallet, make sure to update your /oracle/oraBase/19.0.0/grid/network/admin/sqlnet.ora with the correct ORACLE_HOME.
Congratulation! GI on the Standby Database has been upgraded to 19c!