Eseguire la migrazione dei piani di esecuzione SQL esistenti nell'Autonomous AI Database per ridurre il rischio delle aree di prestazioni SQL

Descrive come ridurre il rischio di regressioni delle prestazioni SQL quando si esegue la migrazione a Autonomous AI Database.

Informazioni sulla migrazione a Autonomous AI Database con SQL Plan Management (SPM) in tempo reale

Descrive l'utilizzo di SQL Plan Management in tempo reale quando si esegue la migrazione da un Oracle Database di origine ad Autonomous AI Database.

Quando esegui la migrazione da un Oracle Database di origine ad Autonomous AI Database, puoi utilizzare SQL Plan Management (SPM) in tempo reale. Ciò consente di acquisire i piani di esecuzione SQL dal database di origine e di spostarli in ASTS (Automatic SQL Tuning Set) in Autonomous AI Database in modo che i piani continuino a funzionare con le stesse prestazioni o con prestazioni migliori dopo la migrazione. L'SPM in tempo reale consente AI piani di cambiare su Autonomous AI Database, ma se l'SPM in tempo reale vede prestazioni scadenti, può utilizzare un piano proveniente dal database pre-migrato se tale piano fornisce prestazioni migliori (SPM in tempo reale utilizza i piani in Automatic SQL Tuning Set (ASTS) solo se forniscono prestazioni migliori).

Tieni presente quanto segue per utilizzare l'SPM in tempo reale con una migrazione a Autonomous AI Database:

  • SPM si basa su istruzioni SQL ripetibili. SPM non è adatto per i database che utilizzano valori letterali nelle istruzioni SQL o per SQL altamente dinamico, ad esempio negli ambienti di query ad hoc. Tuttavia, se le istruzioni SQL utilizzano valori letterali e il parametro CURSOR_SHARING è impostato su FORCE, SPM funzionerà.
  • In Oracle Database di origine di cui si sta eseguendo la migrazione a Autonomous AI Database, si acquisiscono le istruzioni SQL dell'applicazione in un SQL Tuning Set (SYS_AUTO_SYS). Questo può consumare spazio in SYSAUX, ma in genere non consuma più di pochi gigabyte (anche per sistemi di grandi dimensioni). Se necessario, è possibile monitorare l'uso di SYSAUX e aumentare le dimensioni della tablespace.
  • L'SPM in tempo reale non può impedire tutte le regressioni delle prestazioni, ma può ridurre in modo significativo il rischio che si verifichino regressioni delle prestazioni a causa delle modifiche al piano di esecuzione SQL.

Eseguire i passi riportati di seguito per abilitare SQL Plan Management (SPM) nel Oracle Database di origine e per eseguire la migrazione del database in Autonomous AI Database.

  1. Abilita SQL Tuning Set automatico in Oracle Database di origine

  2. Migra i tuoi dati su Autonomous AI Database

  3. Esporta SQL Tuning Set automatico da Oracle Database di origine

  4. Importa SQL Tuning Set automatico in Autonomous AI Database

  5. Verifica l'impostazione SPM in tempo reale su Autonomous AI Database

Per ulteriori informazioni, vedere gli argomenti riportati di seguito.

Abilita SQL Tuning Set automatico in Oracle Database di origine

Prima di eseguire la migrazione ad Autonomous AI Database, abilitare Automatic SQL Tuning Set (ASTS) nel Oracle Database di origine.

ASTS deve essere eseguito per un tempo sufficiente a coprire il carico di lavoro e acquisire tutte o la maggior parte delle istruzioni SQL e dei relativi piani di esecuzione. Quindi, prendi in considerazione l'abilitazione di ASTS con lead time prima della migrazione a Autonomous AI Database. Ad esempio, per un'applicazione finanziaria o di vendita, acquisire l'elaborazione di fine mese o di fine anno.

In Oracle Database di origine, quando l'utente DBA abilita Automatic SQL Tuning Set (ASTS):

  1. Nel database di cui si desidera eseguire la migrazione, abilitare ASTS.
    BEGIN
      dbms_auto_task_admin.enable(
        client_name => 'Auto STS Capture Task',
        operation   => NULL,
        window_name => NULL);
    END;
    /

    Per ulteriori informazioni, vedere DBMS_AUTO_TASK_ADMIN.

  2. Verificare che il task in background ASTS sia abilitato.
    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';

Se si desidera monitorare l'istruzione SQL acquisita, visualizzare DBA_SQLSET_STATEMENTS. Ad esempio:

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

Se necessario, è possibile monitorare le dimensioni e lo spazio libero di SYSAUX. Ad esempio:

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 i tuoi dati su Autonomous AI Database

Dopo aver acquisito una quantità sufficiente di SQL nell'Oracle Database di origine con ASTS (Automatic SQL Tuning Set) abilitato, eseguire la migrazione a Autonomous AI Database.

Consulta la sezione relativa alla migrazione dei database Oracle ad Autonomous AI Database per le opzioni di migrazione ad Autonomous AI Database.

Esporta SQL Tuning Set automatico da Oracle Database di origine

Dopo aver eseguito la migrazione ad Autonomous AI Database, esportare Automatic SQL Tuning Set (ASTS) dall'Oracle Database di origine.

  1. In Oracle Database di origine, creare e popolare una tabella intermedia per i dati ASTS.

    Come utente DBA, creare la tabella intermedia:

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

    Al termine di questa operazione, la tabella intermedia contiene le istruzioni SQL acquisite nell'Oracle Database di origine.

  2. Esporta la tabella intermedia.

    Ad esempio, esportare la tabella intermedia utilizzando Oracle Data Pump:

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

Per ulteriori informazioni, vedere DBMS_SQLSET.

Importa SQL Tuning Set automatico in Autonomous AI Database

Dopo aver eseguito la migrazione ad Autonomous AI Database ed aver esportato l'SQL Tuning Set automatico (ASTS) dall'Oracle Database di origine di cui si sta eseguendo la migrazione, importare l'ASTS in Autonomous AI Database.

  1. Importare il file temporaneo in Autonomous AI Database.

    Utilizza Oracle Data Pump per importare la tabella intermedia in Autonomous AI Database. Caricare innanzitutto il file di dump esportato dall'Oracle Database di origine in un bucket di storage degli oggetti cloud, quindi importare il file di dump.

    Ad esempio, l'utente ADMIN esegue i seguenti comandi:

    1. Creare la credenziale per accedere al bucket dell'area di memorizzazione degli oggetti cloud.
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'BUCKET_CREDENTIAL',
          username => 'oracleidentitycloudservice/aaaaa@bbbbb.com',
          password => 'password'
        );
      END;
      /

      Per ulteriori informazioni, vedere Crea credenziali per accedere ai servizi cloud.

    2. Utilizzare Oracle Data Pump per importare il file di dump con i dati ASTS nell'istanza di 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
    Nota

    Assicurarsi che il file del fuso orario in Autonomous AI Database corrisponda al valore nell'Oracle Database di origine in cui è stato creato il file di dump. Se il fuso orario non corrisponde, il database genera il seguente errore:
    ORA-39002: invalid operation' error raised by dbms_datapump.start_job'

    Per ulteriori informazioni, vedere Supporto dei tipi di dati di data e fuso orario e Gestione degli aggiornamenti dei file di fuso orario su Autonomous AI Database.

  2. Nell'Autonomous AI Database di cui è stata eseguita la migrazione, decomprimere le istruzioni SQL dalla tabella intermedia e caricarle nell'ASTS di destinazione.
    BEGIN
       dbms_sqlset.unpack_stgtab('SYS_AUTO_STS','SYS',TRUE,'ASTS_TABLE');
    END;
    /

Per ulteriori informazioni, vedere DBMS_SQLSET.

Verifica l'impostazione SPM in tempo reale su Autonomous AI Database

Descrive i passi per verificare che SPM in tempo reale sia abilitato in Autonomous AI Database.

L'SPM in tempo reale è abilitato per impostazione predefinita su Autonomous AI Database. È possibile verificare la modalità SPM in tempo reale come indicato di seguito.

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

La modalità AUTO (automatica) SPM in tempo reale indica che l'SPM in tempo reale è abilitato.

Se l'SPM in tempo reale non è abilitato, utilizzare il seguente comando per abilitarlo:

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