Background
Following the recent announcement by Oracle on the de-support, and deprecation of the Oracle ASM Filter Driver (ASMFD).
See Note: Oracle Automatic Storage Management Filter Driver (ASMFD) (Doc ID 2806979.1)
I am starting to more interest in the use of Oracle ASMLib v3.1 for long term Oracle support, and also for the io_uring, and Thin Provisioning features.
For those, who want to read-up on the Oracle ASMLIB v3.1, I have already written a blog post detailing how to Install, Configure and use Oracle ASMLib v3.1.
When discussing the Oracle ASMLib, one question which I get is around the need of a single partition for Oracle ASMLib v3.1 ?
Both the Oracle Database 19c Configuring Disk Devices to Use Oracle ASMLIB and 23c documentation state:
To include devices in a disk group, you can specify either whole-drive device names or partition device names.
The Oracle documentation also states:
Oracle recommends that you create a single whole-disk partition on each disk to use.
Environment
I have been using the Oracle ASM Filter Drive (ASMFD) with whole-drive device names, no partitions, and this is a still an option for Oracle ASMLib v3.1. However, following Oracle recommendations is strongly advised, so I will migrate to use single whole-disk partitions.
Within my lab, I am presenting multiple 10TB Pure Storage FlashArray volumes to my Oracle Database 19c RAC cluster, with multipath configured on my Oracle Linux 9 database servers.
Check Disk Partition Type
Calling fdisk <device> from the command line we can see the following message: DOS partition table format cannot be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).
Update using fdisk
Fortunately, we can use fdisk <device> to change the Disklabel to GPT, by using g create a new empty GPT partition table, as below.
Update Using parted
Alternatively, using parted <device> print to see the Partition Table setting.
And set Partition using parted <device> mklabel gpt, for example.
# parted /dev/mapper/dg_data08 mklabel gpt
Create Whole-Disk Partition
We can now use fdisk or parted to create a whole-disk partition, for example using parted.
# parted /dev/mapper/dg_data08 mkpart gpt 0% 100%
In this example I can ignore the Information message, as I will be using the disk for Oracle ASM.
Confirm Whole-Disk Partition
Using fdisk -l we can now see the Disklabel type is set to gpt and we have a single whole-disk partition.
And again using parted print
# parted /dev/mapper/dg_data08 print
Using the Linux List Block lsblk command we can see the mpath and partition.
Summary
In this blog I have shared how to create a whole-disk Oracle Linux 9 partition larger than 2TB by using the GUID partition table format (GPT).
If you have Oracle database using whole-devices and want to migrate to whole-partition disks, check-out one of my previous blogs where I show to perform storage migrations using Oracle ASM.

