Deploying the Oracle Memory Speed File System
About Oracle Memory Speed
Oracle Memory Speed (OMS) is a user-space file system recommended for safely using persistent memory (PMEM) with single-instance Oracle Database. It uses memory-mapped files on XFS DAX-enabled storage to provide near-hardware I/O performance while preventing corruption risks associated with direct DAX file access. OMS supports database control, redo, data, and temporary files; reduces context switches, copies, TLB misses, and cache overhead; leverages HugePages and non-temporal stores; permits file inspection while the database is stopped; and provides diagnostic capabilities.
Read More: About Oracle Memory Speed
Requirements and Guidelines for Oracle Memory Speed
OMS requires an Intel Cascade Lake, Ice Lake, or later server, PMEM devices with socket-level memory interleaving, Oracle Linux with HugePages support beginning with UEK5, and a DAX-capable file system such as XFS. Oracle supports OMS only for single-instance databases and recommends Oracle Data Guard to protect against primary-instance failures through standby failover.
Read More: Requirements and Guidelines for Oracle Memory Speed
Setting-Up Hardware and Operating System Components for OMS
Preparing OMS involves verifying HugePages support, configuring PMEM in BIOS App Direct mode, managing regions and namespaces with ipmctl and ndctl, confirming 2 MiB alignment, and partitioning each device into metadata and data areas. Create XFS with 2 MiB real-time extents, mount it with DAX, verify the mount, and create appropriately sized, 2 MiB-aligned OMS uber files owned by the Oracle software user. Each uber file represents an OMS storage volume and must be associated with an Oracle instance through its SID.
Read More: Setting-Up Hardware and Operating System Components for OMS
Setting-Up the Oracle Memory Speed File System
Start one OMS daemon per database instance with the appropriate ORACLE_SID; it creates the shared memory segment, configuration file, and diagnostic traces required by OMS and should not be manually removed or edited. Use omsfscmds to format uber files with the supported 4 KB block size and mount them on protected directories. OMS supports up to two simultaneous file systems, typically corresponding to PMEM devices on two sockets, and automatically remounts them after daemon restart and node reboot.
Read More: Setting-Up the Oracle Memory Speed File System
Deploying Oracle Database with Oracle Memory Speed
Enable OMS by building the Oracle Disk Manager library with oms_on, then confirm operation through the alert log message identifying OMS as the ODM implementation; disable it with oms_off when required. For performance validation, trace DAX faults and confirm 2 MiB HugePages mappings that bypass the page cache; a FALLBACK trace indicates unsuitable 4 KB handling and the system must not run OMS workloads. Disable tracing before production use because it significantly affects performance.
Read More: Deploying Oracle Database with Oracle Memory Speed
Migrating Oracle Database to Oracle Memory Speed
Database migration to OMS, supported from Oracle Database 19c Release Update 19.12, requires creating and mounting OMS storage, starting its daemon, enabling the OMS ODM library, and configuring Oracle Managed Files and redo destinations as needed. Individual data files can be moved with SQL, redo members can be replaced after adding OMS-based members and ensuring old logs are inactive, and entire databases can be migrated with RMAN backup-as-copy, SPFILE and control-file relocation, database switching, recovery, and optional restoration of Flashback or change tracking. Temporary files require separate drop-and-recreate operations, while standby recovery must be managed appropriately during migration.
Read More: Migrating Oracle Database to Oracle Memory Speed
omsfscmds Command Reference
omsfscmds is the OMS command-line utility and requires a running OMS daemon with a matching database SID. It provides commands to format or force-format devices, mount and unmount file systems, list mounts, inspect space and files, copy or remove files, navigate directories, generate diagnostic dumps, enable tracing, control daemon trace levels, and exit the utility. The primary syntax uses PMEM uber files as devices and OMS mount paths as destinations.
Read More: omsfscmds Command Reference