Downgrade GRID 11.2.0.4 to 11.2.0.3.11

Overview

Understand and read Note :  How to Downgrade 11.2.0.3 Grid Infrastructure Cluster to Lower 11.2 GI or Pre-11.2 CRS 
   (Doc ID 1364946.1)

DG Compatible :
If this is to downgrade to pre-11gR2 CRS or to lower 11gR2 because of upgrade failure, there's no need to be concerned 
about "DG Compatible", otherwise refer to note 1374275.1 for more details of "DG Compatible" before proceeding.

DG Compatible: ASM Disk Group's compatible.asm setting. To store OCR/VD on ASM, the compatible setting must be at 
               least 11.2.0.0.0, but on the other hand lower GI version won't work with higher compatible setting. 
               For example, 11.2.0.1 GI will have issue to access a DG if compatible.asm is set to 11.2.0.2.0. When 
               downgrading from higher GI version to lower GI version, if DG for OCR/VD has higher  compatible, 
               OCR/VD relocation to lower compatible setting is necessary.

Downgrade PATH:
Oracle Clusterware can only be downgraded to pre-upgrade version, i.e. if the upgrade path is 11.1.0.7 to 11.2.0.2, 
then  11.2.0.2 to 11.2.0.3, the stack can only be directly downgraded from 11.2.0.3 to 11.2.0.2. Note: 11.1.0.7 
can be upgraded directly to 11.2.0.3 without going through 11.2.0.2.

Downgrade GRID from 11.2.0.4 to 11.2.0.3.11

Settings:
- ORACE BASE         :  /u01/app/grid/
- Current Version    :  11.2.0.4       /u01/app/11204_upg/grid
  Downgraded Version :  11.2.0.3       /u01/app/11203/grid
- Oracle Clusterware can only be downgraded to pre-upgrade version - here we use 11.2.0.3
- "OCR node" means the node where rootupgrade.sh generated OCR backup, usually the first node, refer to note 1374275.1 for more details.

Following steps addressed  in  Node  1364946 :  Skip Step 1
As we have only a Single Node RAC cluster we don't need to run step 2A.1
2A.1. On all but "OCR node" as root user:
# $NEW_HOME/crs/install/rootcrs.pl -downgrade -force -oldcrshome $OLD_HOME -version $OLD_VERSION

2A.2. On "OCR node" as root user:
# $NEW_HOME/crs/install/rootcrs.pl -downgrade -force -lastnode -oldcrshome $OLD_HOME -version $OLD_VERSION

Note: $OLD_VERSION must be in format of n.n.n.n.n, however, PSU does not count which means the last digit will remain 0 even PSU is applied
[root@grac31 grid]#  /u01/app/11204_upg/grid/crs/install/rootcrs.pl -downgrade -force -lastnode -oldcrshome /u01/app/11203/grid -version 11.2.0.3.0
Using configuration parameter file: /u01/app/11204_upg/grid/crs/install/crsconfig_params
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'grac31'
CRS-2673: Attempting to stop 'ora.crsd' on 'grac31'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'grac31'
...
CRS-2677: Stop of 'ora.gpnpd' on 'grac31' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'grac31' has completed
CRS-4133: Oracle High Availability Services has been stopped.
Successfully downgraded Oracle Clusterware stack on this node
Run '/u01/app/11203/grid/bin/crsctl start crs' on all nodes

3. Clean up gpnp profile on all nodes:

Profile needs to be cleaned up if rootupgrade.sh was executed concurrently on first and other node, or network info, location of OCR or 
Voting Disk etc changed after GI was installed.

To clean up, on all nodes as grid user:
[root@grac31 grid]# export NEW_HOME=/u01/app/11204_upg/grid
[root@grac31 grid]# ls -ld $NEW_HOME/gpnp/
drwxr-x---. 6 grid oinstall 4096 Sep 22 19:27 /u01/app/11204_upg/grid/gpnp/
[root@grac31 grid]# rm -rf $NEW_HOME/gpnp/*
[root@grac31 grid]# mkdir -p $NEW_HOME/gpnp/profiles/peer $NEW_HOME/gpnp/wallets/peer $NEW_HOME/gpnp/wallets/prdr $NEW_HOME/gpnp/wallets/pa $NEW_HOME/gpnp/wallets/root

4. Remove root script checkpoint file on all nodes as grid user:
--> rm -rf $ORACLE_BASE/Clusterware/ckptGridHA_${nodename}.xml
[root@grac31 grid]# rm  /u01/app/grid/Clusterware/ckptGridHA*

5. Verify oratab +ASMn entry points to OLD_HOME. To verify:
# grep ASM /etc/oratab
+ASM1:/u01/app/11203/grid:N             # line added by Agent
#+ASM1:/u01/app/11204/grid:N            # line added by Agent

If +ASMn does not point to OLD_HOME, as grid user, backs up oratab file and updates it manually.

6. Start pre-upgrade clusterware on all nodes, as root: $OLD_HOME/bin/crsctl start crs
[root@grac31 grid]# $GRID_HOME/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

7. Validate pre-upgrade clusterware:

7.1. If this is to downgrade to pre-11gR2 CRS, as crs user, execute the following on all nodes to validate:
export ORACLE_HOME=$GRID_HOME
$GRID_HOME/bin/crsctl query crs activeversion
$GRID_HOME/bin/crsctl check crs
$GRID_HOME/bin/crs_stat -t
$GRID_HOME/bin/crs_stat
$GRID_HOME/bin/oifcfg iflist -p -n
$GRID_HOME/bin/oifcfg getif
$GRID_HOME/bin/ocrcheck
cat /etc/oracle/ocr.loc 
$GRID_HOME/bin/crsctl get css diagwait
$GRID_HOME/bin/srvctl config nodeapps -n grac31
$GRID_HOME/OPatch/opatch lsinventory oh=$GRID_HOME
ifconfig              ## location and exact syntax in note 1054902.1
unset ORACLE_HOME

Internal: If the downgrade is done without the "-lastnode" option, "$OLD_HOME/bin/crsctl query crs softwareversion" will show upgraded version.
 There should be no impact.[This section is not visible to customers.]

8. The downgrade is done at this point. Refer to note 1053393.1 to set the "CRS=true" for OLD_HOME.
[grid@grac31 ContentsXML]$ cat  /u01/app/oraInventory/ContentsXML/inventory.xml 
..
<HOME_LIST>
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11203/grid" TYPE="O" IDX="1">
   <NODE_LIST>
      <NODE NAME="grac31"/>
   </NODE_LIST>
</HOME>
<HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11203/racdb" TYPE="O" IDX="2">
   <NODE_LIST>
      <NODE NAME="grac31"/>
   </NODE_LIST>
</HOME>
<HOME NAME="Ora11g_gridinfrahome2" LOC="/u01/app/11204/grid" TYPE="O" IDX="3">
   <NODE_LIST>
      <NODE NAME="grac31"/>
   </NODE_LIST>
</HOME>
<HOME NAME="Ora11g_gridinfrahome3" LOC="/u01/app/11204_upg/grid" TYPE="O" IDX="4" CRS="true">
   <NODE_LIST>
      <NODE NAME="grac31"/>
   </NODE_LIST>
</HOME>
</HOME_LIST>

Change 
[grid@grac31 ContentsXML]$ $GRID_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME="/u01/app/11204_upg/grid" CRS=false
[grid@grac31 ContentsXML]$ $GRID_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME="/u01/app/11203/grid" CRS=true

[grid@grac31 ContentsXML]$ cat  /u01/app/oraInventory/ContentsXML/inventory.xml 
<HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11203/grid" TYPE="O" IDX="1" CRS="true">
<HOME NAME="Ora11g_gridinfrahome3" LOC="/u01/app/11204_upg/grid" TYPE="O" IDX="4">
<HOME NAME="Ora11g_gridinfrahome2" LOC="/u01/app/11204/grid" TYPE="O" IDX="3">

Reference

  • How to Downgrade 11.2.0.3 Grid Infrastructure Cluster to Lower 11.2 GI or Pre-11.2 CRS (Doc ID 1364946.1)

Leave a Reply

Your email address will not be published. Required fields are marked *