- Grid Infrastructure Installation and Upgrade Guide
 - Upgrading Oracle Grid Infrastructure
 - Downgrading Oracle Clusterware to an Earlier Release
 - Downgrading Oracle Clusterware to 12c Release 2 (12.2)
 - Downgrading Oracle Domain Services Cluster to 12c Release 2 (12.2)
 
Downgrading Oracle Domain Services Cluster to 12c Release 2 (12.2)
Use this procedure to downgrade Oracle Domain Services Cluster to Oracle Grid Infrastructure 12c Release 2 (12.2) after a successful upgrade.
- As 
griduser, downgrade the Management Database to Oracle Grid Infrastructure 12c Release 2 (12.2):- 
                              
Manually copy the most recent time zone files from 19c Grid home to 12c Release 2 (12.2) Grid home, where
timezlrg_numberis the name of the most recenttimzlrgfile andtimezone_numberis the name of the most recenttimezonefile:$ cp $ORACLE_HOME/oracore/zoneinfo/timezlrg_number.dat /u01/app/12.2.0/grid/oracore/zoneinfo/timezlrg_number.dat $ cp $ORACLE_HOME/oracore/zoneinfo/timezone_number.dat /u01/app/12.2.0/grid/oracore/zoneinfo/timezone_number.dat - 
                              
Downgrade application schema using the following command syntax from 19c Grid home:
$ $ORACLE_HOME/bin/mgmtua downgrade -local -oldOracleHome /u01/app/12.2.0/grid -skipSystemSchemaDowngrade - 
                              
Disable and stop MGMTDB resource from 19c Grid home:
$ cd $ORACLE_HOME/bin $ ./srvctl disable mgmtdb $ ./srvctl stop mgmtdb - 
                              
Downgrade system schema using the following procedure:
- 
                                    
Set
ORACLE_SIDenvironment variable for 19c Grid home:$ export ORACLE_SID=-MGMTDB $ cd $ORACLE_HOME/bin - 
                                    
Start CDB and all PDBs in downgrade mode:
$ ./sqlplus / as sysdba SQL> startup downgrade SQL> alter pluggable database all open downgrade; SQL> exit - 
                                    
Downgrade 19c Management Database using the following command syntax, where
/u01/app/grid2is the Oracle base for Oracle Grid Infrastructure 19c:$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d /u01/app/grid2 -e -l /u01/app/grid2/cfgtoollogs/mgmtua -b mgmtdowngrade -r $ORACLE_HOME/rdbms/admin/catdwgrd.sql - 
                                    
Set
ORACLE_HOMEandORACLE_SIDenvironment variables for 12c Release 2 (12.2) Grid home:$ export ORACLE_HOME=/u01/app/12.2.0/grid/ $ export ORACLE_SID=-MGMTDB $ cd $ORACLE_HOME/bin - 
                                    
Start CDB and all PDBs in upgrade mode:
$ ./sqlplus / as sysdba SQL> shutdown immediate SQL> startup upgrade SQL> alter pluggable database all open upgrade; SQL> exit - 
                                    
Run
catrelodscript for 12c Release 2 (12.2) Management Database using the following command syntax, where/u01/app/gridis the Oracle base for Oracle Grid Infrastructure 12c Release 2 (12.2):$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d /u01/app/grid -e -l /u01/app/grid/cfgtoollogs/mgmtua -b mgmtdowngrade $ORACLE_HOME/rdbms/admin/catrelod.sql - 
                                    
Recompile all invalid objects after downgrade using the following command syntax from 12c Release 2 (12.2) Grid home:
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d /u01/app/grid -e -l /u01/app/grid/cfgtoollogs/mgmtua -b mgmtdowngrade $ORACLE_HOME/rdbms/admin/utlrp.sql 
 - 
                                    
 - 
                              
Manually stop the Management Database:
$ ./sqlplus / as sysdba SQL> shutdown immediate SQL> exit 
 - 
                              
 - As 
rootuser, use the following command syntaxrootcrs.sh -downgradefrom 19c Grid home to downgrade Oracle Grid Infrastructure on all nodes, in any sequence. For example:# $ORACLE_HOME/crs/install/rootcrs.sh -downgradeRun this command from a directory that has write permissions for the Oracle Grid Infrastructure installation user. You can run the downgrade script in parallel on all cluster nodes, but one.
 - As 
rootuser, downgrade the last node after you downgrade all other nodes:# $ORACLE_HOME/crs/install/rootcrs.sh -downgrade - As 
griduser, remove Oracle Grid Infrastructure 19c Grid home as the active Oracle Clusterware home:- 
                              
On any of the cluster member nodes where the
rootupgrade.shscript has run successfully, log in as the Oracle Grid Infrastructure installation owner. - 
                              
Use the following command to start the installer, where
/u01/app/19.0.0/gridis the location of the new (upgraded) Grid home:$ cd $ORACLE_HOME/oui/bin ./runInstaller -nowait -waitforcompletion -ignoreSysPrereqs -updateNodeList -silent CRS=false ORACLE_HOME=/u01/app/19.0.0/grid "CLUSTER_NODES=node1,node2,node3" -doNotUpdateNodeListAdd the flag
-cfsif the Grid home is a shared home. 
 - 
                              
 - As 
rootuser, start the 12c Release 2 (12.2) Oracle Clusterware stack on all nodes.# crsctl start crs - As 
griduser, set Oracle Grid Infrastructure 12c Release 2 (12.2) Grid home as the active Oracle Clusterware home:- 
                              
On any of the cluster member nodes where the
rootupgradescript has run successfully, log in as the Oracle Grid Infrastructure installation owner. - 
                              
Use the following command to start the installer, where the path you provide for
ORACLE_HOMEis the location of the home directory from the earlier Oracle Clusterware installation.$ cd $ORACLE_HOME/oui/bin $ ./runInstaller -nowait -waitforcompletion -ignoreSysPrereqs -updateNodeList -silent CRS=true ORACLE_HOME=/u01/app/12.2.0/grid "CLUSTER_NODES=node1,node2,node3" 
 - 
                              
 - As 
griduser, downgrade CHA models from any node where the Grid Infrastructure stack is running from 12c Release 2 (12.2) Grid home and Management Database andochadare up:$ ./srvctl stop cha $ ./chactl import model -file /u01/app/12.2.0/grid/cha/model/os_gold.svm -name DEFAULT_CLUSTER $ ./chactl import model -file /u01/app/12.2.0/grid/cha/model/db_gold.svm -name DEFAULT_DB $ ./srvctl start chaIn the example above,
DEFAULT_CLUSTERandDEFAULT_DBare function names that you must pass as values. 
Parent topic: Downgrading Oracle Clusterware to 12c Release 2 (12.2)