Even you don’t need 18c, or you’re not ready for this release, this patch will also update your 11gR2, 12cR1 and 12cR2 databases to the latest PSU available on ODA, it means for example the patchset from last July if you’re using 12cR1. Here is how to apply this latest patch for your ODA lite. In this example, the patch was applied on an X6-2S ODA running on previous release: 12.2.1.4.0.
1) Download the patch
The patch number is 28864490. As usual, this patch will update the following components: dcs (odacli), operating system, bios/firmwares, storage (on lite it means data disks firmwares), ilom, GI, dbhomes and databases.
Download and copy the patch to a temporary folder on the server, for example /opt/patch. You’ll have to be root to apply the patch.
2) Check the actual versions and free space on disk
First check the current version:
odacli describe-component System Version --------------- 12.2.1.4.0 Component Installed Version Available Version ---------------------------------------- -------------------- -------------------- OAK 12.2.1.4.0 up-to-date GI 12.2.0.1.180417 up-to-date DB 12.1.0.2.180417 up-to-date DCSAGENT 18.2.1.0.0 up-to-date ILOM 3.2.9.23.r116695 up-to-date BIOS 38070200 up-to-date OS 6.9 up-to-date FIRMWARECONTROLLER { [ c2 ] 4.650.00-7176 up-to-date [ c0,c1 ] KPYAGR3Q up-to-date } FIRMWAREDISK 0R3Q up-to-date
For the moment, the “available version” column doesn’t know that a newer patch has been released.
Check that folders /, /u01 and /opt have enough free GB to process (>=20GB). This 18c patch is quite big, so don’t forget that you can extend the /u01 and /opt logical volumes online quite easily, for example if you need to increase the /opt:
lvextend -L +30G /dev/VolGroupSys/LogVolOpt resize2fs /dev/VolGroupSys/LogVolOpt
If you never changed the logical volume configuration, about 200GB are available on local disks on this kind of ODA.
3) Prepare the patch files
You need to unzip and register the 3 unzipped files (they are zip files, too).
cd /opt/patch unzip p28864490_183000_Linux-x86-64_1of3.zip unzip p28864490_183000_Linux-x86-64_2of3.zip unzip p28864490_183000_Linux-x86-64_3of3.zip odacli update-repository -f /opt/patch/oda-sm-18.3.0.0.0-181205-server1of3.zip odacli update-repository -f /opt/patch/oda-sm-18.3.0.0.0-181205-server2of3.zip odacli update-repository -f /opt/patch/oda-sm-18.3.0.0.0-181205-server3of3.zip
Updating the repository, as other tasks through odacli, will generate a job. Check if the 3 latest jobs are OK:
odacli list-jobs | head -n 3; odacli list-jobs | tail -n 4 ID Description Created Status ---------------------------------------- ------------------------- ----------------------------------- ---------- add82ae5-3295-49ad-811d-c8c57ebb0cb1 Repository Update March 7, 2019 1:11:13 PM CET Success a057e961-2584-467f-9fc3-d8951dcae213 Repository Update March 7, 2019 1:11:49 PM CET Success 0483dbf8-7562-424e-b7bb-3786558d62b1 Repository Update March 7, 2019 1:15:31 PM CET Success
4) Run the prepatch report
It’s strongly advised to run the prepatch report before patching:
odacli create-prepatchreport -s -v 18.3.0.0.0 odacli describe-prepatchreport -i 9112e726-62f1-4e85-9d9c-aec46e8e8210 Patch pre-check report ------------------------------------------------------------------------ Job ID: 9112e726-62f1-4e85-9d9c-aec46e8e8210 Description: Patch pre-checks for [OS, ILOM, GI] Status: SUCCESS Created: March 7, 2019 1:41:23 PM CET Result: All pre-checks succeeded Node Name --------------- dbi02 Pre-Check Status Comments ------------------------------ -------- -------------------------------------- __OS__ Validate supported versions Success Validated minimum supported versions Validate patching tag Success Validated patching tag: 18.3.0.0.0 Is patch location available Success Patch location is available Verify OS patch Success Verified OS patch __ILOM__ Validate supported versions Success Validated minimum supported versions Validate patching tag Success Validated patching tag: 18.3.0.0.0 Is patch location available Success Patch location is available Checking Ilom patch Version Success Successfully verified the versions Patch location validation Success Successfully validated location __GI__ Validate supported GI versions Success Validated minimum supported versions Validate available space Success Validated free space under /u01 Verify DB Home versions Success Verified DB Home versions Validate patching locks Success Validated patching locks
Success on all the pre-checked elements is not a patching guarantee: as for each patch you’ll need to manually remove extra rpms and unsupported configurations, like public yum repository (all the package updates have to be done through ODA patches only).
5) Update the dcs-agent
It seems that it’s no more mandatory to update the dcs-agent before patching the server, it will probably be updated in the same time, but if you want it’s still working:
/opt/oracle/dcs/bin/odacli update-dcsagent -v 18.3.0.0.0 odacli update-dcsagent -v 18.3.0.0.0 { "jobId" : "5cd58876-3db5-48d5-880e-2ce934545d2f", "status" : "Created", "message" : "Dcs agent will be restarted after the update. Please wait for 2-3 mins before executing the other commands", "reports" : [ ], "createTimestamp" : "March 07, 2019 13:35:12 PM CET", "resourceList" : [ ], "description" : "DcsAgent patching", "updatedTime" : "March 07, 2019 13:35:12 PM CET" } odacli list-jobs | head -n 3; odacli list-jobs | tail -n 2 ID Description Created Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- 5cd58876-3db5-48d5-880e-2ce934545d2f DcsAgent patching March 7, 2019 1:35:12 PM CET Success
6) Update the server
Updating the server is the biggest and longest part of the patch, make sure that everything is OK before patching.
odacli update-server -v 18.3.0.0.0 odacli describe-job -i "3a568fb1-8517-405f-9a60-0a1ee285e1ff" Job details ---------------------------------------------------------------- ID: 3a568fb1-8517-405f-9a60-0a1ee285e1ff Description: Server Patching Status: Running Created: March 7, 2019 4:48:32 PM CET Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Patch location validation March 7, 2019 4:48:32 PM CET March 7, 2019 4:48:32 PM CET Success dcs-controller upgrade March 7, 2019 4:48:32 PM CET March 7, 2019 4:48:32 PM CET Success Patch location validation March 7, 2019 4:48:32 PM CET March 7, 2019 4:48:32 PM CET Success dcs-cli upgrade March 7, 2019 4:48:33 PM CET March 7, 2019 4:48:33 PM CET Success Creating repositories using yum March 7, 2019 4:48:33 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Creating repositories using yum March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:38 PM CET Success Updating YumPluginVersionLock rpm March 7, 2019 4:48:38 PM CET March 7, 2019 4:48:39 PM CET Success Applying OS Patches March 7, 2019 4:48:39 PM CET March 7, 2019 4:51:31 PM CET Success Creating repositories using yum March 7, 2019 4:51:31 PM CET March 7, 2019 4:51:32 PM CET Success Applying HMP Patches March 7, 2019 4:51:32 PM CET March 7, 2019 4:51:32 PM CET Success Patch location validation March 7, 2019 4:51:32 PM CET March 7, 2019 4:51:32 PM CET Success oda-hw-mgmt upgrade March 7, 2019 4:51:33 PM CET March 7, 2019 4:51:33 PM CET Success Applying Firmware Disk Patches March 7, 2019 4:51:33 PM CET March 7, 2019 4:51:51 PM CET Success Applying Firmware Expander Patches March 7, 2019 4:51:51 PM CET March 7, 2019 4:52:03 PM CET Success Applying Firmware Controller Patches March 7, 2019 4:52:03 PM CET March 7, 2019 4:52:16 PM CET Success Checking Ilom patch Version March 7, 2019 4:52:17 PM CET March 7, 2019 4:52:19 PM CET Success Patch location validation March 7, 2019 4:52:19 PM CET March 7, 2019 4:52:20 PM CET Success Save password in Wallet March 7, 2019 4:52:21 PM CET March 7, 2019 4:52:21 PM CET Success Apply Ilom patch March 7, 2019 4:52:21 PM CET March 7, 2019 4:52:22 PM CET Success Copying Flash Bios to Temp location March 7, 2019 4:52:22 PM CET March 7, 2019 4:52:22 PM CET Success Starting the clusterware March 7, 2019 4:52:22 PM CET March 7, 2019 4:52:22 PM CET Success Creating GI home directories March 7, 2019 4:52:22 PM CET March 7, 2019 4:52:22 PM CET Success Cloning Gi home March 7, 2019 4:52:22 PM CET March 7, 2019 4:54:55 PM CET Success Configuring GI March 7, 2019 4:54:55 PM CET March 7, 2019 4:55:54 PM CET Success Running GI upgrade root scripts March 7, 2019 4:55:54 PM CET March 7, 2019 5:08:19 PM CET Failure
Bad news, GI upgrade failed in my case. Hopefully it’s possible to relaunch the patching and it will skip the already patched components. But another attempt failed 2 steps before (Cloning the Gi home: for sure GI home is already deployed on disk).
Actually if you already patched your ODA with the previous release, there is a bug with this previous patch:
ODA GI Patching from 12.2 to 18.3 Failed, CLSRSC-697: Failed to get the value of environment variable ‘TZ’ from the environment file (Doc ID 2502972.1)
An XML file incorrectly describing the previous Grid Infrastructure home needs to be deleted before applying this newest patch:
cat '/u01/app/grid/crsdata/@global/crsconfig/ckptGridHA_global.xml' | grep 12 <PROPERTY NAME="VERSION" TYPE="STRING" VAL="12.2.0.1.0"/> <PROPERTY NAME="OLD_CRS_HOME" TYPE="STRING" VAL="/u01/app/12.1.0.2/grid"/> <PROPERTY NAME="OLD_CRS_VERSION" TYPE="STRING" VAL="12.1.0.2.0"/> <PROPERTY NAME="MANUAL_BACKUP_FILE_NAME" TYPE="STRING" VAL="+DATA:/dbi02-c/OCRBACKUP/dbi02-c_backup12.1.0.2.0.ocr.261.987245221"/> rm '/u01/app/grid/crsdata/@global/crsconfig/ckptGridHA_global.xml'
Before running the patch again, cloned GI home needs to be deleted and its reference in the oraInventory needs to be removed:
vi /u01/app/oraInventory/ContentsXML/inventory.xml Delete this line ==> <HOME NAME="OraGrid180" LOC="/u01/app/18.0.0.0/grid" TYPE="O" IDX="7" CRS="true"/> rm -rf /u01/app/18.0.0.0
Now the patching will work:
odacli update-server -v 18.3.0.0.0 odacli describe-job -i "3a568fb1-8517-405f-9a60-0a1ee285e1ff" Job details ---------------------------------------------------------------- ID: 3a568fb1-8517-405f-9a60-0a1ee285e1ff Description: Server Patching Status: Success Created: March 7, 2019 5:48:32 PM CET Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Patch location validation March 7, 2019 5:48:32 PM CET March 7, 2019 5:48:32 PM CET Success dcs-controller upgrade March 7, 2019 5:48:32 PM CET March 7, 2019 5:48:32 PM CET Success Patch location validation March 7, 2019 5:48:32 PM CET March 7, 2019 5:48:32 PM CET Success dcs-cli upgrade March 7, 2019 5:48:33 PM CET March 7, 2019 5:48:33 PM CET Success Creating repositories using yum March 7, 2019 5:48:33 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Creating repositories using yum March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:38 PM CET Success Updating YumPluginVersionLock rpm March 7, 2019 5:48:38 PM CET March 7, 2019 5:48:39 PM CET Success Applying OS Patches March 7, 2019 5:48:39 PM CET March 7, 2019 5:51:31 PM CET Success Creating repositories using yum March 7, 2019 5:51:31 PM CET March 7, 2019 5:51:32 PM CET Success Applying HMP Patches March 7, 2019 5:51:32 PM CET March 7, 2019 5:51:32 PM CET Success Patch location validation March 7, 2019 5:51:32 PM CET March 7, 2019 5:51:32 PM CET Success oda-hw-mgmt upgrade March 7, 2019 5:51:33 PM CET March 7, 2019 5:51:33 PM CET Success Applying Firmware Disk Patches March 7, 2019 5:51:33 PM CET March 7, 2019 5:51:51 PM CET Success Applying Firmware Expander Patches March 7, 2019 5:51:51 PM CET March 7, 2019 5:52:03 PM CET Success Applying Firmware Controller Patches March 7, 2019 5:52:03 PM CET March 7, 2019 5:52:16 PM CET Success Checking Ilom patch Version March 7, 2019 5:52:17 PM CET March 7, 2019 5:52:19 PM CET Success Patch location validation March 7, 2019 5:52:19 PM CET March 7, 2019 5:52:20 PM CET Success Save password in Wallet March 7, 2019 5:52:21 PM CET March 7, 2019 5:52:21 PM CET Success Apply Ilom patch March 7, 2019 5:52:21 PM CET March 7, 2019 5:52:22 PM CET Success Copying Flash Bios to Temp location March 7, 2019 5:52:22 PM CET March 7, 2019 5:52:22 PM CET Success Starting the clusterware March 7, 2019 5:52:22 PM CET March 7, 2019 5:52:22 PM CET Success Creating GI home directories March 7, 2019 5:52:22 PM CET March 7, 2019 5:52:22 PM CET Success Cloning Gi home March 7, 2019 5:52:22 PM CET March 7, 2019 5:54:55 PM CET Success Configuring GI March 7, 2019 5:54:55 PM CET March 7, 2019 5:55:54 PM CET Success Running GI upgrade root scripts March 7, 2019 5:55:54 PM CET March 7, 2019 6:08:19 PM CET Success Resetting DG compatibility March 7, 2019 6:08:19 PM CET March 7, 2019 6:08:29 PM CET Success Running GI config assistants March 7, 2019 6:08:29 PM CET March 7, 2019 6:11:50 PM CET Success restart oakd March 7, 2019 6:11:53 PM CET March 7, 2019 6:12:03 PM CET Success Updating GiHome version March 7, 2019 6:12:03 PM CET March 7, 2019 6:12:09 PM CET Success Setting AUDIT SYSLOG LEVEL March 7, 2019 6:12:30 PM CET March 7, 2019 6:14:55 PM CET Success Update System version March 7, 2019 6:14:55 PM CET March 7, 2019 6:14:55 PM CET Success preRebootNode Actions March 7, 2019 6:14:55 PM CET March 7, 2019 6:15:37 PM CET Success Reboot Ilom March 7, 2019 6:15:37 PM CET March 7, 2019 6:15:37 PM CET Success
Once this part of the patch is successfully applied, let the server reboot automatically 5 minutes after and then check again the components:
odacli describe-component System Version --------------- 18.3.0.0.0 Component Installed Version Available Version ---------------------------------------- -------------------- -------------------- OAK 18.3.0.0.0 up-to-date GI 18.3.0.0.180717 up-to-date DB 12.1.0.2.180417 12.1.0.2.180717 DCSAGENT 18.3.0.0.0 up-to-date ILOM 4.0.4.22.r126940 up-to-date BIOS 38110100 up-to-date OS 6.10 up-to-date FIRMWARECONTROLLER { [ c2 ] 4.650.00-7176 up-to-date [ c0,c1 ] KPYAGR3Q kpyair3q } FIRMWAREDISK 0R3Q up-to-date
7) Patch the storage
You now need to patch the storage, understand firmware of data disks:
odacli update-storage -v 18.3.0.0.0 { "jobId" : "38a779cf-ac6c-4514-a838-f5cd1bec637c", "status" : "Created", "message" : "Success of Storage Update may trigger reboot of node after 4-5 minutes. Please wait till node restart", "reports" : [ ], "createTimestamp" : "March 07, 2019 17:28:34 PM CET", "resourceList" : [ ], "description" : "Storage Firmware Patching", "updatedTime" : "March 07, 2019 17:28:35 PM CET" } odacli describe-job -i "38a779cf-ac6c-4514-a838-f5cd1bec637c" Job details ---------------------------------------------------------------- ID: 38a779cf-ac6c-4514-a838-f5cd1bec637c Description: Storage Firmware Patching Status: Success Created: March 7, 2019 5:28:34 PM CET Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Applying Firmware Disk Patches March 7, 2019 5:28:35 PM CET March 7, 2019 5:28:49 PM CET Success Applying Firmware Controller Patches March 7, 2019 5:28:49 PM CET March 7, 2019 5:33:02 PM CET Success preRebootNode Actions March 7, 2019 5:33:02 PM CET March 7, 2019 5:33:02 PM CET Success Reboot Ilom March 7, 2019 5:33:02 PM CET March 7, 2019 5:33:02 PM CET Success odacli describe-component System Version --------------- 18.3.0.0.0 Component Installed Version Available Version ---------------------------------------- -------------------- -------------------- OAK 18.3.0.0.0 up-to-date GI 18.3.0.0.180717 up-to-date DB 12.1.0.2.180417 12.1.0.2.180717 DCSAGENT 18.3.0.0.0 up-to-date ILOM 4.0.4.22.r126940 up-to-date BIOS 38110100 up-to-date OS 6.10 up-to-date FIRMWARECONTROLLER { [ c2 ] 4.650.00-7176 up-to-date [ c0,c1 ] KPYAIR3Q up-to-date } FIRMWAREDISK 0R3Q up-to-date
The server will also reboot after this update.
8) Patch the dbhomes
You now need to patch the dbhomes separately. First of all, list them:
odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ----------------- ------------------------------------------- ---------- 2c28acde-f041-4283-b984-fe6b73dd724d OraDB12102_home2 12.1.0.2.180417 /u01/app/oracle/product/12.1.0.2/dbhome_2 Configured ebac9543-337b-4edd-8e00-d593abd52ca6 OraDB12102_home10 12.1.0.2.180417 /u01/app/oracle/product/12.1.0.2/dbhome_10 Configured 0ab15f33-e1b7-4193-a110-fa4aee01cc21 OraDB12102_home21 12.1.0.2.180417 /u01/app/oracle/product/12.1.0.2/dbhome_21 Configured
Patch the dbhomes one by one. Target version is actually version of the patch. Remember that updating the ODA through a patch will never upgrade your database to a newer release. Only the PSU number will change (the fifth number which is actually a date).
odacli update-dbhome -i 2c28acde-f041-4283-b984-fe6b73dd724d -v 18.3.0.0.0 { "jobId" : "bc3e5564-7283-4497-ac70-9e41c834183d", "status" : "Created", "message" : null, "reports" : [ ], "createTimestamp" : "March 07, 2019 17:45:46 PM CET", "resourceList" : [ ], "description" : "DB Home Patching: Home Id is 2c28acde-f041-4283-b984-fe6b73dd724d", "updatedTime" : "March 07, 2019 17:45:46 PM CET" } odacli describe-job -i "bc3e5564-7283-4497-ac70-9e41c834183d" Job details ---------------------------------------------------------------- ID: bc3e5564-7283-4497-ac70-9e41c834183d Description: DB Home Patching: Home Id is 2c28acde-f041-4283-b984-fe6b73dd724d Status: Success Created: March 7, 2019 5:45:46 PM CET Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- clusterware patch verification March 7, 2019 5:45:47 PM CET March 7, 2019 5:45:52 PM CET Success Patch location validation March 7, 2019 5:45:52 PM CET March 7, 2019 5:46:03 PM CET Success Opatch updation March 7, 2019 5:48:05 PM CET March 7, 2019 5:48:09 PM CET Success Patch conflict check March 7, 2019 5:48:09 PM CET March 7, 2019 5:49:45 PM CET Success db upgrade March 7, 2019 5:49:45 PM CET March 7, 2019 5:55:04 PM CET Success SqlPatch upgrade March 7, 2019 5:55:04 PM CET March 7, 2019 5:55:48 PM CET Success Update System version March 7, 2019 5:55:48 PM CET March 7, 2019 5:55:48 PM CET Success updating the Database version March 7, 2019 5:55:51 PM CET March 7, 2019 5:55:54 PM CET Success ... odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ----------------- ------------------------------------------ ---------- 2c28acde-f041-4283-b984-fe6b73dd724d OraDB12102_home2 12.1.0.2.180717 /u01/app/oracle/product/12.1.0.2/dbhome_2 Configured ebac9543-337b-4edd-8e00-d593abd52ca6 OraDB12102_home10 12.1.0.2.180717 /u01/app/oracle/product/12.1.0.2/dbhome_10 Configured 0ab15f33-e1b7-4193-a110-fa4aee01cc21 OraDB12102_home21 12.1.0.2.180717 /u01/app/oracle/product/12.1.0.2/dbhome_21 Configured
9) Optional: deploy the latest db clone files
If you’ll never deploy a new dbhome this is not necessary. If you will, or simply if you don’t know if you’ll have to do that later, download and register the new db clone files in the repository to be able to create a new dbhome at the same patch level than the one already deployed. With this release, you can choose dbhome from various versions: 11gR2, 12cR1, 12cR2 and 18c.
10) Control the final version of the components
Now the patching is done. ±2.5 hours were needed, if everything is running fine.
oodacli describe-component System Version --------------- 18.3.0.0.0 Component Installed Version Available Version ---------------------------------------- -------------------- -------------------- OAK 18.3.0.0.0 up-to-date GI 18.3.0.0.180717 up-to-date DB 12.1.0.2.180717 up-to-date DCSAGENT 18.3.0.0.0 up-to-date ILOM 4.0.4.22.r126940 up-to-date BIOS 38110100 up-to-date OS 6.10 up-to-date FIRMWARECONTROLLER { [ c2 ] 4.650.00-7176 up-to-date [ c0,c1 ] KPYAIR3Q up-to-date } FIRMWAREDISK 0R3Q up-to-date
11) Latest steps
Don’t forget to remove the patch files and the unzipped files too and check the remaining space on your local disks. Remember to keep your ODA clean and up-to-date.