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 tofalse
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
ororacleasm 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
ororacleasm 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 theoracleasm
service is fully operational. The checks include verifying that ASMLIB is installed and that theio_uring
interface is accessible to the configuredORACLEASM_UID
/ORACLEASM_GID
. -
The
-i
option is added to theoracleasm querydisk
command to print detailed information about the specified ASM disk.The
-l
option is added to theoracleasm 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.