If you’ve ever patched or deployed software on Oracle Database Appliance (ODA), you’ve probably seen /opt running dangerously low on space. Between patch repositories, Grid homes, logs, and DCS data, /opt and /u01 mount points tend to fill up fast. In this post, we’ll walk through how to extend the /opt file system on ODA using odacli.
Before ODA 19.27, to extend /opt or /u01 meant jumping into Logical Volume Manager with lvextend and resize2fs — not something most of us enjoy doing on a production appliance. Starting with ODA 19.27, life is much easier with odacli extend-localvolume
ODA Local Volumes
ODA’s OS disks are configured as a RAID1 mirror, from which a volume group named VolGroupSys is created. Inside that VG, ODA initializes several logical volumes, each mapped to a key mount point:
You can read about the details in Oracle documentation. However the two volumes of interst to us are
| Logical Volume | Mount Point | Filesystem | Typical Size | Purpose |
|---|---|---|---|---|
LogVolU01 | /u01 | ext4 | ~60 GB | Grid Home and Diagnostic logs |
LogVolOpt | /opt | ext4 | ~30 GB | Patching and DCS logs |
Steps to extend /opt or /u01
Step 1: Check the Current Layout
Before making any changes, always take a look at how your local storage is structured. The “Space for extension” line (89 GB here) shows how much can be safely allocated to local volumes without affecting ODABR backup requirements during patching.
# odacli list-localvolumes
Local Disk and Volume details
----------------------------------------------------------------------
Node
--------------------------
host
Physical Volume details
--------------------------
Volume Size: 446.1 GB
Free Space: 300.1 GB
ODABR requirement: 120.0 GB
Space for extension: 89.0 GB
Logical Volume details
--------------------------
Volume Name Path FS Type Mounted on Size Used
--------------- ----------------------------------- -------- ------------ ---------- ----------
LOGVOLOPT /dev/mapper/VolGroupSys-LogVolOpt ext4 /opt 30.0 GB 22.3 GB
LOGVOLROOT /dev/mapper/VolGroupSys-LogVolRoot ext4 / 30.0 GB 4.0 GB
LOGVOLU01 /dev/mapper/VolGroupSys-LogVolU01 ext4 /u01 60.0 GB 25.2 GB
LOGVOLDATA /dev/mapper/VolGroupSys-LogVolDATA N/A N/A 1.0 GB
LOGVOLRECO /dev/mapper/VolGroupSys-LogVolRECO N/A N/A 1.0 GB
LOGVOLSWAP /dev/mapper/VolGroupSys-LogVolSwap N/A N/A 24.0 GB
Step 2: Validate Free Space at the LVM Level
Before making any changes, always take a look at how your local storage is structured. These commands show the total physical size and individual logical volume details
# pvs
PV VG Fmt Attr PSize PFree
/dev/md126p3 VolGroupSys lvm2 a-- 446.09g 300.09g
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
LogVolDATA VolGroupSys -wi-ao---- 1.00g
LogVolOpt VolGroupSys -wi-ao---- 30.00g
LogVolRECO VolGroupSys -wi-ao---- 1.00g
LogVolRoot VolGroupSys -wi-ao---- 30.00g
LogVolSwap VolGroupSys -wi-ao---- 24.00g
LogVolU01 VolGroupSys -wi-ao---- 60.00g
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 60G 25G 35G 42% /u01
Step 3 Extend /opt or /u01
However before you extend please note the following
- You can only extend, not shrink. Plan ahead — extensions are permanent.
- Leave headroom for ODABR backup (ODA reserves space for rollback/patching).
- Always check both
odacli list-localvolumesandpvsbefore extending. - If
Space for extensionis 0, add more storage before retrying.
To increase the /u01 filesystem by 10 GB (from 60 to 70 GB) rune the below command where -is is the increment size and -name is the name of the local volume: logvolopt or logvolu01.
odacli extend-localvolume --name LogVolU01 --size 10
This will create a job which can be monitored via
odacli describe-job <job_id>
Incase you want to see what odacli is actually doing review the dcs logs under /opt/oracle/dcs/log. Once successful validate the space
df -h /u01
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroupSys-LogVolU01 70G 25G 45G 36% /u01
[root@host ~]# odacli list-localvolumes
With the addition of odacli extend-localvolume, Oracle has finally given us a clean, auditable way to extend local volumes like /opt and /u01 without touching LVM manually.
After releasing odaconfigcli in 19.26 and now introducing odacli extend-localvolume in 19.27, Oracle is steadily rolling out new features — small but powerful — for ODA administrators. Each one removes a bit more manual effort and adds reliability. Personally, I’m thrilled to see these incremental yet impactful enhancements.
Also incase you are wondering about what is Joel Kallman Day, you will find the details here. Thank you Tim !
Discover more from oratrails-aish
Subscribe to get the latest posts sent to your email.