1 About Oracle ASMLIB

Oracle ASMLIB is an optional support library for the Automatic Storage Management feature of the Oracle Database. Automatic Storage Management (ASM) simplifies database administration and reduces kernel resource usage, such as the number of open file descriptors. ASM eliminates the need for the DBA to directly manage many Oracle database files, requiring only the management of groups of disks allocated to the Oracle Database. ASMLIB can make an Oracle Database using ASM more efficient and capable of accessing the disk groups it's using.

Further technical information about Oracle ASMLIB can be found at the following resources:

Release Notes for Oracle ASMLIB 3.0

Previous releases of Oracle ASMLIB supported several versions of interfaces implemented by the oracleasm driver over the years. The library picked the correct interface based on the oracleasm version reported by the kernel at runtime. Therefore, a single library binary could be used with various kernel releases.

Starting with ASMLIB version 3.0, another I/O submission interface is added to the library. The new I/O submission interface takes advantage of the high performance io_uring interface available in modern Linux kernels. If ASMLIB version 3.0 is loaded on a system that doesn't have an oracleasm driver loaded, is running a kernel that has io_uring enabled, and that supports a recent enough version of io_uring, the io_uring interface is used to submit I/O to the kernel instead of oracleasm.

The single ASMLIB version 3.0 binary handles all previous I/O submission interface versions in addition to io_uring and therefore no configuration changes are required when switching between kernels that don't have io_uring enabled and those that do.

The library automatically uses the appropriate interface for the running kernel.

Known Issues

  • Data integrity passthrough not supported with the io_uring interface.

    Data integrity passthrough isn't supported when using the io_uring interface, because of a kernel limitation. This issue might be resolved in a later kernel version.

    Note that this limitation doesn't apply when running ASMLIB version 3.0 with the oracleasm driver on UEK R6.

  • ASMLIB version 3.0 for Arm is only supported with Oracle Database 19c

Release Notes for oracleasm-support 3.0

The oracleasm-support package has been enhanced to work with version 3.0 of ASMLIB, which uses the generic io_uring interface to manage ASM disks on kernels that include this functionality. The updated oracleasm-support package continues to work with older kernels with backward compatibility. The command syntax remains the same irrespective of the kernel that's running.

On systems running UEK R7 or Oracle Linux 9 with RHCK, oracleasm-support automatically adds an I/O filter to protect ASM disks against accidental overwrites. The filter rejects any write operations that aren't started by ASM and prevents writes to ASM disks by admin commands such as dd after disks have been instantiated. No new user level commands are required to manage the I/O filter map. If a disk device is found to have a valid ASM disk label, a filter map entry is automatically added.

The oracleasm configuration has a new parameter ORACLEASM_CONFIG_MAX_DISKS, which specifies the maximum number of ASM disks that can be used in the system. This parameter is used to calculate the size of I/O filter map.

I/O filtering depends on BPF (Berkeley Packet Filter) functionality within the kernel.

Known Issues

  • oracleasm-support-3.0.0-7 or later required for use with Oracle ASM Dynamic Volume Manager (Oracle ADVM)

    You must install the oracleasm-support-3.0.0-7 or later to use ASMLIB with Oracle ADVM on UEK R7 or later.

    Patch 37405185 - ADD SUPPORT FOR ASMLIB V3 IN ADVM is also required in the Oracle Clusterware home directory.