Migración de planes de ejecución de SQL existentes a una base de datos de IA autónoma para mitigar el riesgo de las regresiones de rendimiento de SQL

Describe cómo reducir el riesgo de regresiones del rendimiento de SQL al migrar a una base de datos de IA autónoma.

Acerca de la migración a una base de datos de IA autónoma con gestión de planes SQL en tiempo real (SPM)

Describe el uso de la gestión de planes SQL en tiempo real al migrar de una base de datos Oracle Database de origen a una base de datos de IA autónoma.

Al migrar de una instancia de Oracle Database de origen a una base de datos de IA autónoma, puede utilizar la gestión de planes SQL (SPM) en tiempo real. Esto le permite capturar los planes de ejecución SQL de la base de datos de origen y moverlos al juego de ajustes SQL automáticos (ASTS) en la base de datos de IA autónoma para que los planes sigan funcionando con el mismo o mejor rendimiento después de la migración. El SPM en tiempo real permite que los planes cambien en la base de datos de IA autónoma, pero si el SPM en tiempo real ve un rendimiento deficiente, puede utilizar un plan que provenga de la base de datos migrada previamente si ese plan proporciona un mejor rendimiento (el SPM en tiempo real utiliza los planes del juego de ajustes SQL automáticos (ASTS) solo si proporcionan un mejor rendimiento).

Tenga en cuenta lo siguiente para utilizar SPM en tiempo real con una migración a la base de datos de IA autónoma:

  • SPM se basa en sentencias SQL repetibles. SPM no es adecuado para bases de datos que utilizan valores literales en sentencias SQL o para SQL que es altamente dinámico, como en entornos de consulta ad hoc. Sin embargo, si las sentencias SQL utilizan valores literales y el parámetro CURSOR_SHARING está definido en FORCE, SPM funcionará.
  • En la instancia de Oracle Database de origen que va a migrar a Autonomous AI Database, captura sentencias SQL de aplicación en un juego de ajustes SQL (SYS_AUTO_SYS). Esto puede consumir espacio en SYSAUX, pero normalmente no consume más de unos pocos gigabytes (incluso para sistemas grandes). Puede supervisar el uso de SYSAUX y aumentar el tamaño del tablespace, si es necesario.
  • El SPM en tiempo real no puede evitar todas las regresiones de rendimiento, pero puede reducir significativamente el riesgo de que se produzcan regresiones de rendimiento debido a los cambios en el plan de ejecución SQL.

Realice los siguientes pasos para activar SQL Plan Management (SPM) en su instancia de Oracle Database de origen y migrar la base de datos a Autonomous AI Database:

  1. Activar juego de ajustes SQL automáticos en Oracle Database de origen

  2. Migra tus datos a una base de datos de IA autónoma

  3. Exportar juego de ajustes SQL automáticos desde Oracle Database de origen

  4. Importar juego de ajustes SQL automáticos a base de datos de IA autónoma

  5. Verificación de la configuración de SPM en tiempo real en la base de datos de IA autónoma

Puede obtener más información en los siguientes enlaces:

Activar juego de ajustes SQL automáticos en Oracle Database de origen

Antes de migrar a Autonomous AI Database, active el juego de ajustes SQL automáticos (ASTS) en la instancia de Oracle Database de origen.

ASTS debe ejecutarse durante el tiempo suficiente para cubrir la carga de trabajo y capturar todas o la mayoría de las sentencias SQL y sus planes de ejecución. Por lo tanto, considere habilitar ASTS con tiempo de espera antes de la migración a la base de datos de IA autónoma. Por ejemplo, para una aplicación financiera o de ventas, capture el procesamiento de fin de mes o de fin de año.

En el origen de Oracle Database, como usuario de DBA, active el juego de ajustes SQL automáticos (ASTS):

  1. En la base de datos que desea migrar, active ASTS.
    BEGIN
      dbms_auto_task_admin.enable(
        client_name => 'Auto STS Capture Task',
        operation   => NULL,
        window_name => NULL);
    END;
    /

    Consulte DBMS_AUTO_TASK_ADMIN para obtener más información.

  2. Verifique que la tarea en segundo plano de ASTS esté activada.
    SELECT task_name, interval,status, last_schedule_time, enabled
        FROM   dba_autotask_schedule_control
        WHERE  dbid = sys_context('userenv','con_dbid') AND 
               task_name = 'Auto STS Capture Task';

Si desea supervisar el SQL que se está capturando, consulte DBA_SQLSET_STATEMENTS. Por ejemplo:

SELECT substr(sql_text,1,100) txt, executions
    FROM dba_sqlset_statements 
    WHERE sqlset_name = 'SYS_AUTO_STS';

Según sea necesario, puede supervisar el tamaño y el espacio libre de SYSAUX. Por ejemplo:

SELECT sum(bytes)/(1024*1024*1024) size_gb
    FROM   dba_data_files
    WHERE tablespace_name = 'SYSAUX' GROUP BY tablespace_name;

SELECT sum(bytes)/(1024*1024*1024) free_gb
    FROM dba_free_space
    WHERE tablespace_name = 'SYSAUX' GROUP BY tablespace_name;

Migra tus datos a una base de datos de IA autónoma

Después de capturar una cantidad suficiente de SQL en Oracle Database de origen con el juego de ajustes SQL automáticos (ASTS) activado, realice la migración a la base de datos de IA autónoma.

Consulte Migración de bases de datos de Oracle a una base de datos de IA autónoma para conocer las opciones para migrar a una base de datos de IA autónoma.

Exportar juego de ajustes SQL automáticos desde Oracle Database de origen

Después de realizar la migración a la base de datos de IA autónoma, exporte el juego de ajustes SQL automáticos (ASTS) desde su Oracle Database de origen.

  1. En Oracle Database de origen, cree y rellene una tabla temporal para los datos de ASTS.

    Como usuario DBA, cree la tabla temporal:

    BEGIN
       dbms_sqlset.create_stgtab('ASTS_TABLE');
       dbms_sqlset.pack_stgtab('SYS_AUTO_STS','SYS','ASTS_TABLE');
    END;
    /

    Una vez finalizada esta operación, la tabla temporal contiene las sentencias SQL que se han capturado en Oracle Database de origen.

  2. Exporte la tabla temporal.

    Por ejemplo, exporte la tabla temporal mediante Oracle Data Pump:

    CREATE DIRECTORY dpdir AS '/export_directory';
    expdp user/password@database tables=asts_table directory=directory dumpfile=filename

Consulte DBMS_SQLSET para obtener más información.

Importar juego de ajustes SQL automáticos a base de datos de IA autónoma

Después de realizar la migración a la base de datos de IA autónoma y de exportar el juego de ajustes SQL automáticos (ASTS) desde la Oracle Database de origen que está migrando, importe la ASTS a su base de datos de IA autónoma.

  1. Importe el archivo temporal a su base de datos de IA autónoma.

    Utilice Oracle Data Pump para importar la tabla temporal a la base de datos de IA autónoma. Cargue primero el archivo de volcado que ha exportado de Oracle Database de origen a un cubo de Cloud Object Storage y, a continuación, importe el archivo de volcado.

    Por ejemplo, mientras el usuario ADMIN ejecuta estos comandos:

    1. Cree la credencial para acceder al cubo del almacén de objetos en la nube.
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'BUCKET_CREDENTIAL',
          username => 'oracleidentitycloudservice/aaaaa@bbbbb.com',
          password => 'password'
        );
      END;
      /
    2. Utilice Oracle Data Pump para importar el archivo de volcado con los datos ASTS a su instancia de base de datos de IA autónoma.
      impdp admin/password@db_adb_high \
           directory=data_pump_dir \
           credential=BUCKET_CREDENTIAL \
           dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/asts_staging.dmp \
           tables=asts_table
    Nota

    Asegúrese de que el archivo de zona horaria de la base de datos de IA autónoma coincida con el valor de la Oracle Database de origen en la que ha creado el archivo de volcado. Si la zona horaria no coincide, la base de datos genera el siguiente error:
    ORA-39002: invalid operation' error raised by dbms_datapump.start_job'

    Consulte Tipos de datos de fecha y hora y soporte de zona horaria y Gestión de actualizaciones de archivos de zona horaria en base de datos de IA autónoma para obtener más información.

  2. En la base de datos de IA autónoma migrada, desempaquete las sentencias SQL de la tabla temporal y cárguelas en el ASTS de destino.
    BEGIN
       dbms_sqlset.unpack_stgtab('SYS_AUTO_STS','SYS',TRUE,'ASTS_TABLE');
    END;
    /

Consulte DBMS_SQLSET para obtener más información.

Verificación de la configuración de SPM en tiempo real en la base de datos de IA autónoma

Describe los pasos para verificar que el SPM en tiempo real esté activado en la base de datos de IA autónoma.

El SPM en tiempo real está activado por defecto en la base de datos de IA autónoma. Puede verificar el modo de SPM en tiempo real de la siguiente manera:

SELECT parameter_value spm_mode  
    FROM   dba_sql_management_config
    WHERE  parameter_name = 'AUTO_SPM_EVOLVE_TASK'; 

El SPM en tiempo real en modo AUTO (automático) indica que el SPM en tiempo real está activado.

Si el SPM en tiempo real no está activado, utilice el siguiente comando para activarlo:

EXEC dbms_spm.configure('AUTO_SPM_EVOLVE_TASK', 'AUTO')