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.