Ensemble DBMS_AUTO_PARTITION

L'ensemble DBMS_AUTO_PARTITION fournit des sous-programmes d'administration pour gérer le partitionnement automatique des schémas et des tables.

Procédure de configuration

Cette procédure configure les paramètres pour le partitionnement automatique dans Autonomous AI Database.

Syntaxe

DBMS_AUTO_PARTITION.CONFIGURE (
     PARAMETER_NAME     IN VARCHAR2,
     PARAMETER_VALUE    IN VARCHAR2,
     ALLOW              IN BOOLEAN    DEFAULT TRUE);

Paramètres

Paramètre Description

PARAMETER_NAME

Nom du paramètre de configuration du partitionnement automatique à mettre à jour. Il peut contenir l'une des valeurs suivantes :

  • AUTO_PARTITION_MODE
  • AUTO_PARTITION_SCHEMA
  • AUTO_PARTITION_TABLE
  • AUTO_PARTITION_REPORT_RETENTION
AUTO_PARTITION_MODE définit le mode de l'opération de partitionnement automatique et comporte l'une des valeurs suivantes :
  • IMPLEMENT : Dans ce mode, le partitionnement automatique génère un rapport et modifie la table existante à l'aide de la méthode de partition recommandée.
  • REPORT ONLY : Dans ce mode, le partitionnement automatique génère un rapport, mais les tables existantes ne sont pas modifiées. Il s’agit de la valeur par défaut.
  • OFF : Dans ce mode, le partitionnement automatique ne peut pas générer, prendre en compte ou appliquer des recommandations. Il ne désactive pas les tables partitionnées automatiques existantes.
AUTO_PARTITION_SCHEMA définit les schémas à inclure ou à exclure de l'utilisation du partitionnement automatique. Son comportement est contrôlé par le paramètre allow. Le processus de partitionnement automatique gère deux listes de schémas.
  1. La liste d'inclusion est la liste des schémas, sensibles à la casse, qui peuvent utiliser le partitionnement automatique.
  2. La liste d'exclusion est la liste des schémas, sensibles à la casse, qui ne peuvent pas utiliser le partitionnement automatique.

Au départ, les deux listes sont vides et tous les schémas de la base de données peuvent utiliser le partitionnement automatique. Si la liste d'inclusion contient un ou plusieurs schémas, seuls les schémas répertoriés dans la liste d'inclusion peuvent utiliser le partitionnement automatique. Si la liste d'inclusion est vide et que la liste d'exclusion contient un ou plusieurs schémas, tous les schémas utilisent le partitionnement automatique, à l'exception des schémas répertoriés dans la liste d'exclusion. Si les deux listes contiennent un ou plusieurs schémas, tous les schémas utilisent le partitionnement automatique, à l'exception des schémas répertoriés dans la liste d'exclusion. AUTO_PARTITION_TABLE définit les tables à inclure ou à exclure de l'utilisation du partitionnement automatique. La valeur du paramètre est <schema_name>.<table_name>. Le processus de partitionnement automatique gère deux listes de tables.

  1. La liste d'inclusion est la liste des tables, sensibles à la casse, qui peuvent utiliser le partitionnement automatique.
  2. La liste d'exclusion est la liste des tables, sensibles à la casse, qui ne peuvent pas utiliser le partitionnement automatique.

Au départ, les deux listes sont vides et toutes les tables de la base de données peuvent utiliser le partitionnement automatique. Si la liste d'inclusion contient une ou plusieurs tables, seules les tables répertoriées dans la liste d'inclusion peuvent utiliser le partitionnement automatique. Si la liste d'inclusion est vide et que la liste d'exclusion contient une ou plusieurs tables, toutes les tables utilisent le partitionnement automatique, à l'exception des tables répertoriées dans la liste d'exclusion. Si les deux listes contiennent une ou plusieurs tables, toutes les tables utilisent le partitionnement automatique, à l'exception des tables répertoriées dans la liste d'exclusion. Si une table ne figure pas dans l'une ou l'autre des listes, les listes d'inclusion et d'exclusion de schéma déterminent si une table est candidate au partitionnement automatique. En cas de conflit entre les listes de niveau schéma et les listes de niveau table, les listes de niveau table ont préséance.

Pour supprimer toutes les tables des listes d'inclusion et d'exclusion, exécutez :
DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_TABLE', NULL);

AUTO_PARTITION_REPORT_RETENTION définit le nombre de jours pendant lesquels les journaux de partitionnement automatique sont conservés dans la base de données avant leur suppression. Impossible de générer un rapport de partitionnement automatique pour une période au-delà de la valeur spécifiée pour cette valeur. La valeur par défaut est 90 jours.

PARAMETER_VALUE

Valeur du paramètre de configuration spécifié dans parameter_name. Lorsque cette option est réglée à NULL, la valeur par défaut du paramètre de configuration est affectée.

ALLOW

Applicable uniquement aux paramètres de configuration AUTO_PARTITION_SCHEMA ou AUTO_PARTITION_TABLE avec l'une des valeurs suivantes :
  • TRUE ajoute le schéma ou la table spécifié à la liste d'inclusion.
  • FALSE supprime le schéma ou la table spécifié de la liste d'exclusion.
  • NULL supprime le schéma ou la table spécifié de la liste à laquelle il est actuellement affecté.
Consultez la description des paramètres de configuration AUTO_PARTITION_SCHEMA et AUTO_PARTITION_TABLE pour plus d'informations sur les listes d'inclusion et les listes d'exclusion.

Notes d'utilisation

  • Vous pouvez vérifier le paramètre actuel pour la configuration du partitionnement automatique à l'aide des instructions SQL suivantes :

    SELECT * FROM DBA_AUTO_PARTITION_CONFIG;
  • Contrairement à l'indexation automatique, le partitionnement automatique n'est pas exécuté périodiquement en tant que tâche d'arrière-plan. Le partitionnement automatique ne s'exécute que lorsque vous l'appelez à l'aide de la fonction DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.

Fonction VALIDATE_CANDIDATE_TABLE

Cette fonction vérifie si la table indiquée est un candidat valide pour le partitionnement automatique dans la base de données d'intelligence artificielle autonome.

Candidat valide

Pour être un candidat valide, les tests suivants doivent réussir :
  • La table réussit les tests d'inclusion et d'exclusion spécifiés par les paramètres de configuration AUTO_PARTITION_SCHEMA et AUTO_PARTITION_TABLE.
  • La table existe et contient des statistiques à jour.
  • La table est d'au moins 64 Go.
  • La table contient au moins 5 interrogations dans l'ensemble de réglages SQL qui ont balayé la table.
  • La table ne contient pas de colonne de type de données LONG.
  • La table n'est pas partitionnée manuellement.
  • Il ne s'agit pas d'une table externe, d'une table hybride interne/externe, d'une table temporaire, d'une table organisée en index ou d'une table clusterisée.
  • La table n'a pas d'index de domaine ou d'index de jointure bitmap.
  • La table n'est pas une table de mise en file d'attente avancée, une vue matérialisée ou une table de stockage Flashback Archive.
  • La table ne comporte pas de tables imbriquées ou certaines autres fonctions d'objet.
Retourne :
  • VALID si la table est un candidat valide pour le partitionnement autonome
  • INVALID: <reason> si la table n'est pas un candidat valide pour le partitionnement autonome et <reason> est une chaîne décrivant pourquoi la table n'est pas un candidat valide.

Syntaxe

DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
    ( SQLSET_OWNER  IN VARCHAR2   DEFAULT 'SYS',
      SQLSET_NAME   IN VARCHAR2   DEFAULT 'SYS_AUTO_STS',
      TABLE_OWNER   IN VARCHAR2,
      TABLE_NAME    IN VARCHAR2)
RETURN VARCHAR2;

Paramètres

Paramètre Description

SQLSET_OWNER, SQLSET_NAME

Nom de l'ensemble de réglages SQL représentant la charge globale à évaluer.

TABLE_OWNER, TABLE_NAME

Nom d'une table à valider en tant que candidat pour le partitionnement automatique.

Notes d'utilisation

  • Par exemple, vous pouvez vérifier la validité d'un exemple de table, LINEORDER dans le schéma TEST, avec l'énoncé SQL suivant :
    SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
        ( TABLE_OWNER => 'TEST',
          TABLE_NAME  => 'LINEORDER')
    FROM DUAL;
    

Fonction RECOMMEND_PARTITION_METHOD

Cette fonction retourne un ID recommandation qui peut être utilisé avec la procédure APPLY_RECOMMENDATION pour appliquer la recommandation, ou peut être utilisé avec la vue DBA_AUTO_PARTITION_RECOMMENDATIONS pour extraire les détails des recommandations pour le partitionnement automatique dans la base de données d'intelligence artificielle autonome.

Syntaxe

DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
    ( SQLSET_OWNER     IN VARCHAR2   DEFAULT 'SYS',
      SQLSET_NAME      IN VARCHAR2   DEFAULT 'SYS_AUTO_STS',
      TABLE_OWNER      IN VARCHAR2   DEFAULT NULL,
      TABLE_NAME       IN VARCHAR2   DEFAULT NULL,
      TIME_LIMIT       IN INTERVAL DAY TO SECOND DEFAULT INTERVAL '1' DAY,
      REPORT_TYPE      IN VARCHAR2   DEFAULT 'TEXT',   
      REPORT_SECTION   IN VARCHAR2   DEFAULT 'SUMMARY',
      REPORT_LEVEL     IN VARCHAR2   DEFAULT 'TYPICAL')
  RETURN RAW;

Paramètres

Paramètre Description

SQLSET_OWNER, SQLSET_NAME

Nom de l'ensemble de réglages SQL représentant la charge globale à évaluer.

TABLE_OWNER, TABLE_NAME

Nom d'une table à valider en tant que candidat pour le partitionnement automatique.

TIME_LIMIT

Lorsque la fonction choisit les tables pour lesquelles générer des recommandations, TABLE_OWNER et TABLE_NAME sont NULL), le paramètre limite la durée d'exécution de la fonction avant qu'elle ne cesse de rechercher de nouvelles tables candidates à partitionner. Une fois le traitement d'une table commencé, le traitement ne prendra pas fin. On s'attend à ce que la fonction s'exécute plus longtemps que ce paramètre. Si ce paramètre est NULL, il n'y a pas de limite de temps. La valeur par défaut est 1 jour.

REPORT_TYPE

Sert à générer un rapport pour la méthode de partition recommandée. Voir Fonction REPORT_ACTIVITY pour plus de détails.

REPORT_SECTION

Utilisé pour générer un rapport persistant pour la méthode de partition recommandée. Voir Fonction REPORT_ACTIVITY pour plus de détails.

REPORT_LEVEL

Sert à générer un rapport pour la méthode de partition recommandée. Voir Fonction REPORT_ACTIVITY pour plus de détails.

Notes d'utilisation

  • AUTO_PARTITION_MODE contrôle les actions effectuées par cette fonction :
    • IMPLEMENT : Dans ce mode, le partitionnement automatique génère un rapport et modifie la table existante à l'aide de la méthode de partition recommandée.
    • REPORT ONLY : Dans ce mode, le partitionnement automatique génère un rapport généré, mais les tables existantes ne sont pas modifiées. Il s’agit de la valeur par défaut.
    • OFF : Dans ce mode, le partitionnement automatique a empêché la production, la prise en compte ou l'application de nouvelles recommandations. Il ne désactive pas les tables partitionnées automatiques existantes.
  • Contrairement à l'indexation automatique, le partitionnement automatique n'est pas exécuté périodiquement en tant que tâche d'arrière-plan. Le partitionnement automatique ne s'exécute que lorsque vous l'appelez à l'aide de la fonction DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD.

Valeurs retournées

Cette fonction retourne un ID recommandation qui peut être utilisé comme suit : DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION pour appliquer la recommandation,

  • Utilisez avec DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION pour appliquer la recommandation.
  • À utiliser avec la vue DBA_AUTO_PARTITION_RECOMMENDATIONS pour extraire les détails des recommandations. Exemple :
    SELECT PARTITION_METHOD, PARTITION_KEY
         FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
         WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;

APPLY_RECOMMENDATION Procédure

Cette procédure applique la recommandation indiquée dans une base de données d'intelligence artificielle autonome.

Syntaxe

DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION
    ( RECOMMENDATION_ID  IN RAW,
      TABLE_OWNER        IN VARCHAR2   DEFAULT NULL,
      TABLE_NAME         IN VARCHAR2   DEFAULT NULL);

Paramètres

Paramètre Description

RECOMMENDATION_ID

ID recommandation retourné par la fonction RECOMMEND_PARTITION_METHOD ou interrogé à partir de la vue DBA_AUTO_PARTITION_RECOMMENDATIONS.

TABLE_OWNER, TABLE_NAME

Lorsqu'un code de recommandation unique contient des recommandations pour plusieurs tables, ce paramètre facultatif vous permet de contrôler les tables qui sont partitionnées.
  • Si les paramètres sont NULL, partitionnez toutes les tables recommandées dans l'ID recommandation indiqué.
  • Si un nom de table est indiqué, partitionnez uniquement la table nommée.
  • Si TABLE_OWNER ou TABLE_NAME est NOT NULL, ils doivent tous deux être NOT NULL.

Note d'utilisation :

Indépendamment de AUTO_PARTITION_MODE, cette procédure déclenche un ORA-20000: recommendation_id was not found si aucune recommandation acceptée n'est associée au RECOMMENDATION_ID ou si toutes les recommandations acceptées associées au RECOMMENDATION_ID ont déjà été appliquées. Le premier cas s'applique si RECOMMENDATION_ID a été généré avec AUTO_PARTITION_MODE = OFF. Le second cas s'applique si RECOMMENDATION_ID a été généré avec AUTO_PARTITION_MODE = IMPLEMENT.

Fonction REPORT_ACTIVITY

Cette fonction retourne un rapport des opérations de partitionnement automatique exécutées pendant une période spécifique dans une base de données d'IA autonome.

Syntaxe

DBMS_AUTO_PARTITION.REPORT_ACTIVITY
    ( ACTIVITY_START     IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
      ACTIVITY_END       IN TIMESTAMP WITH TIME ZONE DEFAULT NULL,
      TYPE               IN VARCHAR2                 DEFAULT 'TEXT',
      SECTION            IN VARCHAR2                 DEFAULT 'ALL',
      LEVEL              IN VARCHAR2                 DEFAULT 'TYPICAL')
RETURN CLOB;

Paramètres

Paramètre Description

ACTIVITY_START

Heure de début de l'utilisation des opérations de partitionnement automatique pour le rapport. Si aucune valeur n'est spécifiée ou si NULL est spécifié, le rapport est généré pour la dernière opération de partitionnement automatique qui a été exécutée.

ACTIVITY_END

Fin des opérations de partitionnement automatique du temps utilisées pour le rapport. Si aucune valeur n'est spécifiée ou si NULL est spécifié, le rapport est généré pour la dernière opération de partitionnement automatique qui a été exécutée.

TYPE

Format du rapport comportant l'une des valeurs suivantes :
  • TEXT (par défaut)
  • HTML
  • XML

SECTION

Sections à inclure dans le rapport avec l'une des valeurs suivantes :
  • SUMMARY - Inclure uniquement le sommaire de la charge de travail dans le rapport
  • ALL = Inclure toutes les sections dans le rapport. (par défaut)

level

Niveau d'informations à inclure dans le rapport avec l'une des valeurs suivantes :
  • TYPICAL - Inclure les informations de partitionnement automatique standard dans le rapport (par défaut).
  • CHANGED - Inclure uniquement les énoncés SQL dont la performance a changé dans le rapport.
  • IMPROVED - Inclure uniquement les énoncés SQL avec une performance améliorée dans le rapport.
  • REGRESSED - Inclure uniquement les énoncés SQL dont la performance a diminué dans le rapport.
  • UNCHANGED - Inclure uniquement les énoncés SQL dont la performance n'a pas été modifiée dans le rapport.
  • ALL - Inclure toutes les informations de partitionnement automatique dans le rapport.

Notes d'utilisation

Retours : Rapport d'analyse de la performance pour la charge globale exécutée sur la base de données après l'application de la recommandation. Ce rapport n'est pas stocké de manière persistante avec la recommandation.

Fonction REPORT_LAST_ACTIVITY

Cette fonction retourne un rapport de l'opération de partitionnement automatique la plus récente exécutée dans une base de données d'intelligence artificielle autonome.

Syntaxe

DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY
    ( TYPE    IN VARCHAR2 DEFAULT 'TEXT',
      SECTION IN VARCHAR2 DEFAULT 'ALL',
      LEVEL   IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN CLOB;

Paramètres

Paramètre Description

TYPE

Le format de sortie du rapport, voir Fonction REPORT_ACTIVITY pour plus d'informations.

SECTION

Pour les sections incluses dans le rapport, voir Fonction REPORT_ACTIVITY pour plus d'informations.

LEVEL

Niveau d'informations inclus dans le rapport, voir Fonction REPORT_ACTIVITY pour plus d'informations.

Notes d'utilisation

Retours : Rapport d'analyse de la performance pour la charge globale exécutée sur la base de données après l'application de la dernière recommandation. Ce rapport n'est pas stocké de manière persistante avec la recommandation.