Package DBMS_AUTO_PARTITION
Le package DBMS_AUTO_PARTITION fournit des sous-programmes d'administration pour la gestion du partitionnement automatique des schémas et des tables.
Procédure de configuration
Cette procédure configure les paramètres de partitionnement automatique dans la base de données Autonomous AI.
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 de partitionnement automatique à mettre à jour. Il peut présenter l'une des valeurs suivantes :
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.
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 celles 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 dans aucune des listes, les listes d'inclusion et d'exclusion de schéma déterminent si une table est une table candidate pour le partitionnement automatique. En cas de conflit entre les listes de niveau schéma et les listes de niveau table, les listes de niveau table sont prioritaires. Pour supprimer toutes les tables des listes d'inclusion et d'exclusion, exécutez la commande suivante :
|
PARAMETER_VALUE |
Valeur du paramètre de configuration indiqué dans parameter_name. Lorsqu'elle est définie sur NULL, la valeur par défaut du paramètre de configuration lui est affectée. |
ALLOW |
Applicable uniquement aux paramètres de configuration
AUTO_PARTITION_SCHEMA et AUTO_PARTITION_TABLE. |
Notes d'utilisation
- Vous pouvez vérifier le paramètre actuel pour la configuration du partitionnement automatique à l'aide du code SQL suivant :
SELECT * FROM DBA_AUTO_PARTITION_CONFIG;- 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.
Fonction VALIDATE_CANDIDATE_TABLE
Cette fonction vérifie si la table indiquée est valide pour le partitionnement automatique dans la base de données Autonomous AI.
Candidat valide
Pour être un candidat valide, les tests suivants doivent réussir :
-
La table transmet les tests d'inclusion et d'exclusion spécifiés par les paramètres de configuration
AUTO_PARTITION_SCHEMAetAUTO_PARTITION_TABLE. -
La table existe et contient des statistiques à jour.
-
La table est d'au moins 64 Go.
-
La table contient au moins 5 requêtes dans l'ensemble de réglages SQL qui ont analysé la table.
-
La table ne contient pas de colonne de type de données
LONG. -
La table n'est pas partitionnée manuellement.
-
La table n'est pas une table externe, une table hybride interne/externe, une table temporaire, une table organisée en index ou 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, de vue matérialisée ou de stockage Flashback Archive.
-
La table n'a pas de tables imbriquées ou certaines autres fonctionnalités d'objet.
Renvoie :
-
VALIDsi 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 au partitionnement automatique. |
Notes d'utilisation
- Par exemple, vous pouvez vérifier la validité d'un exemple de table,
LINEORDERdans le schémaTEST, avec l'instruction SQL suivante :
SELECT DBMS_AUTO_PARTITION.VALIDATE_CANDIDATE_TABLE
( TABLE_OWNER => 'TEST',
TABLE_NAME => 'LINEORDER')
FROM DUAL;Fonction RECOMMEND_PARTITION_METHOD
Cette fonction renvoie un ID de 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 Autonomous AI.
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 au 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 que vous avez commencé à traiter une table, le processus ne s'arrête pas. La fonction devrait s'exécuter plus longtemps que ce paramètre. Si ce paramètre est NULL, il n'y a pas de limite de temps. Valeur par défaut : 1 jour. |
REPORT_TYPE |
Permet de générer un rapport pour la méthode de partition recommandée. Pour plus d'informations, reportez-vous à la section REPORT_ACTIVITY Function. |
REPORT_SECTION |
Permet de générer un rapport persistant pour la méthode de partition recommandée. Pour plus d'informations, reportez-vous à la section REPORT_ACTIVITY Function. |
REPORT_LEVEL |
Permet de générer un rapport pour la méthode de partition recommandée. Pour plus d'informations, reportez-vous à la section REPORT_ACTIVITY Function. |
Notes d'utilisation
-
AUTO_PARTITION_MODEcontrô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. Elle ne désactive pas les tables partitionnées automatiques existantes.
-
-
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.
Valeurs renvoyées
Cette fonction renvoie un ID de recommandation qui peut être utilisé comme suit : DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION pour appliquer la recommandation,
-
Utilisez avec
DBMS_AUTO_PARTITION.APPLY_RECOMMENDATIONpour appliquer la recommandation. -
A utiliser avec la vue
DBA_AUTO_PARTITION_RECOMMENDATIONSpour extraire les détails des recommandations. Par exemple :
SELECT PARTITION_METHOD, PARTITION_KEY
FROM DBA_AUTO_PARTITION_RECOMMENDATIONS
WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;Procédure APPLY_RECOMMENDATION
Cette procédure applique la recommandation indiquée dans une base de données Autonomous AI.
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 renvoyé par la fonction RECOMMEND_PARTITION_METHOD ou interrogé à partir de la vue DBA_AUTO_PARTITION_RECOMMENDATIONS. |
TABLE_OWNER, TABLE_NAME |
Lorsqu'un seul ID de recommandation contient des recommandations pour plusieurs tables, ce paramètre facultatif vous permet de contrôler quelles tables sont partitionnées.
|
Remarque sur l'utilisation
Quelle que soit AUTO_PARTITION_MODE, cette procédure génère un élément ORA-20000: recommendation_id was not found si aucune recommandation acceptée n'est associée à l'élément RECOMMENDATION_ID ou si toutes les recommandations acceptées associées à l'élément 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 renvoie un rapport sur les opérations de partitionnement automatique exécutées au cours d'une période spécifique dans une base de données Autonomous AI.
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 |
Les opérations de partitionnement automatique à l'heure de début sont utilisées pour l'état. Si aucune valeur n'est indiquée ou si NULL est spécifié, le rapport est généré pour la dernière opération de partitionnement automatique exécutée. |
ACTIVITY_END |
Fin des opérations de partitionnement automatique utilisées pour l'état. Si aucune valeur n'est indiquée ou si NULL est spécifié, le rapport est généré pour la dernière opération de partitionnement automatique exécutée. |
TYPE |
Format de l'état comportant l'une des valeurs suivantes :
|
SECTION |
Sections à inclure dans le rapport avec l'une des valeurs suivantes :
|
level |
Niveau d'informations à inclure dans l'état avec l'une des valeurs suivantes :
|
Notes d'utilisation
Renvoie un état d'analyse des performances pour la charge globale exécutée sur la base de données après application de la recommandation. Ce rapport n'est pas stocké en permanence avec la recommandation.
Fonction REPORT_LAST_ACTIVITY
Cette fonction renvoie un rapport de l'opération de partitionnement automatique la plus récente exécutée dans une base de données Autonomous AI.
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 |
Format de sortie de l'état. Pour plus d'informations, reportez-vous à la section REPORT_ACTIVITY Function. |
SECTION |
Pour plus d'informations sur les sections incluses dans l'état, reportez-vous à la section REPORT_ACTIVITY Function. |
LEVEL |
Niveau d'informations inclus dans l'état. Pour plus d'informations, reportez-vous à la section REPORT_ACTIVITY Function. |
Notes d'utilisation
Renvoie un état d'analyse des performances 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é en permanence avec la recommandation.