In this part of the series, we will update the database’s COMPATIBLE parameter ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0. This is the final 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
Updating the Database COMPATIBLE parameter and the ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS attributes.
Database COMPATIBLE parameters can be set to the current database software version or lower. It sets the features available for that version.
COMPATIBLE.ASM determines the minimum software version for the ASM instance. And COMPATIBLE.RDBMS determines the minimum software version for the database instance.
WARNING 1: You can set the compatibilities higher but you can’t go back down so make sure this is what you need. If you plan to downgrade the database at a later time, do not change this parameter.
WARNING 2: When you change compatibilities settings, change it in the database parameter first before changing it for the ASM Diskgroups. The database will not start if the database’s COMPATIBLE parameter is not equal to or higher than all of the ASM diskgroups’ COMPATIBLE.RDBMS properties in which the database is a client of.
WARNING 3: If you have Standby databases, you must change database COMPATIBLE parameters on all the Standby databases before changing it on the Primary.
WARNING 4: Always back up your databases before making any changes.
We will be updating in the following order:
1. Update Standby Database’s COMPATIBLE parameter to 19.0.0.0.
2. Update all of Standby ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0.
3. Update Primary Database’s COMPATIBLE parameter to 19.0.0.0.
4. Update all of Primary ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0.
1. Update Standby Database’s COMPATIBLE parameter to 19.0.0.0.
[oracle@stdby1 ~]$ sqlplus / as sysdba
SQL> set lines 150
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
instance_name string PRODDR
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 18.0.0.0
SQL> alter system set compatible='19.0.0.0' scope=spfile sid='*';
System altered.
Restart the database to allow the new settings to go into effect.
[oracle@stdby1 ~]$ srvctl stop db -d PRODDR
[oracle@stdby1 ~]$ srvctl start db -d PRODDR
Verify the new compatible parameter on Standby Database.
SQL> set lines 150
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 19.0.0.0
2. Update all of Standby ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0.
2.1 As grid user, log into ASM and check the current attribute settings.
[grid@stdby1 ~]$ sqlplus / as sysasm
SQL> set lines 200 pages 9999
SQL> col gname for a25
SQL> col attribute for a30
SQL> col value for a20
SQL> SELECT a.group_number, d.name gname, a.name attribute, value FROM v$asm_attribute a, v$asm_diskgroup d
2 where a.name in ('compatible.asm','compatible.rdbms')
3 and a.group_number=d.group_number
4 ORDER BY a.group_number, gname;
GROUP_NUMBER GNAME ATTRIBUTE VALUE
------------ ------------------------- ------------------------------ --------------------
1 DATA compatible.asm 18.0.0.0.0
1 DATA compatible.rdbms 18.0.0.0.0
2 FRA compatible.asm 18.0.0.0.0
2 FRA compatible.rdbms 18.0.0.0.0
2.2 Update attribute settings to 19.0.0.0.
SQL> alter diskgroup DATA set attribute 'compatible.asm' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup DATA set attribute 'compatible.rdbms' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup FRA set attribute 'compatible.asm' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup FRA set attribute 'compatible.rdbms' = '19.0.0.0.0';
Diskgroup altered.
2.3 Verify new attribute settings.
SQL> SELECT a.group_number, d.name gname, a.name attribute, value FROM v$asm_attribute a, v$asm_diskgroup d
2 where a.name in ('compatible.asm','compatible.rdbms')
3 and a.group_number=d.group_number
4 ORDER BY a.group_number, gname;
GROUP_NUMBER GNAME ATTRIBUTE VALUE
------------ ------------------------- ------------------------------ --------------------
1 DATA compatible.asm 19.0.0.0.0
1 DATA compatible.rdbms 19.0.0.0.0
2 FRA compatible.asm 19.0.0.0.0
2 FRA compatible.rdbms 19.0.0.0.0
3. Update Primary Database’s COMPATIBLE parameter to 19.0.0.0.
Note: If your Primary is a RAC Database, you only need to perform the update on one of the RAC nodes.
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL> set lines 150
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
instance_name string PROD1
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 18.0.0.0
SQL> alter system set compatible='19.0.0.0' scope=spfile sid='*';
System altered.
Restart the database to allow the new settings to go into effect.
[oracle@rac1 ~]$ srvctl stop db -d PROD
[oracle@rac1 ~]$ srvctl start db -d PROD
Verify the new compatible parameter on Primary Database.
SQL> set lines 150
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 19.0.0.0
3.5 If you have MGMTDB database, you will also need to update its’ COMPATIBLE parameter. You can skip Section 3.5 if you don’t have an MGMTDB database.
As grid user, update the MGMTDB:
[grid@rac1 ~]$ export ORACLE_SID="-MGMTDB"
[grid@rac1 ~]$ sqlplus / as sysdba
SQL> set lines 150
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
instance_name string -MGMTDB
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 12.2.0.0.0
SQL> alter system set compatible='19.0.0.0' scope=spfile sid='*';
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1073740992 bytes
Fixed Size 9186496 bytes
Variable Size 637534208 bytes
Database Buffers 419430400 bytes
Redo Buffers 7589888 bytes
Database mounted.
Database opened.
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
compatible string 19.0.0.0
4. Update all of Primary ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0.
4.1 As grid user, log into ASM and check the current attribute settings.
[grid@rac1 ~]$ sqlplus / as sysasm
SQL> set lines 200 pages 9999
SQL> col gname for a25
SQL> col attribute for a30
SQL> col value for a20
SQL> SELECT a.group_number, d.name gname, a.name attribute, value FROM v$asm_attribute a, v$asm_diskgroup d
2 where a.name in ('compatible.asm','compatible.rdbms')
3 and a.group_number=d.group_number
4 ORDER BY a.group_number, gname;
GROUP_NUMBER GNAME ATTRIBUTE VALUE
------------ ------------------------- ------------------------------ --------------------
1 CRS compatible.asm 18.0.0.0.0
1 CRS compatible.rdbms 10.1.0.0.0
2 DATA compatible.asm 18.0.0.0.0
2 DATA compatible.rdbms 18.0.0.0.0
3 FRA compatible.asm 18.0.0.0.0
3 FRA compatible.rdbms 18.0.0.0.0
6 rows selected.
4.2 Update attribute settings to 19.0.0.0.
SQL> alter diskgroup CRS set attribute 'compatible.asm' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup CRS set attribute 'compatible.rdbms' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup DATA set attribute 'compatible.asm' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup DATA set attribute 'compatible.rdbms' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup FRA set attribute 'compatible.asm' = '19.0.0.0.0';
Diskgroup altered.
SQL> alter diskgroup FRA set attribute 'compatible.rdbms' = '19.0.0.0.0';
Diskgroup altered.
4.3 Verify new attribute settings.
SQL> SELECT a.group_number, d.name gname, a.name attribute, value FROM v$asm_attribute a, v$asm_diskgroup d
2 where a.name in ('compatible.asm','compatible.rdbms')
3 and a.group_number=d.group_number
4 ORDER BY a.group_number, gname;
GROUP_NUMBER GNAME ATTRIBUTE VALUE
------------ ------------------------- ------------------------------ --------------------
1 CRS compatible.asm 19.0.0.0.0
1 CRS compatible.rdbms 19.0.0.0.0
2 DATA compatible.asm 19.0.0.0.0
2 DATA compatible.rdbms 19.0.0.0.0
3 FRA compatible.asm 19.0.0.0.0
3 FRA compatible.rdbms 19.0.0.0.0
6 rows selected.
4.4 Verify the system is ok by restarting the CRS on both RAC nodes as root user.
Note: Only outputs from rac1 are shown here.
[root@rac1 ~]# /oracle/oraBase/19.0.0/grid/bin/crsctl stop crs
[root@rac1 ~]# /oracle/oraBase/19.0.0/grid/bin/crsctl start crs
[root@rac1 ~]# /oracle/oraBase/19.0.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.GHCHKPT.advm
OFFLINE OFFLINE rac1 STABLE
OFFLINE OFFLINE rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.chad
OFFLINE OFFLINE rac1 STABLE
OFFLINE OFFLINE rac2 STABLE
ora.crs.ghchkpt.acfs
OFFLINE OFFLINE rac1 STABLE
OFFLINE OFFLINE rac2 STABLE
ora.helper
OFFLINE OFFLINE rac1 IDLE,STABLE
OFFLINE OFFLINE rac2 IDLE,STABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.proxy_advm
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 STABLE
ora.CRS.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 OFFLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 OFFLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 OFFLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE rac1 169.254.25.155 10.71
.41.17,STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE rac1 Started,STABLE
2 OFFLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE rac1 STABLE
2 ONLINE OFFLINE STABLE
3 ONLINE ONLINE rac2 STABLE
ora.cvu
1 ONLINE ONLINE rac1 STABLE
ora.mgmtdb
1 ONLINE ONLINE rac1 Open,STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.prod.cat.svc
2 ONLINE ONLINE rac1 STABLE
ora.prod.db
1 ONLINE ONLINE rac1 Open,HOME=/oracle/or
aBase/oracle/19.0.0/
database,STABLE
2 ONLINE ONLINE rac2 Open,HOME=/oracle/or
aBase/oracle/19.0.0/
database,STABLE
ora.prod.dog.svc
2 ONLINE ONLINE rac1 STABLE
ora.prod.pig.svc
1 ONLINE ONLINE rac1 STABLE
2 ONLINE ONLINE rac2 STABLE
ora.qosmserver
1 ONLINE ONLINE rac1 STABLE
ora.rhpserver
1 OFFLINE OFFLINE STABLE
ora.scan1.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan2.vip
1 ONLINE ONLINE rac1 STABLE
ora.scan3.vip
1 ONLINE ONLINE rac1 STABLE
--------------------------------------------------------------------------------