Migrer les plans d'exécution SQL existants vers la base de données d'intelligence artificielle autonome pour réduire le risque de régressions de la performance SQL

Décrit comment réduire le risque de régression de la performance SQL lors de la migration vers une base de données d'IA autonome.

À propos de la migration vers une base de données d'intelligence artificielle autonome avec la gestion des plans SQL en temps réel

Décrit l'utilisation de la gestion de plan SQL en temps réel lorsque vous migrez d'une base de données source Oracle Database vers une base de données autonome avec intelligence artificielle.

Lorsque vous migrez d'une base de données source Oracle Database vers Autonomous AI Database, vous pouvez utiliser la gestion de plan SQL en temps réel. Cela vous permet de capturer les plans d'exécution SQL de votre base de données source et de les déplacer dans l'ensemble de réglages SQL automatique (ASTS) de la base de données d'IA autonome afin que les plans continuent de fonctionner avec des performances identiques ou supérieures après la migration. La SPM en temps réel permet de modifier les plans pour Autonomous AI Database, mais si la SPM en temps réel constate des performances médiocres, elle peut utiliser un plan provenant de la base de données pré-migrée si ce plan fournit de meilleures performances (la SPM en temps réel utilise les plans de l'ensemble de réglages SQL automatique (ASTS) uniquement s'ils fournissent de meilleures performances).

Gardez à l'esprit les éléments suivants pour utiliser la gestion du rendement des ventes en temps réel avec une migration vers une base de données d'IA autonome :

  • SPM s'appuie sur des instructions SQL reproductibles. SPM ne convient pas aux bases de données qui utilisent des valeurs littérales dans des énoncés SQL ou pour des énoncés SQL très dynamiques, par exemple dans des environnements d'interrogation ad hoc. Toutefois, si les énoncés SQL utilisent des valeurs littérales et que le paramètre CURSOR_SHARING est réglé à FORCE, SPM fonctionnera.
  • Dans Oracle Database source que vous migrez vers Autonomous AI Database, vous saisissez des énoncés SQL d'application dans un ensemble de réglages SQL (SYS_AUTO_SYS). Cela peut consommer de l'espace dans SYSAUX, mais ne consomme généralement pas plus de quelques gigaoctets (même pour les systèmes volumineux). Vous pouvez surveiller l'utilisation de SYSAUX et augmenter la taille de l'espace-table, si nécessaire.
  • Le SPM en temps réel ne peut pas empêcher toutes les régressions de performances, mais il peut réduire considérablement le risque de régressions de performances dues aux modifications du plan d'exécution SQL.

Effectuez les étapes suivantes pour activer SQL Plan Management (SPM) sur votre base de données Oracle Database source et migrer la base de données vers Autonomous AI Database :

  1. Activer Automatic SQL Tuning Set dans Oracle Database source

  2. Migrer vos données vers une base de données autonome avec intelligence artificielle

  3. Exporter l'ensemble de réglages SQL automatique à partir d'Oracle Database source

  4. Importer l'ensemble de réglages SQL automatique dans Autonomous AI Database

  5. Vérifier votre paramètre de SPM en temps réel pour une base de données autonome basée sur l'IA

Voir ce qui suit pour plus d'informations :

Activer Automatic SQL Tuning Set dans Oracle Database source

Avant de migrer vers Autonomous AI Database, activez Automatic SQL Tuning Set (ASTS) sur votre base de données Oracle Database source.

ASTS doit s'exécuter pendant suffisamment de temps pour couvrir votre charge globale et capturer la totalité ou la plupart des instructions SQL et leurs plans d'exécution. Donc, envisagez d'activer ASTS avec un délai avant la migration vers Autonomous AI Database. Par exemple, pour une application de gestion financière ou de vente, saisissez le traitement de fin de mois ou de fin d'exercice.

Dans Oracle Database source, en tant qu'utilisateur DBA, activez Automatic SQL Tuning Set (ASTS) :

  1. Dans la base de données à migrer, activez ASTS.
    BEGIN
      dbms_auto_task_admin.enable(
        client_name => 'Auto STS Capture Task',
        operation   => NULL,
        window_name => NULL);
    END;
    /

    Pour plus d'informations, voir DBMS_AUTO_TASK_ADMIN.

  2. Vérifiez que la tâche en arrière-plan ASTS est activée.
    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 vous voulez surveiller l'énoncé SQL en cours de saisie, consultez DBA_SQLSET_STATEMENTS. Exemple :

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

Au besoin, vous pouvez surveiller la taille et l'espace libre de SYSAUX. Exemple :

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;

Migrer vos données vers une base de données autonome avec intelligence artificielle

Une fois que vous avez saisi une quantité suffisante d'énoncés SQL dans Oracle Database source avec l'ensemble de réglages SQL automatique (ASTS) activé, effectuez la migration vers la base de données IA autonome.

Voir Migrer des bases de données Oracle vers une base de données d'IA autonome pour des options de migration vers une base de données d'IA autonome.

Exporter l'ensemble de réglages SQL automatique à partir d'Oracle Database source

Après avoir effectué la migration vers Autonomous AI Database, exportez l'ensemble de réglages SQL automatique (ASTS) à partir d'Oracle Database source.

  1. Dans Oracle Database source, créez et alimentez une table intermédiaire pour les données ASTS.

    En tant qu'utilisateur DBA, créez la table intermédiaire :

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

    Une fois cette opération terminée, la table intermédiaire contient les instructions SQL capturées dans Oracle Database source.

  2. Exportez la table intermédiaire.

    Par exemple, exportez la table intermédiaire à l'aide d'Oracle Data Pump :

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

Pour plus d'informations, voir DBMS_SQLSET.

Importer l'ensemble de réglages SQL automatique dans Autonomous AI Database

Après avoir effectué la migration vers Autonomous AI Database et exporté l'ensemble de réglages SQL automatique (ASTS) à partir de la base de données Oracle Database source que vous migrez, importez l'ASTS dans votre base de données Autonomous AI Database.

  1. Importez le fichier intermédiaire dans votre base de données Autonomous AI Database.

    Utilisez Oracle Data Pump pour importer la table intermédiaire dans Autonomous AI Database. Chargez d'abord le fichier de vidage que vous avez exporté de votre base de données Oracle Database source vers un seau de stockage d'objets en nuage, puis importez le fichier de vidage.

    Par exemple, lorsque l'utilisateur ADMIN exécute ces commandes :

    1. Créez les données d'identification pour accéder au seau du service de stockage d'objets en nuage.
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'BUCKET_CREDENTIAL',
          username => 'oracleidentitycloudservice/aaaaa@bbbbb.com',
          password => 'password'
        );
      END;
      /
    2. Utilisez Oracle Data Pump pour importer le fichier de vidage contenant les données ASTS dans votre instance de base de données Autonomous AI Database.
      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
    Note

    Assurez-vous que le fichier de fuseau horaire dans Autonomous AI Database correspond à la valeur dans Oracle Database source où vous avez créé le fichier de vidage. En cas de non-concordance de fuseau horaire, la base de données génère l'erreur suivante :
    ORA-39002: invalid operation' error raised by dbms_datapump.start_job'

    Pour plus d'informations, voir Types de données de date et de fuseau horaire pris en charge et Gérer les mises à jour de fichier de fuseau horaire sur la base de données d'IA autonome.

  2. Dans la base de données Autonomous AI Database migrée, décompressez les énoncés SQL de la table intermédiaire et chargez-les dans la destination ASTS.
    BEGIN
       dbms_sqlset.unpack_stgtab('SYS_AUTO_STS','SYS',TRUE,'ASTS_TABLE');
    END;
    /

Pour plus d'informations, voir DBMS_SQLSET.

Vérifier votre paramètre de SPM en temps réel pour une base de données autonome basée sur l'IA

Décrit les étapes pour vérifier que la gestion du rendement des ventes en temps réel est activée sur la base de données autonome avec intelligence artificielle.

La SPM en temps réel est activée par défaut sur Autonomous AI Database. Vous pouvez vérifier le mode SPM en temps réel comme suit :

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

Le mode AUTO (automatique) du SPM en temps réel indique que le SPM en temps réel est activé.

Si SPM en temps réel n'est pas activé, utilisez la commande suivante pour l'activer :

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