Consultas ultrarrápidas con Memoptimized Rowstore de Oracle

    Publicado 23. febrero 2021

    Actualizado en octubre de 2025


    Introducción

    Con esta versión, nuestras herramientas Oracle ahora son compatibles con la función memoptimized rowstore de Oracle (introducida en 18c). Memoptimized rowstore permite búsquedas con latencia ultrabaja en tablas que se consultan principalmente por sus claves primarias. Esto resulta especialmente útil para escenarios de alto rendimiento, como las cargas de trabajo de IoT.

    Actualmente, esta función solo está disponible en Exadata y Oracle Cloud Enterprise Edition Extreme Performance. Para obtener más información sobre las licencias, consulte la documentación de Oracle.


    Habilitación de la función: primero realice una copia de seguridad

    Antes de activar nada, haga siempre una copia de seguridad de los parámetros de la base de datos:

    • Los parámetros SPFile se almacenan en un SPFile binario

    • Para editarlos de forma segura, cree un PFile (versión de texto) como copia de seguridad

    Hora facilita este proceso. Inicie sesión como SYS en el contenedor ROOT y, a continuación, abra la página Database | SGA. La cuadrícula inferior muestra los parámetros relacionados con la memoria.

    How to backup your SPFILE using the context menu on Hora's SGA page

    Cómo hacer una copia de seguridad de su SPFILE utilizando el menú contextual de la página SGA de Hora

    Para realizar una copia de seguridad:

    1. Haga clic con el botón derecho en la cuadrícula de parámetros → «Backup SPFile to PFile» (Hacer copia de seguridad de SPFile en PFile).

    2. Aparecerá un cuadro de diálogo (nombre del SPFile de solo lectura; destino del PFile editable)

    3. Confirme la creación

    Create PFILE from SPFILE dialog

    Cuadro de diálogo Crear PFILE a partir de SPFILE

      CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

    Ahora dispone de un PFile editable al que puede recurrir en caso de emergencia.


    Activación de Memoptimized Rowstore

    A continuación, busque elmemoptimize_pool_sizeparámetro en la misma cuadrícula:

    1. Haga clic con el botón derecho → «Modificar parámetro del sistema»

    2. Introduzca un tamaño (por ejemplo 100M)

    3. Establezca el ámbito en spfile

    4. Opcionalmente, incluya un comentario

    5. Confirme el cambio

    Altering memoptimize_pool_size system parameter in Hora

    Modificación del parámetro del sistema memoptimize_pool_size en Hora

    Si la base de datos no cumple los requisitos (tal y como se indica en la guía de licencias de Oracle), es posible que el inicio falle. Es posible que aparezca un error como el siguiente:

      ORA-12754: Feature 'Memoptimized Rowstore' is disabled due to missing capability 'Runtime Environment'.

    En ese caso:

    • Utilice su PFile guardado para eliminar el memoptimized_pool_size línea

    • Inicie la base de datos utilizando el PFile:

      CONNECT SYS AS SYSDBA
    STARTUP PFILE=/path/to/PFILE.ldf

    Verificación del estado de las columnas en Hora

    Una vez que la base de datos esté en funcionamiento:

    1. Inicie sesión como el esquema propietario

    2. Abra la página Tablas

    3. La cuadrícula de datos muestra ahora dos nuevas columnas: Memoptimize Read y Memoptimize Write
      Estas indican el estado de cada tabla.

    Mem-optimize for read and write options in Hora

    Opciones de optimización de memoria para lectura y escritura en Hora

    Puede habilitar o deshabilitar estas opciones:

    • Haga clic con el botón derecho en una tabla

    • Seleccione «Mem-Optimize Table …» (Optimizar tabla de memoria…).

    • La ventana emergente le permite alternar entre la configuración de lectura o escritura

    Una vez habilitado, debe rellenar la tabla mediante:

      DBMS_MEMOPTIMIZE.POPULATE();

    Nota: En Reverse DB, KeepTool incluirá automáticamente las ALTER TABLE las sentencias en el script DDL generado después de las restricciones, de modo que la clave principal de la tabla ya esté en su lugar.


    Reflexiones finales

    El almacén de filas optimizado para memoria proporciona una forma potente de acelerar las búsquedas de claves primarias con una latencia mínima.
    A través de Hora y las herramientas de KeepTool, habilitar, supervisar y gestionar esta función resulta muy intuitivo.

    Si trabaja con patrones de acceso de alta frecuencia o arquitecturas de microservicios, esta función podría suponer un gran cambio.


    ➡️ Pruebe KeepTool gratis

    Las herramientas Oracle de KeepTool están diseñadas específicamente para desarrolladores, administradores de bases de datos (DBA) y equipos de soporte. Con más de 25 años de experiencia, optimizamos continuamente nuestro software para que el análisis y la documentación de sus bases de datos sean más rápidos, eficientes y claros.