Home » Exadata Upgrade

📘 Introduction

We recently completed an upgrade of our Exadata system from version 11.2.2.3.2 to 12.1.1.1.2. This post outlines the key steps and practical considerations we followed during the upgrade.

For full reference and latest updates, please refer to Oracle MOS Document ID 888828.1.

🧪 Pre-Upgrade Preparation

Before starting the upgrade, we prepared the environment as follows:

  • Created LVM snapshots of / and /u01 on database servers
  • Created a Cell Boot Image on an external USB for each storage server
  • Backed up InfiniBand Switch configuration files
⚙️ Storage Server Upgrade (12.1.1.1.2)

Step-by-step actions:

On all cell servers (as root):

  • Stop the EM Agent
  • Shut down Cell Services on the first cell
  • Log in to a DB node and check prerequisites:./patchmgr -cells cell_group -patch_check_prereq -rolling
  • Adjust disk_repair_time as needed

dcli -g ~/all_group -l root ‘/bin/rm -f /opt/oracle.cellos/DISABLE_HARDWARE_FIRMWARE_CHECKS’
dcli -g ~/all_group -l root ‘touch /.updfrm_exact’

Patch using patchmgr:

./patchmgr -cells ~/cell_group -reset_force  
./patchmgr -cells cell_group -cleanup  
./patchmgr -cells cell_group -patch -rolling
  • After ~5 minutes, monitor via ILOM
  • Verify patch success:imageinfo
    imagehistory
    /opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -a0 -NoLog | grep ‘FW Package Build’
  • Confirm all grid disks are ONLINE:dcli -g ./cell_group -l root cellcli -e “list griddisk attributes name,status,asmmodestatus” | grep -v ONLINE
  • Check for errors:dcli -g cell_group -l root grep -i fail /var/log/cellos/validations.log
  • Remove exact firmware directive:dcli -g all_group -l root ‘/bin/rm -f /.updfrm_exact’
  • Final cleanup:patchmgr -cells ~/cell_group -cleanup
🖥️ Database Server Upgrade

Phase 1 – Apply 11.2.2.4.2

  • Stop services:stop osw
    stop nfs
    stop dbfs
    shut down agent
    stop CRS on first node
  • Run installation:./install.sh -force

Phase 2 – Apply 12.1.1.1.2

🛠️ Completion Phase – Error and Workaround

We encountered this error:

bashERROR: Unable to unlock home /u01/app/11.2.0/grid_2

Workaround

As root:

bash/usr/bin/perl /u01/patch/oldopatch/OPatch/crs/patch112.pl -unlock -desthome=/u01/app/11.2.0/grid_2

As oracle:

bashcd /u01/app/11.2.0/grid_2/rdbms/lib  ORACLE_HOME=/u01/app/11.2.0/grid_2 make -f ins_rdbms.mk ipc_rds ioracle

cd /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib  
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 make -f ins_rdbms.mk ipc_rds ioracle

As root:

bash./dbnodeupdate.sh -c -i  /u01/app/oracle/product/11.2.0/dbhome_2/root.sh  
/usr/bin/perl /u01/patch/oldopatch/OPatch/crs/patch112.pl -patch -desthome=/u01/app/11.2.0/grid_2
🛠️ Completion Phase – Error and Workaround

We encountered this error:

bashERROR: Unable to unlock home /u01/app/11.2.0/grid_2

Workaround

As root:

bash/usr/bin/perl /u01/patch/oldopatch/OPatch/crs/patch112.pl -unlock -desthome=/u01/app/11.2.0/grid_2

As oracle:

bashcd /u01/app/11.2.0/grid_2/rdbms/lib  ORACLE_HOME=/u01/app/11.2.0/grid_2 make -f ins_rdbms.mk ipc_rds ioracle

cd /u01/app/oracle/product/11.2.0/dbhome_2/rdbms/lib  
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2 make -f ins_rdbms.mk ipc_rds ioracle

🌐 InfiniBand Switch Upgrade

One switch failed initially due to lack of /tmp space. After cleaning space, we succeeded.

We modified the following:

  • Script upgradeIBSwitch.sh, changing:bashlocal Cmd=”$PWD/ibdiagtools/verify-topology” to
    local Cmd=”$PWD/ibdiagtools/verify-topology -i”
  • Modified md5sum_files.lst as needed

Run upgrade:

bashexport EXADATA_IMAGE_IBSWITCH_ROLLBACK_VERSION=1.3.3-2  ./patchmgr -ibswitches ibswitches.lst -upgrade -ibswitch_precheck  
./patchmgr -ibswitches ibswitches.lst -upgrade

Tags:

Rate this post

Share this post:

You May Also Like

Comments

Get the latest Oracle Database and Exadata tips delivered to your inbox

3 Responses

  1. Great job on outlining the key steps and practical considerations during the Exadata system upgrade! It’s clear that a lot of meticulous planning and execution went into this process.

    Could you share any unexpected challenges that arose during the upgrade and how your team overcame them? I’m curious to learn more about your experience dealing with unforeseen situations in such a complex upgrade process.

    1. Thank you for your feedback.

      During the Exadata infrastructure patching itself, we did not encounter any issues. The process went smoothly because of the detailed pre-checks, dependency validation, and phased execution plan, I will write few more steps about pre-checks soon and share with all.

Leave a Reply

Discover more from DBA exadata

Subscribe now to keep reading and get access to the full archive.

Continue reading