Gestion du partitionnement automatique sur Autonomous Database

Le partitionnement automatique analyse et automatise la création de partitions pour les tables et les index d'un schéma donné afin d'améliorer les performances et la facilité de gestion dans Autonomous Database.

Le partitionnement automatique, lorsqu'il est appliqué, est transparent et ne nécessite aucune intervention ou maintenance de l'utilisateur.

Remarque

Le partitionnement automatique n'interfère pas avec les stratégies de partitionnement existantes et est complémentaire du partitionnement manuel dans Autonomous Database. Les tables partitionnées manuellement sont exclues en tant que candidats au partitionnement automatique.

A propos du partitionnement automatique

Le partitionnement automatique dans Autonomous Database analyse la charge globale de l'application et applique automatiquement le partitionnement aux tables et à leurs index afin d'améliorer les performances ou de permettre une meilleure gestion des tables volumineuses.

La recherche de stratégies de partitionnement appropriées nécessite une connaissance approfondie de la charge globale de l'application et de la distribution des données. Lorsque vous effectuez un partitionnement manuel, vous devez analyser la charge globale et choisir comment appliquer le partitionnement aux tables et aux index afin d'améliorer les performances des applications. Le partitionnement automatique permet aux utilisateurs d'Autonomous Database de bénéficier du partitionnement sans effectuer d'analyse manuelle du schéma et de la charge globale.

Le partitionnement automatique utilise une clé de partitionnement à colonne unique combinée au partitionnement à niveau unique. Le partitionnement automatique ne prend pas en charge les stratégies de partitionnement plus complexes telles que les tables partitionnées multicolonnes ou le partitionnement composite.

Le partitionnement automatique choisit parmi les méthodes de partition suivantes :

  • INTERVAL AUTOMATIQUE : ce choix convient mieux aux plages de valeurs de clé de partitionnement.
  • LIST AUTOMATIC : cette méthode de partitionnement s'applique aux valeurs de clé de partitionnement distinctes.
  • HASH : applique le partitionnement aux valeurs de hachage de la clé de partitionnement.

Pour plus d'informations, reportez-vous à Concepts de partitionnement.

Le partitionnement automatique offre les fonctionnalités suivantes :

  • Analyse la charge globale de l'application et trouve la stratégie de partitionnement optimale pour améliorer les performances des requêtes pour les tables éligibles au partitionnement automatique.
  • Fournit des API PL/SQL permettant de configurer le partitionnement automatique dans une base de données, de générer des rapports sur les résultats du partitionnement et de générer et d'appliquer une stratégie de partitionnement identifiée pour une charge globale donnée.
Remarque

Le partitionnement automatique nécessite des appels explicites aux API PL/SQL DBMS_AUTO_PARTITION pour recommander et appliquer le partitionnement automatique à une instance Autonomous Database.

Fonctionnement du partitionnement automatique

Contrairement à l'indexation automatique, le partitionnement automatique ne s'exécute pas régulièrement en arrière-plan. Le partitionnement automatique s'exécute uniquement lorsque vous l'appelez à l'aide de la fonction DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.

Lorsqu'il est appelé, le partitionnement automatique identifie les tables candidates pour le partitionnement automatique, évalue les schémas de partitionnement et implémente une stratégie de partitionnement.

Lorsque vous appelez le partitionnement automatique, il effectue les tâches suivantes :

  1. Identifie les tables candidates pour le partitionnement automatique en analysant la charge globale pour les tables candidates sélectionnées.

    Par défaut, le partitionnement automatique utilise les informations de charge globale collectées dans une instance Autonomous Database pour l'analyse. En fonction de la taille de la charge globale, un exemple d'interrogation peut être pris en compte.

  2. Evalue les schémas de partition en fonction de l'analyse, de la quantification et de la vérification des performances :

    1. Les schémas de partition vides candidats avec des statistiques synthétisées sont créés en interne et analysés à des fins de performances.

    2. Le schéma candidat avec la réduction d'E/S estimée la plus élevée est choisi comme stratégie de partitionnement optimale et est implémenté en interne pour tester et vérifier les performances.

    3. Si un modèle de partition candidat n'améliore pas les performances au-delà des critères de performances et de régression spécifiés, le partitionnement automatique n'est pas recommandé.

  3. Implémente la stratégie de partitionnement optimale, si elle est configurée pour ce faire, pour les tables analysées par les procédures de partitionnement automatique.

Configurer le partitionnement automatique

Utilisez la procédure DBMS_AUTO_PARTITION.CONFIGURE pour configurer les options de partitionnement automatique.

Activer et implémenter les recommandations

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','IMPLEMENT');

Activer les recommandations, mais ne pas les implémenter

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','REPORT ONLY');

Désactiver les nouvelles recommandations et leur implémentation

EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','OFF');
Remarque

Ce mode ne désactive pas les tables partitionnées automatiquement existantes.

Gérer les schémas et les tables pour le partitionnement automatique

Utilisez les paramètres AUTO_PARTITION_SCHEMA et AUTO_PARTITION_TABLE pour indiquer les schémas et les tables pris en compte pour le partitionnement automatique.
Remarque

Lorsque le partitionnement automatique est appelé, tous les schémas et toutes les tables des schémas gérés par l'utilisateur sont pris en compte pour le partitionnement automatique si les listes d'inclusion et d'exclusion sont vides.
  • En supposant que la liste d'inclusion et la liste d'exclusion sont vides, ajoutez le schéma HR et la table SH.SALES à la liste d'exclusion, ce qui empêche uniquement ces objets d'effectuer une analyse de partitionnement automatique.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => FALSE);
    
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_TABLE', 
             PARAMETER_VALUE => 'SH.SALES',
             ALLOW           => FALSE);
    END;
    /
  • Après l'exécution de l'exemple précédent, utilisez la commande suivante pour enlever le schéma HR de la liste d'exclusion.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => NULL);
    END;
    /
  • Utilisez la commande suivante pour enlever tous les schémas de la liste d'exclusion.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => NULL,
             ALLOW           => TRUE);
    END;
    /
  • En supposant que les listes d'inclusion et d'exclusion sont vides, l'exemple suivant ajoute le schéma HR à la liste d'inclusion. Dès que la liste d'inclusion n'est plus vide, seuls les schémas de la liste d'inclusion sont pris en compte.

    Dans cet exemple, seul le schéma HR peut être partitionné automatiquement.

    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
             PARAMETER_NAME  => 'AUTO_PARTITION_SCHEMA', 
             PARAMETER_VALUE => 'HR',
             ALLOW           => TRUE);
    END;
    /

Gérer la période de conservation du rapport de partitionnement automatique

Définissez la période de conservation des rapports de partitionnement automatique sur 365 jours.

BEGIN
    DBMS_AUTO_PARTITION.CONFIGURE(
         PARAMETER_NAME  => 'AUTO_PARTITION_REPORT_RETENTION', 
         PARAMETER_VALUE => '365');
END;
/
Pour plus d'informations, reportez-vous à Procédure de configuration.

Utiliser le partitionnement automatique

Décrit le flux et les processus généraux d'utilisation et de gestion du partitionnement automatique dans Autonomous Database.

  1. Choisissez la base de données pour le partitionnement automatique.

    En général, Oracle recommande d'utiliser le partitionnement automatique dans les bases de données clonées ou créées manuellement plutôt que dans les bases de données de production. L'analyse et la vérification du partitionnement automatique à l'aide de RECOMMEND_PARTITION_METHOD sont potentiellement une opération gourmande en ressources et de longue durée qui peut ajouter un traitement indésirable à votre base de données.

    Pour utiliser une base de données secondaire pour l'analyse automatique du partitionnement, la base de données doit disposer d'informations sur la charge globale dans un référentiel de charge globale SQL géré en interne.

    1. Utilisez une base de données clonée pour le partitionnement automatique.

      Autonomous Database collecte automatiquement les informations de charge globale au fil du temps dans un référentiel de charge globale SQL géré en interne et géré dans l'ensemble de réglages SQL (SYS_AUTO_STS). Si vous clonez votre base de données de production après avoir exécuté la charge globale pendant un certain temps, le clone dispose des informations de charge globale nécessaires. Vous pouvez utiliser le partitionnement automatique avec ces clones sans aucune action supplémentaire.

      Reportez-vous à Clonage d'une instance Autonomous Database.

    2. Utilisez d'autres bases de données pour le partitionnement automatique.

      Vous pouvez exécuter la charge globale manuellement pour collecter les informations nécessaires. Si vous exécutez manuellement la charge globale avant d'utiliser le partitionnement automatique, toute instance Autonomous Database contenant les schémas et données souhaités peut être utilisée pour le partitionnement automatique après l'exécution de la charge globale, qu'elle soit clonée ou créée manuellement.

  2. Recommandez le partitionnement automatique.

    Utilisez RECOMMEND_PARTITION_METHOD pour analyser votre base de données, des schémas spécifiques ou des tables spécifiques afin d'identifier la stratégie de partitionnement optimale, le cas échéant. La recommandation analyse la charge globale et les schémas pour vérifier les avantages en termes de performances en exécutant la charge globale sur une table auxiliaire créée en interne. Il peut s'agir d'une opération longue et gourmande en ressources, nécessitant CPU et E/S pour créer la table auxiliaire et vérifier les performances. Vous aurez également temporairement besoin d'espace supplémentaire, de 1 à 1,5 fois, votre plus grande table de candidats.

  3. Appliquez la recommandation.

    Toute recommandation peut être implémentée à l'aide de la procédure APPLY_RECOMMENDATION dans la base de données où l'analyse de recommandation a eu lieu. Toute recommandation peut également être extraite de la base de données utilisée pour l'analyse et appliquée à n'importe quelle base de données, telle qu'un système de production. Le script nécessaire à la modification manuelle est stocké dans la colonne MODIFY_TABLE_DDL de la vue DBA_AUTO_PARTITION_RECOMMENDATION.

    Oracle recommande d'appliquer le partitionnement automatique à la base de données en dehors des heures de pointe. Alors que vos tables seront modifiées en tables partitionnées automatiquement, la conversion ajoute des ressources requises supplémentaires à votre système, telles que l'UC et les E/S supplémentaires. Le partitionnement automatique nécessite jusqu'à 1,5 fois la taille de la table pour être modifié en tant qu'espace libre supplémentaire, en fonction des opérations LMD en cours simultanées sur ces tables.

Générer des rapports de partitionnement automatiques

Générez des rapports de partitionnement automatique à l'aide des fonctions REPORT_ACTIVITY et REPORT_LAST_ACTIVITY du package DBMS_AUTO_PARTITION.

Générer un état, en texte brut, des opérations de partitionnement automatique pour une période spécifique

Cet exemple génère un rapport contenant des informations standard sur les opérations de partitionnement automatique des dernières 24 heures. Le rapport est généré en texte brut par défaut.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY();
END;
/

Générer un état, au format HTML, des opérations de partitionnement automatique pour MAI 2021

Cet exemple génère un état contenant des informations de base sur les opérations de partitionnement automatique pour le mois de MAI 2021. Le rapport est généré au format HTML et ne comprend qu'un récapitulatif des opérations de partitionnement automatique.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY(
                       ACTIVITY_START => TO_TIMESTAMP('2021-05-01', 'YYYY-MM-DD'),
                       ACTIVITY_END   => TO_TIMESTAMP('2021-06-01', 'YYYY-MM-DD'),
                       TYPE           => 'HTML',
                       SECTION        => 'SUMMARY',
                       LEVEL          => 'BASIC' );
END;
/

Générer un état, en texte brut, de la dernière opération de partitionnement automatique

Cet exemple génère un rapport contenant des informations standard sur la dernière opération de partitionnement automatique. Le rapport est généré en texte brut par défaut.

DECLARE
  Report clob := NULL
BEGIN
    Report := DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY();
END;
/

Pour plus d'informations, reportez-vous à Fonction REPORT_ACTIVITY.

Pour plus d'informations, reportez-vous à Fonction REPORT_LAST_ACTIVITY.

Exemple de scénarios de partitionnement automatique

Exemples de scénarios de partitionnement automatique à l'aide des procédures et fonctions de l'API DBMS_AUTO_PARTITION.

Générer une recommandation pour une seule table et appliquer manuellement la recommandation

  1. Définissez le paramètre AUTO_PARTITION_MODE sur REPORT ONLY pour activer une recommandation de partitionnement automatique à effectuer et à vérifier. La recommandation n'est pas appliquée à la table.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'REPORT ONLY');
    END;
    /
  2. Vérifiez que la table TPCH.LINEITEM est candidate au partitionnement automatique. Cette étape est facultative et recommandée lorsque vous ciblez de manière sélective des tables uniques.
    SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE(
               TABLE_OWNER => 'TPCH',
               TABLE_NAME  => 'LINEITEM')
    FROM DUAL;

    Si la table est un candidat valide, lorsque vous appelez le partitionnement automatique pour une analyse de recommandation, elle renvoie la valeur VALID. Sinon, les critères de violation sont affichés.

    Reportez-vous à Fonction VALIDATE_CANDIDATE_TABLE pour obtenir la liste des critères pour les tables de candidats admissibles.

  3. Appelez l'API DBMS_AUTO_PARTITION afin de générer une recommandation pour la table TPCH.LINEITEM.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD(
                                 TABLE_OWNER => 'TPCH',
                                 TABLE_NAME  => 'LINEITEM');
    END;
    /

    L'analyse et la vérification des recommandations que vous effectuez avec DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD peuvent nécessiter beaucoup de ressources et une longue durée d'exécution. Vous devez effectuer cette étape sur une base de données qui n'est pas votre système de production principal. Oracle recommande d'accorder à l'opération de vérification des ressources suffisantes en choisissant le service HIGH.

  4. Vérifiez la recommandation. La vue DBA_AUTO_PARTITION_RECOMMENDATIONS contient les informations sur la recommandation. Dans cet exemple, vérifiez la clé de partition et la méthode de partition recommandées.
    SELECT PARTITION_METHOD, PARTITION_KEY
      FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
      WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    

    En outre, interrogez la même vue pour obtenir le rapport d'analyse des performances généré pour la charge globale après le partitionnement de la table conformément à la recommandation.

    SELECT REPORT
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    
  5. Une fois la recommandation validée manuellement, appliquez-la. Si vous appliquez la recommandation dans la base de données où l'analyse de recommandation a eu lieu, appliquez-la en exécutant la procédure APPLY_RECOMMENDATION.
    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
             RECOMMENDATION_ID => :RECOMMENDATION_ID);
    END;
    /

    Si vous souhaitez appliquer la recommandation à une autre base de données, telle que votre environnement de production, extrayez le code LDD de modification. Exécutez ensuite le script LDD de modification extrait dans la base de données cible. L'interrogation permettant d'extraire le code LDD de modification est la suivante :

    SELECT MODIFY_TABLE_DDL
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
    

    Exemple de sortie du code LDD de modification :

    BEGIN
        -- DBMS_AUTO_PARTITION RECOMMENDATION_ID C3F7A59E085C2F25E05333885A0A55EA
        --   FOR TABLE "TPCH"."LINEITEM"
        --   GENERATED AT 06/04/2021 20:52:29
        DBMS_AUTO_PARTITION.BEGIN_APPLY(EXPECTED_NUMBER_OF_PARTITIONS => 10);
    
        EXECUTE IMMEDIATE
        'ALTER TABLE "TPCH"."LINEITEM"
        MODIFY PARTITION BYLIST(SYS_OP_INTERVAL_HIGH_BOUND
            ("L_SHIPDATE", INTERVAL ''10'' MONTH, TIMESTAMP ''1992-01-01 00:00:00''))
        AUTOMATIC /* SCORE=23533.11;  */
        (PARTITION P_NULL VALUES(NULL))
        AUTO ONLINE PARALLEL';
    
        DBMS_AUTO_PARTITION.END_APPLY;
    EXCEPTION WHEN OTHERS THEN
        DBMS_AUTO_PARTITION.END_APPLY;
        RAISE;
    END;
    
  6. Vérifiez que la table a été partitionnée automatiquement, interrogez les vues du catalogue.
    SELECT T.AUTO, T.PARTITIONING_TYPE, C.COLUMN_NAME
        FROM DBA_PART_TABLES T, DBA_PART_KEY_COLUMNS C
        WHERE T.OWNER = 'TPCH' AND T.TABLE_NAME = 'LINEITEM'
            AND T.OWNER = C.OWNER AND T.TABLE_NAME = C.NAME;
    

    Utilisez cette requête pour identifier le moment où le partitionnement automatique a été appliqué à une table donnée.

    SELECT APPLY_TIMESTAMP_START, APPLY_TIMESTAMP_END
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE TABLE_OWNER = 'TPCH' AND TABLE_NAME = 'LINEITEM';
    

Pour plus d'informations, reportez-vous à la section CONFIGURE Procedure.

Pour plus d'informations, reportez-vous à VALIDATE_CANDIDATE_TABLE Function.

Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.

Pour plus d'informations, reportez-vous à Procédure APPLY_RECOMMENDATION.

Générer une recommandation pour les tables admissibles et appliquer manuellement la recommandation

  1. Définissez le paramètre AUTO_PARTITION_MODE sur REPORT ONLY pour activer une recommandation de partitionnement automatique à effectuer et à vérifier. La recommandation n'est pas appliquée aux tables existantes.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'REPORT ONLY');
    END;
    /
  2. Appelez l'API DBMS_AUTO_PARTITION pour générer une table de recommandations.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD();
    END;
    /

    L'analyse et la vérification des recommandations consomment beaucoup de ressources et sont longues et peuvent prendre beaucoup de temps. Sur les bases de données secondaires hors production, Oracle recommande d'accorder à la vérification des ressources suffisantes en choisissant le service HIGH.

  3. Interrogez la vue DBA_AUTO_PARTITION_RECOMMENDATIONS pour voir quelles tables ont été analysées.
    SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
        ORDER BY RECOMMENDATION_SEQ;
    
  4. Utilisez cette requête pour effectuer une analyse descendante dans le rapport pour une table spécifique analysée lors de l'exécution, à savoir la table TPCH.LINEITEM dans cet exemple.
    SELECT REPORT
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
            AND TABLE_OWNER = 'TPCH'
            AND TABLE_NAME  = 'LINEITEM';
    
  5. Appliquez la recommandation en exécutant la procédure APPLY_RECOMMENDATION.
    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
             RECOMMENDATION_ID => :RECOMMENDATION_ID);
    END;
    /

    Vous pouvez également appliquer des recommandations pour une table spécifique analysée, à savoir la table TPCH.LINEITEM dans cet exemple.

    BEGIN
        DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION(
            RECOMMENDATION_ID => :RECOMMENDATION_ID,
            TABLE_OWNER       => 'TPCH',
            TABLE_NAME        => 'LINEITEM');
    END;
    /

Pour plus d'informations, reportez-vous à la section CONFIGURE Procedure.

Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.

Pour plus d'informations, reportez-vous à Procédure APPLY_RECOMMENDATION.

Remarque

Les recommandations de partitionnement automatique générées par la fonction RECOMMEND_PARTITION_METHOD ont une limite de temps, indiquée par le paramètre TIME_LIMIT, avec une valeur par défaut de 1 jour. Si vous analysez un système volumineux avec de nombreuses tables candidates, un appel unique peut ne pas générer de recommandation pour toutes les tables pouvant être partitionnées. Vous pouvez appeler en toute sécurité la recommandation de partitionnement automatique à plusieurs reprises afin de générer des recommandations pour des tables supplémentaires. Lorsque la fonction est appelée et que zéro ligne est dans DBA_AUTO_PARTITION_RECOMMENDATIONS pour RECOMMENDATION_ID, la fonction n'a trouvé aucune table candidate supplémentaire pour le partitionnement automatique.

Générer et appliquer automatiquement des recommandations pour les tables éligibles

  1. Définissez le paramètre AUTO_PARTITION_MODE sur REPORT ONLY pour activer une recommandation de partitionnement automatique à effectuer et à vérifier. La recommandation n'est pas appliquée aux tables existantes.
    BEGIN
        DBMS_AUTO_PARTITION.CONFIGURE(
            PARAMETER_NAME  => 'AUTO_PARTITION_MODE', 
            PARAMETER_VALUE => 'IMPLEMENT');
    END;
    /
  2. Appelez l'API DBMS_AUTO_PARTITION pour générer une table de recommandations.
    -- DEFINE SQLPLUS BIND VARIABLE FOR RECOMMENDATION ID
    VARIABLE RECOMMENDATION_ID VARCHAR2(32);
    BEGIN
      :RECOMMENDATION_ID := DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD();
    END;
    /

    L'analyse et la vérification des recommandations consomment beaucoup de ressources et sont longues et peuvent prendre beaucoup de temps. Sur les bases de données secondaires hors production, Oracle recommande d'accorder à la vérification des ressources suffisantes en choisissant le service HIGH.

  3. Interrogez la vue DBA_AUTO_PARTITION_RECOMMENDATIONS pour voir quelles tables ont été analysées.
    SELECT TABLE_OWNER, TABLE_NAME, PARTITION_METHOD, PARTITION_KEY
        FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
        WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID
        ORDER BY RECOMMENDATION_SEQ;
    
  4. Utilisez la fonction REPORT_LAST_ACTIVITY pour extraire le rapport sur les actions effectuées lors de la dernière exécution.
    SELECT DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY() FROM DUAL;
    

Pour plus d'informations, reportez-vous à la section CONFIGURE Procedure.

Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.

Pour plus d'informations, reportez-vous à REPORT_LAST_ACTIVITY Function.

Vues du dictionnaire de données pour le partitionnement automatique

Le dictionnaire de données contient deux nouvelles vues et une vue mise à jour pour plus d'informations sur la configuration et les recommandations du partitionnement automatique dans la base de données.

DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_CONFIG Vue

Affiche les paramètres de configuration actuels pour le partitionnement automatique.

Colonne Description
PARAMETER_NAME Nom du paramètre de configuration
PARAMETER_VALUE Valeur du paramètre de configuration
LAST_MODIFIED Heure (UTC) à laquelle la valeur du paramètre a été modifiée pour la dernière fois.
MODIFIED_BY Utilisateur ayant modifié la valeur du paramètre pour la dernière fois

DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Vue

Lorsque vous exécutez CONFIGURE ou RECOMMEND_PARTITION, les résultats de ces procédures sont stockés dans cette vue. RECOMMENDATION_ID est utilisé dans plusieurs procédures et fonctions.

Colonne Description
TABLE_OWNER Propriétaire de la table
TABLE_NAME Propriétaire de la table
PARTITION_METHOD Méthode de partition recommandée. Reportez-vous à Procédure de configuration.
PARTITION_KEY Clé de partitionnement recommandée. NULL signifie que l'analyse est complète et qu'il est recommandé de ne pas partitionner la table.
GENERATE_TIMESTAMP Heure, en UTC, à laquelle cette recommandation a été générée.
RECOMMENDATION_ID ID utilisé avec les API DBMS_AUTO_PARTITION pour obtenir des informations supplémentaires sur cette recommandation.
RECOMMENDATION_SEQ Lorsqu'un code recommandation contient des recommandations pour plusieurs tables, indique l'ordre dans lequel les recommandations ont été générées. Des rapports sur les performances sont générés en supposant que des recommandations antérieures ont été appliquées. Par exemple, le rapport pour RECOMMENDATION_SEQ = 2 suppose que des recommandations ont été appliquées pour RECOMMENDATION_SEQ = 1 et RECOMMENDATION_SEQ = 2.
MODIFY_TABLE_DDL LDD qui serait ou était utilisé pour appliquer la recommandation.
APPLY_TIMESTAMP_START Heure, en UTC, à laquelle l'application de cette recommandation a commencé. NULL si la recommandation n'a pas été appliquée.
APPLY_TIMESTAMP_END Heure, en UTC, à laquelle l'application de cette recommandation a été terminée. NULL si la recommandation n'a pas été appliquée ou si l'application n'est pas terminée.
REPORT Etat SQL Performance Analyzer à partir de l'exécution SQL sur la base de données après application de la recommandation.

DBMS_AUTO_PARTITION Mises à jour des vues existantes

Il décrit les modifications apportées aux vues existantes suite à l'implémentation du partitionnement automatique.

Dans *_PART_TABLES, la colonne AUTO (VARCHAR2(3)) a été ajoutée. Ses valeurs sont les suivantes :
  • YES : si la table a été partitionnée par DBMS_AUTO_PARTITION.
  • NO : si la table n'est pas partitionnée par DBMS_AUTO_PARTITION.