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.1

ASMLIB is updated to version 3.1. The following notable changes are included:

  • ASMLIB can use end-to-end data integrity protection when running on UEK R8 or later. This feature adds a layer of protection against data corruption by attaching integrity metadata to each I/O. The attached integrity metadata can be validated by I/O controller and storage device on write operations, and by ASM on read operations.

    End-to-end data integrity protection requires ASM disks to be placed on storage devices formatted with the T10 Protection Information, Type 1. Associated SCSI storage controllers must support DIX. NVMe storage controllers must support the separate metadata buffer feature.

  • ASM can now select whether to use the logical or the physical block size on a per-I/O basis. This feature makes it possible for ASM to migrate or access disks that were originally configured using different block sizes. In earlier releases, the block size selection was global and applied to all disks on a system.

    To use per-I/O block size selection, the ORACLEASM_USE_LOGICAL_BLOCK_SIZE configuration option must be set to false and the Oracle Database must be patched to implement the per-I/O block size capability. See Known Issues.

  • Unmap support is included, making it possible to reclaim unused disk space on thin-provisioned storage devices. This capability requires KABI_V3 (UEK R7 or later). Use oracleasm querydisk -i or oracleasm discover -l to query whether an ASM disk supports thin provisioning.

  • When using KABI_V3 (UEK R7 or later) a universally unique identifier (UUID) is reported for those SCSI and NVMe storage devices that support it. Use oracleasm querydisk -i or oracleasm discover -l to get the UUID that uniquely identifies a storage device to ASM across all nodes in a cluster.

Release Notes for oracleasm-support 3.1

The following notable changes are included in oracleasm-support version 3.1:

  • Disk labeling operations now inhibit writing ASM disks that are marked as being members of an ASM disk group. This is done to prevent inadvertently deleting or renaming ASM disks that are actively in use by other nodes in a cluster.

  • Checks were added to the oracleasm status command to validate that the oracleasm service is fully operational. The checks include verifying that ASMLIB is installed and that the io_uring interface is accessible to the configured ORACLEASM_UID/ORACLEASM_GID.

  • The -i option is added to the oracleasm querydisk command to print detailed information about the specified ASM disk.

    The -l option is added to the oracleasm discover command to print detailed information about all ASM disks attached to the system.

    The detailed information printed in each case includes device node, disk UUID, ASM disk group name, disk size, logical and physical block sizes, maximum I/O size, and whether the disk supports end-to-end data integrity and thin provisioning. Note that some information is only available when using KABI_V3 interface (UEK R7 or later).

Known Issues

  • The following Oracle Database patches must be installed to support mounting and migration of disks created using different ASM block sizes:
    • Patch 37347369 - VOTING DISK CREATED WITH AFD ON 512E DISK IN PAST DOES NOT WORK WITH ASMLIB

    • Patch 37230154 - ASMCMD AFD_DECONFIGURE FAILS TO DELETE AFD RESOURCE

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.