Home » Oracle Exadata Patching (KVM Guests)

5- Patch Exadata KVM Guest Servers (VM Servers)

This is part 5/5 of Exadata Patch series, this section outlines the patching workflow for virtualized DB servers running on Exadata, including all necessary steps: Precheck, Backup, CRS Shutdown, Patch Apply, and Post-Patch Validation. The process is managed using patchmgr and dcli, ensuring a centralized and repeatable approach.

We have RAC include 4 servers, base on that I will apply the patch on VM1 & VM2 from VM3

Step 1: Precheck Phase

Ensure you can connect passwordlessly between peer VMs to facilitate patching:

From VM_3:

Setup Passwordless


cat /u01/stage/XXX_list_Grpb_1_2
EXA1-XXX-DBP1
EXA1-XXX-DBP2

dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root -k -s '-o StrictHostKeyChecking=no'
dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root hostname

Comment: Passwordless SSH is crucial for dcli and patchmgr to function across nodes.

Run precheck:


cd /u01/stage/Exadata_24.1.2.0.0/dbserver_patch_240719

./patchmgr --dbnodes /u01/stage/XXX_list_Grpb_1_2 \
  --precheck \
  --repo /u01/stage/Exadata_24.1.2.0.0/p36684576_241000_Linux-x86-64.zip \
  --target_version 24.1.2.0.0.240711 \
  --log_dir auto

Note: Add –skip_gi_db_validation if Grid Infrastructure (GI) is not fully installed.

Step 2: Backup (Optional but Recommended)


cd /u01/stage/Exadata_24.1.2.0.0/dbserver_patch_240719

./patchmgr --dbnodes /u01/stage/XXX_list_Grpb_1_2 \
  --backup --rolling \
  --repo /u01/stage/Exadata_24.1.2.0.0/p36684576_241000_Linux-x86-64.zip \
  --target_version 24.1.2.0.0.240711

Comment: Add –allow_active_network_mounts if your environment uses NFS mounts.

Step 3: Stop CRS and Agents

Disable and stop Clusterware:


dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root "/u01/app/19.0.0.0/grid/bin/crsctl disable crs"
dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root "/u01/app/19.0.0.0/grid/bin/crsctl stop crs"
Validate CRS is down:

dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root "ps -ef | grep grid | grep -v grep"
dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root "ps -ef | grep pmon | grep -v grep"
Stop Enterprise Manager agents:

dcli -g /u01/stage/HYP_list_Grpb_1_2 -l oracle /u01/app/oracle/agent/agent_13.5.0.0.0/bin/emctl stop agent

Step 4: Apply the Patch

Use screen to safely run the patch session:

screen -S patch_Grpb_1_2
./patchmgr --dbnodes /u01/stage/XXX_list_Grpb_1_2 \
  --upgrade --repo /u01/stage/Exadata_24.1.2.0.0/p36684576_241000_Linux-x86-64.zip \
  --target_version 24.1.2.0.0.240711 [--rolling (no need for rolling here)]

Optional cleanup:
./patchmgr –dbnodes /u01/stage/HYP_list_Grpb_3_4 –precheck -cleanup –log_dir auto

Step 5: Enable CRS and Agents

Start CRS:

dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root /u01/app/19.0.0.0/grid/bin/crsctl enable crs
dcli -g /u01/stage/XXX_list_Grpb_1_2 -l root /u01/app/19.0.0.0/grid/bin/crsctl start crs
Restart EM agents:

dcli -g /u01/stage/XXX_list_Grpb_3_4 -l oracle /u01/app/oracle/agent/agent_13.5.0.0.0/bin/emctl start agent

Once patching is successful on VM1 and VM2, flip the workflow and apply the patch from VM_1 to VM3 and VM4.

🔖 Next: Part 1/5 – Oracle Exadata Patching (Oracle Homes)

🔖 Next: Part 2/5 – Oracle Exadata Patching (RoCE Switches)

🔖 Next: Part 3/5 – Oracle Exadata Patching (Cell Storage)

🔖 Next: Part 4/5 – Oracle Exadata Patching (KVM Host)

🔖 Next: Part 5/5 – Oracle Exadata Patching (KVM Guest)

Tags:

Rate this post

Share this post:

You May Also Like

Comments

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

2 Responses

    1. Nice catch, Yes, you are correct rolling is not necessary in step 4, I have 4 nodes in my cluster but the node list in my command has two nodes only “/u01/stage/XXX_list_Grpb_1_2”

Leave a Reply

Discover more from DBA exadata

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

Continue reading