Vorhandene SQL-Ausführungspläne in eine autonome KI-Datenbank migrieren, um das Risiko von SQL-Performance-Regressionen zu mindern

Beschreibt, wie Sie das Risiko von SQL-Performance-Regressionen reduzieren, wenn Sie zu einer autonomen KI-Datenbank migrieren.

Informationen zur Migration zu einer autonomen KI-Datenbank mit Echtzeit-SQL-Planmanagement (SPM)

Beschreibt die Verwendung von Echtzeit-SQL-Planmanagement bei der Migration von einer Oracle Database-Quelldatenbank zu einer autonomen KI-Datenbank.

Wenn Sie von einer Oracle Database-Quelldatenbank zu einer autonomen KI-Datenbank migrieren, können Sie SQL Plan Management (SPM) in Echtzeit verwenden. Auf diese Weise können Sie die SQL-Ausführungspläne aus der Quelldatenbank erfassen und in das automatische SQL-Tuning-Set (ASTS) in der autonomen KI-Datenbank verschieben, sodass die Pläne nach der Migration weiterhin mit derselben oder besserer Performance ausgeführt werden. Mit Echtzeit-SPM können Pläne zur Änderung der autonomen KI-Datenbank geändert werden. Wenn jedoch Echtzeit-SPM eine schlechte Performance sieht, kann es einen Plan verwenden, der aus der vormigrierten Datenbank stammt, wenn dieser Plan eine bessere Performance bietet (Echtzeit-SPM verwendet die Pläne in Automatic SQL Tuning Set (ASTS) nur, wenn sie eine bessere Performance bieten).

Beachten Sie Folgendes bei der Verwendung von Echtzeit-SPM bei einer Migration zu einer autonomen KI-Datenbank:

  • SPM basiert auf wiederholbaren SQL-Anweisungen. SPM eignet sich nicht für Datenbanken, die Literalwerte in SQL-Anweisungen verwenden, oder für hochdynamisches SQL, z. B. in Ad-hoc-Abfrageumgebungen. Wenn die SQL-Anweisungen jedoch Literalwerte verwenden und der Parameter CURSOR_SHARING auf FORCE gesetzt ist, funktioniert SPM.
  • In der Quell-Oracle Database, die Sie zu Autonomous AI Database migrieren, erfassen Sie SQL-Anweisungen für Anwendungen in einem SQL Tuning Set (SYS_AUTO_SYS). Dies kann Speicherplatz in SYSAUX belegen, verbraucht jedoch in der Regel nicht mehr als ein paar Gigabyte (auch bei großen Systemen). Sie können die SYSAUX-Nutzung überwachen und gegebenenfalls die Größe des Tablespace erhöhen.
  • Echtzeit-SPM kann nicht alle Performance-Regressionen verhindern, kann jedoch das Risiko von Performance-Regressionen aufgrund von Änderungen am SQL-Ausführungsplan erheblich reduzieren.

Führen Sie die folgenden Schritte aus, um SQL Plan Management (SPM) in Ihrer Oracle Database-Quelldatenbank zu aktivieren und die Datenbank in eine autonome KI-Datenbank zu migrieren:

  1. Automatisches SQL Tuning Set in der Quell-Oracle Database aktivieren

  2. Migrieren Sie Ihre Daten in eine autonome KI-Datenbank

  3. Automatisches SQL Tuning Set aus Oracle Database-Quelldatenbank exportieren

  4. Automatisches SQL-Tuning-Set in autonome KI-Datenbank importieren

  5. Prüfen Sie Ihre SPM-Einstellung in Echtzeit auf einer autonomen KI-Datenbank

In den folgenden Themen finden Sie weitere Informationen:

Automatisches SQL Tuning Set in der Quell-Oracle Database aktivieren

Bevor Sie zu einer autonomen KI-Datenbank migrieren, aktivieren Sie das automatische SQL-Tuning-Set (ASTS) in der Quell-Oracle Database.

ASTS muss für ausreichend Zeit ausgeführt werden, um Ihre Workload abzudecken und alle oder die meisten SQL-Anweisungen und deren Ausführungspläne zu erfassen. Erwägen Sie daher, ASTS mit Vorlaufzeit vor der Migration zur autonomen KI-Datenbank zu aktivieren. Beispiel: Erfassen Sie für eine Finanz- oder Vertriebsanwendung die Verarbeitung zum Monats- oder Jahresende.

Aktivieren Sie in der Quell-Oracle Database als DBA-Benutzer Automatic SQL Tuning Set (ASTS):

  1. Aktivieren Sie ASTS in der Datenbank, die Sie migrieren möchten.
    BEGIN
      dbms_auto_task_admin.enable(
        client_name => 'Auto STS Capture Task',
        operation   => NULL,
        window_name => NULL);
    END;
    /

    Weitere Informationen finden Sie unter DBMS_AUTO_TASK_ADMIN.

  2. Prüfen Sie, ob die ASTS-Hintergrundaufgabe aktiviert ist.
    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';

Wenn Sie die erfasste SQL überwachen möchten, zeigen Sie DBA_SQLSET_STATEMENTS an. Beispiel:

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

Bei Bedarf können Sie die Größe und den freien Speicherplatz von SYSAUX überwachen. Beispiel:

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;

Migrieren Sie Ihre Daten in eine autonome KI-Datenbank

Nachdem Sie eine ausreichende Menge an SQL in der Oracle Database-Quelldatenbank mit aktiviertem Automatic SQL Tuning Set (ASTS) erfasst haben, führen Sie die Migration zu Autonomous AI Database aus.

Informationen zu Optionen für die Migration zu einer autonomen KI-Datenbank finden Sie unter Oracle-Datenbanken in autonome KI-Datenbank migrieren.

Automatisches SQL Tuning Set aus Oracle Database-Quelldatenbank exportieren

Nachdem Sie die Migration zu einer autonomen KI-Datenbank durchgeführt haben, exportieren Sie das Automatic SQL Tuning Set (ASTS) aus der Oracle Database-Quelldatenbank.

  1. Erstellen und füllen Sie in der Oracle Database-Quelldatenbank eine Staging-Tabelle für ASTS-Daten.

    Erstellen Sie als DBA-Benutzer die Staging-Tabelle:

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

    Nach Abschluss dieses Vorgangs enthält die Staging-Tabelle die SQL-Anweisungen, die in der Oracle Database-Quelldatenbank erfasst wurden.

  2. Staging-Tabelle exportieren.

    Beispiel: Exportieren Sie die Staging-Tabelle mit Oracle Data Pump:

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

Weitere Informationen finden Sie unter DBMS_SQLSET.

Automatisches SQL-Tuning-Set in autonome KI-Datenbank importieren

Nachdem Sie die Migration zur autonomen KI-Datenbank durchgeführt und das automatische SQL-Tuning-Set (ASTS) aus der Oracle Database-Quelldatenbank, die Sie migrieren, exportiert haben, importieren Sie das ASTS in Ihre autonome KI-Datenbank.

  1. Importieren Sie die Staging-Datei in Ihre autonome KI-Datenbank.

    Mit Oracle Data Pump können Sie die Staging-Tabelle in eine autonome KI-Datenbank importieren. Laden Sie zuerst die Dumpdatei, die Sie aus Ihrer Oracle Database-Quelldatenbank exportiert haben, in einen Cloud Object Storage-Bucket hoch, und importieren Sie dann die Dumpdatei.

    Beispiel: Führen Sie als ADMIN-Benutzer die folgenden Befehle aus:

    1. Erstellen Sie die Zugangsdaten für den Zugriff auf den Cloudobjektspeicher-Bucket.
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'BUCKET_CREDENTIAL',
          username => 'oracleidentitycloudservice/aaaaa@bbbbb.com',
          password => 'password'
        );
      END;
      /

      Weitere Informationen finden Sie unter Zugangsdaten für den Zugriff auf Cloud Services erstellen.

    2. Mit Oracle Data Pump können Sie die Dumpdatei mit den ASTS-Daten in die Instanz der autonomen KI-Datenbank importieren.
      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
    Hinweis

    Stellen Sie sicher, dass die Zeitzonendatei in der autonomen KI-Datenbank mit dem Wert in der Oracle Database-Quelldatei übereinstimmt, in der Sie die Dumpdatei erstellt haben. Wenn die Zeitzone nicht übereinstimmt, löst die Datenbank den folgenden Fehler aus:
    ORA-39002: invalid operation' error raised by dbms_datapump.start_job'

    Weitere Informationen finden Sie unter Datetime-Datentypen und Zeitzonenunterstützung und Updates von Zeitzonendateien für autonome KI-Datenbank verwalten.

  2. Entpacken Sie in der migrierten autonomen KI-Datenbank die SQL-Anweisungen aus der Staging-Tabelle, und laden Sie sie in das Ziel ASTS.
    BEGIN
       dbms_sqlset.unpack_stgtab('SYS_AUTO_STS','SYS',TRUE,'ASTS_TABLE');
    END;
    /

Weitere Informationen finden Sie unter DBMS_SQLSET.

Prüfen Sie Ihre SPM-Einstellung in Echtzeit auf einer autonomen KI-Datenbank

Beschreibt die Schritte zur Prüfung, ob SPM in Echtzeit in einer autonomen KI-Datenbank aktiviert ist.

SPM in Echtzeit ist standardmäßig in einer autonomen KI-Datenbank aktiviert. Sie können den Echtzeit-SPM-Modus wie folgt prüfen:

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

Der Modus AUTO (automatische) Echtzeit-SPM gibt an, dass Echtzeit-SPM aktiviert ist.

Wenn Echtzeit-SPM nicht aktiviert ist, verwenden Sie den folgenden Befehl, um es zu aktivieren:

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