Introduction
Beginning with Oracle Database Appliance (ODA) 19.11. the ORACLE_BASE and ORACLE_HOMEs are created on ACFS. That’s good news, because there is much more space on ASM than on the internal disks, i.e. no space issues with /u01 anymore. So how does it work?
ORACLE_BASE and ORACLE_HOME on ACFS
When installing an ODA from scratch then ORACLE_BASE and ORACLE_HOME are already on ACFS. See an example of a freshly installed ODA X8-2M:
[[email protected] ~]# odacli list-dbhome-storages ============================================================================================================= ID Node Description Disk Group Volume Size(GB) Status -------------------------------------- ---- -------------------- ---------- ----------- ---------- ---------- 3e5b27c0-f021-4cc8-9c4d-a68362aed23b 0 ORACLE_HOME DATA orahome_sh 30 CONFIGURED a8fa8109-d8ec-4a4c-84f4-53b07661dc0f 0 ORACLE_BASE DATA odabase_n0 10 CONFIGURED =============================================================================================================
If there is no ORACLE_HOME on ACFS (e.g. after upgrading from an earlier version) then you should configure the database-home-storage. I.e. do that after step 14 (update of the storage components) of the upgrade process. In the following example I configure 100GB for my ORACLE_HOMEs on diskgroup DATA:
[[email protected] ~]# odacli configure-dbhome-storage -dg DATA -s 100 DCS-10606:Database homes storage has already been created, no changes are allowed.
The command failed, because a dbhome-storage has already been configured on my machine.
With describe-dbhome-storage you can get more information about the dbhome-storage:
[[email protected] ~]# odacli describe-dbhome-storage -i 3e5b27c0-f021-4cc8-9c4d-a68362aed23b ORACLE_HOME storage details: ================================================================ ID: 3e5b27c0-f021-4cc8-9c4d-a68362aed23b State: CONFIGURED Created: July 29, 2021 9:33:24 AM CEST Updated: July 29, 2021 9:58:33 AM CEST Volume Details -------------- Name: orahome_sh Disk Group: DATA Description: ORACLE_HOME Node Number: 0 Allocated Space: 30.0 GB Used Space: 12.22 GB Free Space: 17.77 GB Location: /u01/app/odaorahome DiskGroup Details ----------------- Name: DATA Allocated Space: 4.65 TB Used Space: 352.31 GB Free Space: 4.31 TB ================================================================ [[email protected] ~]#
The size of the dbhome-storage can be changed with modify-dbhome-storage. E.g. here I resize it to 40GB:
[[email protected] ~]# odacli modify-dbhome-storage -i 3e5b27c0-f021-4cc8-9c4d-a68362aed23b -s 40 { "jobId" : "bec8b73f-5537-4b59-87e9-bb780edf38d1", "status" : "Created", "message" : null, "reports" : [ ], "createTimestamp" : "August 04, 2021 22:26:02 PM CEST", "resourceList" : [ ], "description" : "Modify database home storage", "updatedTime" : "August 04, 2021 22:26:02 PM CEST" } [[email protected] ~]# odacli describe-job -i bec8b73f-5537-4b59-87e9-bb780edf38d1 Job details ---------------------------------------------------------------- ID: bec8b73f-5537-4b59-87e9-bb780edf38d1 Description: Modify database home storage Status: Success Created: August 4, 2021 10:26:02 PM CEST Message: Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- Resizing database home storage August 4, 2021 10:26:02 PM CEST August 4, 2021 10:26:02 PM CEST Success [[email protected] ~]# odacli list-dbhome-storages ============================================================================================================= ID Node Description Disk Group Volume Size(GB) Status -------------------------------------- ---- -------------------- ---------- ----------- ---------- ---------- 3e5b27c0-f021-4cc8-9c4d-a68362aed23b 0 ORACLE_HOME DATA orahome_sh 40 CONFIGURED a8fa8109-d8ec-4a4c-84f4-53b07661dc0f 0 ORACLE_BASE DATA odabase_n0 10 CONFIGURED ============================================================================================================= [[email protected] ~]# odacli describe-dbhome-storage -i 3e5b27c0-f021-4cc8-9c4d-a68362aed23b ORACLE_HOME storage details: ================================================================ ID: 3e5b27c0-f021-4cc8-9c4d-a68362aed23b State: CONFIGURED Created: July 29, 2021 9:33:24 AM CEST Updated: August 4, 2021 10:26:02 PM CEST Volume Details -------------- Name: orahome_sh Disk Group: DATA Description: ORACLE_HOME Node Number: 0 Allocated Space: 40.0 GB Used Space: 12.24 GB Free Space: 27.75 GB Location: /u01/app/odaorahome DiskGroup Details ----------------- Name: DATA Allocated Space: 4.65 TB Used Space: 362.31 GB Free Space: 4.30 TB ================================================================ [[email protected] ~]# df -h /u01/app/odaorahome Filesystem Size Used Avail Use% Mounted on /dev/asm/orahome_sh-250 40G 13G 28G 31% /u01/app/odaorahome [[email protected] ~]#
Creating a new ORACLE_HOME is created on the dbhome-storage on ACFS:
[[email protected] ~]# odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- e36a3f2f-22f8-4ff0-9935-9a4943f51349 OraDB19000_home1 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 CONFIGURED [[email protected] ~]# odacli create-dbhome -v 19.11.0.0.210420 Job details ---------------------------------------------------------------- ID: aac4de69-bfde-496e-ac53-9f02ebcf36c2 Description: Database Home OraDB19000_home2 creation with version :19.11.0.0.210420 Status: Created Created: August 4, 2021 10:29:58 PM CEST Message: Create Database Home Task Name Start Time End Time Status ---------------------------------------- ----------------------------------- ----------------------------------- ---------- [[email protected] ~]# odacli list-dbhomes ID Name DB Version Home Location Status ---------------------------------------- -------------------- ---------------------------------------- --------------------------------------------- ---------- e36a3f2f-22f8-4ff0-9935-9a4943f51349 OraDB19000_home1 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_1 CONFIGURED 9cc87345-67a5-41ae-b7b9-4c0c9f2a8be7 OraDB19000_home2 19.11.0.0.210420 /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 CONFIGURED [[email protected] ~]# odacli describe-dbhome -i 9cc87345-67a5-41ae-b7b9-4c0c9f2a8be7 DB Home details ---------------------------------------------------------------- ID: 9cc87345-67a5-41ae-b7b9-4c0c9f2a8be7 Name: OraDB19000_home2 Version: 19.11.0.0.210420 Home Location: /u01/app/odaorahome/oracle/product/19.0.0.0/dbhome_2 Status: CONFIGURED Created: August 4, 2021 10:29:58 PM CEST Database Edition: SE [[email protected] ~]#
Out of place patching
By having much more space for ORACLE_HOMEs, patching DB-Homes (odacli update-dbhome) is no longer happening in place. I.e. when new RDBMS clone files have been loaded in the repository and you run odacli update-dbhome a new ORACLE_HOME with the new version is created and the databases moved to the new ORACLE_HOME. That makes the whole patching process much more stable, because going back to the previous ORACLE_HOME is possible in case of an error.
Now that were used to the standard /u01/app/oracle/product… (but XE18c is even worse by using /opt/oracle/product)
But in the end it is a good thing not to fill up /u01 with oracle homes.
Thanks for your comment Geert. Yes, we have to get used to new directories, but it’s positive to not fill up /u01 and have a mechnism for out of place patching.
Regards
Clemens
Just in case someone else stumbles on this blog, the “odacli configure-dbhome-storage” doesn’t actually create the ACFS storage volume, etc. It just stores metadata about where/how you want it to create the ACFS storage when you later run a DB home create or patch. The configure-dbhome-storage command will return very quickly and not look like it’s done anything.
Thanks for your comment Jeff. You are correct, the command initially does not create a volume. The first command to create an ORACLE_HOME after the configure-dbhome-storage will then create the volume. The documentation states: “When you run the command to create a new database home, it also creates the volumes to hold the database homes. Till the volumes are created, you can run the odacli configure-dbhome-storage command to change the diskgroup or the inital size of the volume.”
Regards
Clemens