Gestion du partitionnement automatique sur Autonomous Database
Lorsqu'il est appliqué, le partitionnement automatique est transparent et ne nécessite aucune intervention ni maintenance de l'utilisateur.
Le partitionnement automatique n'a pas d'incidence sur les stratégies de partitionnement existantes et s'ajoute au partitionnement manuel dans Autonomous Database. Les tables partitionnées manuellement sont exclues des tables candidates pour le partitionnement automatique.
- A propos du partitionnement automatique
Le partitionnement automatique dans Autonomous Database analyse la charge globale d'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. - Fonctionnement du partitionnement automatique
Lorsqu'il est appelé, le partitionnement automatique identifie les tables candidates pour le partitionnement automatique, évalue les modèles de partition et implémente une stratégie de partitionnement. - Configuration du partitionnement automatique
Utilisez la procédureDBMS_AUTO_PARTITION.CONFIGURE
pour configurer les options de partitionnement automatique. - Utilisation du partitionnement automatique
Description du flux et des processus généraux d'utilisation et de gestion du partitionnement automatique dans Autonomous Database. - Génération des rapports de partitionnement automatique
Générez des rapports de partitionnement automatique à l'aide des fonctionsREPORT_ACTIVITY
etREPORT_LAST_ACTIVITY
du packageDBMS_AUTO_PARTITION
. - Exemples de scénario de partitionnement automatique
Exemples de scénario de partitionnement automatique à l'aide des fonctions et des procédures d'APIDBMS_AUTO_PARTITION
. - Vues du dictionnaire de données pour le partitionnement automatique
Deux nouvelles vues et une vue mise à jour sont disponibles dans le dictionnaire de données pour obtenir des informations sur la configuration du partitionnement automatique et des recommandations dans votre base de données.
Remarque parent : Performance Monitor and Management
A propos du partitionnement automatique
Le partitionnement automatique dans Autonomous Database analyse la charge globale d'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 des stratégies de partitionnement appropriées nécessite une connaissance approfondie de la charge globale d'application et de la distribution des données. Lorsque vous effectuez un partitionnement manuel, vous devez analyser la charge globale et choisir le mode d'application du partitionnement aux tables et aux index pour améliorer les performances des applications. Le partitionnement automatique permet aux utilisateurs 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 avec le partitionnement à niveau unique. Le partitionnement automatique ne prend pas en charge les stratégies de partitionnement plus complexes telles que les tables partitionnées à plusieurs colonnes ou le partitionnement composite.
Le partitionnement automatique utilise l'une des méthodes de partitionnement suivantes :
- AUTOMATIC INTERVAL : cette option est plus adaptée 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 relatifs au partitionnement.
Le partitionnement automatique fournit les fonctionnalités suivantes :
- Analyse la charge globale d'application et recherche la stratégie de partitionnement optimale pour améliorer les performances de requête des tables pouvant être partitionnées automatiquement.
- 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 une stratégie de partitionnement identifiée pour une charge globale donnée et de lui appliquer celle-ci.
Le partitionnement automatique requiert des appels explicites aux API PL/SQL
DBMS_AUTO_PARTITION
pour recommander le partitionnement automatique et l'appliquer à une instance Autonomous Database.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Fonctionnement du partitionnement automatique
Contrairement à l'indexation automatique, le partitionnement automatique n'est pas régulièrement exécuté en tant que tâche d'arrière-plan. Le partitionnement automatique est exécuté uniquement lorsque vous l'appelez à l'aide de la fonction DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
.
Lorsque vous appelez le partitionnement automatique, il effectue les tâches suivantes :
-
Identifie les tables candidates pour le partitionnement automatique en analysant la charge globale des tables candidates sélectionnées.
Par défaut, le partitionnement automatique utilise les informations de workload collectées dans une instance Autonomous Database à des fins d'analyse. Selon la taille de la charge globale, un échantillon de requêtes peut être envisagé.
-
Evalue les modèles de partition en fonction de l'analyse de la charge globale, de la quantification et de la vérification des gains de performances :
-
Des modèles de partition vides candidats avec des statistiques synthétisées sont créés en interne et analysés en vue d'améliorer les performances.
-
Le modèle candidat présentant 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.
-
Si un modèle de partition candidat n'améliore pas les performances au-delà des critères de performances et de régression indiqués, le partitionnement automatique n'est pas recommandé.
-
-
Implémente la stratégie de partitionnement optimale, s'il est configuré de manière à l'effectuer, pour les tables analysées par les procédures de partitionnement automatique.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Configuration du 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, sans les implémenter
EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','REPORT ONLY');
Désactivation des nouvelles recommandations et implémentation de celles-ci
EXEC DBMS_AUTO_PARTITION.CONFIGURE('AUTO_PARTITION_MODE','OFF');
Ce mode ne désactive pas les tables partitionnées automatiquement existantes.
Gestion des schémas et des tables pour le partitionnement automatique
AUTO_PARTITION_SCHEMA
et AUTO_PARTITION_TABLE
pour indiquer les schémas et les tables à prendre en compte pour le partitionnement automatique.
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.
-
Si la liste d'inclusion et la liste d'exclusion sont vides, ajoutez le schéma
HR
et la tableSH.SALES
à la liste d'exclusion, ce qui évite l'analyse de partitionnement automatique de ces objets uniquement.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; /
-
Si 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 qu'elle contient sont pris en compte.Dans cet exemple, seul le schéma
HR
est candidat pour le partitionnement automatique.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_SCHEMA', PARAMETER_VALUE => 'HR', ALLOW => TRUE); END; /
Gestion de la durée de conservation des rapports de partitionnement automatique
Définissez la durée 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 CONFIGURE.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Utilisation du partitionnement automatique
décrit le flux et les processus généraux d'utilisation et de gestion du partitionnement automatique dans Autonomous Database.
- 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 des opérations gourmandes en ressources et à longue exécution qui peuvent ajouter un traitement indésirable à votre base de données.Afin d'utiliser une base de données secondaire pour l'analyse automatique de partitionnement, la base de données doit disposer d'informations sur votre charge globale dans un référentiel de charge globale SQL géré en interne.
- 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, maintenu 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 disposera des informations nécessaires sur la charge globale. Vous pouvez utiliser le partitionnement automatique avec ces clones sans effectuer d'actions supplémentaires.Reportez-vous à Clonage d'une instance Autonomous Database.
- Utilisez d'autres bases de données pour le partitionnement automatique.
Vous pouvez exécuter la charge globale manuellement pour collecter les informations sur la charge globale nécessaires. Si vous exécutez manuellement la charge globale avant d'utiliser le partitionnement automatique, toute instance Autonomous Database contenant les données et les schémas 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.
- Utilisez une base de données clonée pour le partitionnement automatique.
- 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 gains de performances en exécutant la charge globale sur une table auxiliaire créée en interne. Cette opération peut être gourmande en ressources et à longue durée d'exécution, ce qui nécessite de l'UC et de l'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 candidate. - Appliquez la recommandation.
Les recommandations peuvent être implémentées à l'aide de la procédure
APPLY_RECOMMENDATION
dans la base de données dans laquelle l'analyse des recommandations a été effectuée. Sinon, toute recommandation peut être extraite de la base de données utilisée pour l'analyse et appliquée à toute base de données, telle qu'un système de production. Le script nécessaire à la modification manuelle est stocké dans la colonneMODIFY_TABLE_DDL
de la vueDBA_AUTO_PARTITION_RECOMMENDATION
.Oracle recommande d'appliquer le partitionnement automatique à la base de données en période creuse. Bien que vos tables soient converties en tables partitionnées automatiquement, la conversion ajoute des besoins en ressources supplémentaires à votre système, tels que de l'UC et de l'E/S supplémentaires. Le partitionnement automatique nécessite jusqu'à 1,5 fois la taille de la table à modifier comme espace libre supplémentaire, selon les opérations DML simultanées en cours sur ces tables.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Génération des rapports de partitionnement automatique
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ération d'un rapport, au format texte brut, des opérations de partitionnement automatique d'une période spécifique
L'exemple suivant génère un rapport contenant les informations habituelles sur les opérations de partitionnement automatique des dernières 24 heures. Par défaut, le rapport est généré au format texte brut.
DECLARE
Report clob := NULL
BEGIN
Report := DBMS_AUTO_PARTITION.REPORT_ACTIVITY();
END;
/
Génération d'un rapport, au format HTML, des opérations de partitionnement automatique de mai 2021
L'exemple suivant génère un rapport contenant les informations de base sur les opérations de partitionnement automatique du mois de mai 2021. Le rapport est généré au format HTML et inclut uniquement 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ération d'un rapport, au format texte brut, de la dernière opération de partitionnement automatique
L'exemple suivant génère un rapport contenant les informations habituelles sur la dernière opération de partitionnement automatique. Par défaut, le rapport est généré au format texte brut.
DECLARE
Report clob := NULL
BEGIN
Report := DBMS_AUTO_PARTITION.REPORT_LAST_ACTIVITY();
END;
/
Pour plus d'informations, reportez-vous à REPORT_ACTIVITY Fonction.
Pour plus d'informations, reportez-vous à REPORT_LAST_ACTIVITY Fonction.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Exemples de scénario de partitionnement automatique
Exemples de scénario de partitionnement automatique à l'aide des fonctions et des procédures d'API DBMS_AUTO_PARTITION
.
Générer une recommandation pour une table unique et l'appliquer manuellement
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT ONLY
pour permettre l'établissement et la vérification d'une recommandation de partitionnement automatique. La recommandation n'est pas appliquée à la table.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_MODE', PARAMETER_VALUE => 'REPORT ONLY'); END; /
- Vérifiez que la table
TPCH.LINEITEM
est candidate pour le partitionnement automatique. Cette étape est facultative et recommandée lorsque vous effectuez un ciblage sélectif de 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 est renvoyée avec la valeur
VALID
. Sinon, les critères de violation s'affichent.Reportez-vous à VALIDATE_CANDIDATE_TABLE Fonction pour obtenir la liste des critères d'admissibilité des tables candidates.
- Appelez l'API
DBMS_AUTO_PARTITION
afin de générer une recommandation pour la tableTPCH.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 de recommandation que vous effectuez à l'aide de
DBMS_AUTO_PARTITION.RECOMMEND_PARTITION_METHOD
peuvent être des opérations gourmandes en ressources et à long terme, et peuvent prendre un temps considérable. Vous devez effectuer cette étape sur une base de données qui n'est pas votre système de production principal. Oracle recommande de doter l'opération de vérification de ressources suffisantes en choisissant le service HIGH. - Vérifiez la recommandation. La vue
DBA_AUTO_PARTITION_RECOMMENDATIONS
contient les informations sur la recommandation. Dans cet exemple, vérifiez la clé de partitionnement et la méthode de partitionnement recommandées.SELECT PARTITION_METHOD, PARTITION_KEY FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
Vous pouvez également interroger 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;
- Après la validation manuelle de la recommandation, appliquez-la. Si vous appliquez la recommandation dans la base de données dans laquelle l'analyse de recommandation a été effectuée, appliquez-la en exécutant la procédure
APPLY_RECOMMENDATION
.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID); END; /
Si vous voulez appliquer la recommandation à une autre base de données, telle que votre environnement de production, extrayez le DDL de modification. Exécutez ensuite le DDL de modification extrait dans la base de données cible. La requête permettant d'extraire le DDL de modification est la suivante :
SELECT MODIFY_TABLE_DDL FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID;
Exemple de sortie du DDL 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;
- Pour vérifier que la table a été partitionnée automatiquement, recherchez les vues de 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 la requête suivante pour déterminer quand 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 à Procédure CONFIGURE.
Pour plus d'informations, reportez-vous à VALIDATE_CANDIDATE_TABLE Fonction.
Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.
Pour plus d'informations, reportez-vous à APPLY_RECOMMENDATION Procédure.
Générer une recommandation pour des tables admissibles et l'appliquer manuellement
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT ONLY
pour permettre l'établissement et la vérification d'une recommandation de partitionnement automatique. 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; /
- Appelez l'API
DBMS_AUTO_PARTITION
afin de générer une table de recommandation.-- 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 de recommandation sont des opérations gourmandes en ressources et à longue durée d'exécution, et peuvent prendre un temps considérable. Sur les bases de données secondaires autres que de production, Oracle recommande de doter la vérification de ressources suffisantes en choisissant le service HIGH.
- Recherchez la vue
DBA_AUTO_PARTITION_RECOMMENDATIONS
pour visualiser les tables qui 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;
- Utilisez cette requête pour effectuer une exploration vers le bas dans le rapport d'une table spécifique qui a été analysée lors de l'exécution, la table
TPCH.LINEITEM
dans l'exemple suivant.SELECT REPORT FROM DBA_AUTO_PARTITION_RECOMMENDATIONS WHERE RECOMMENDATION_ID = :RECOMMENDATION_ID AND TABLE_OWNER = 'TPCH' AND TABLE_NAME = 'LINEITEM';
- Exécutez la procédure
APPLY_RECOMMENDATION
pour appliquer la recommandation.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID); END; /
Vous pouvez également appliquer les recommandations d'une table spécifique qui a été analysée, la table
TPCH.LINEITEM
dans l'exemple suivant.BEGIN DBMS_AUTO_PARTITION.APPLY_RECOMMENDATION( RECOMMENDATION_ID => :RECOMMENDATION_ID, TABLE_OWNER => 'TPCH', TABLE_NAME => 'LINEITEM'); END; /
Pour plus d'informations, reportez-vous à Procédure CONFIGURE.
Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.
Pour plus d'informations, reportez-vous à APPLY_RECOMMENDATION Procédure.
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 comportant de nombreuses tables candidates, un seul appel peut ne pas générer de recommandation pour toutes les tables pouvant être partitionnées. Vous pouvez appeler la recommandation de partitionnement automatique à plusieurs reprises en toute sécurité pour générer des recommandations pour des tables supplémentaires. Lorsque la fonction est appelée et qu'aucune ligne ne figure dans DBA_AUTO_PARTITION_RECOMMENDATIONS
pour RECOMMENDATION_ID
, la fonction n'a trouvé aucune autre table candidate pour le partitionnement automatique.
Générer des recommandations pour les tables admissibles et les appliquer automatiquement
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT ONLY
pour permettre l'établissement et la vérification d'une recommandation de partitionnement automatique. La recommandation n'est pas appliquée aux tables existantes.BEGIN DBMS_AUTO_PARTITION.CONFIGURE( PARAMETER_NAME => 'AUTO_PARTITION_MODE', PARAMETER_VALUE => 'IMPLEMENT'); END; /
- Appelez l'API
DBMS_AUTO_PARTITION
afin de générer une table de recommandation.-- 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 de recommandation sont des opérations gourmandes en ressources et à longue durée d'exécution, et peuvent prendre un temps considérable. Sur les bases de données secondaires autres que de production, Oracle recommande de doter la vérification de ressources suffisantes en choisissant le service HIGH.
- Recherchez la vue
DBA_AUTO_PARTITION_RECOMMENDATIONS
pour visualiser les tables qui 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;
- 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 à Procédure CONFIGURE.
Pour plus d'informations, reportez-vous à RECOMMEND_PARTITION_METHOD Function.
Pour plus d'informations, reportez-vous à REPORT_LAST_ACTIVITY Fonction.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
Vues du dictionnaire de données pour le partitionnement automatique
Deux nouvelles vues et une vue mise à jour sont disponibles dans le dictionnaire de données pour obtenir des informations sur la configuration du partitionnement automatique et des recommandations dans votre base de données.
- DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_CONFIG View
Affiche les paramètres de configuration actuels du partitionnement automatique. - Vue DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS
Lorsque vous exécutezCONFIGURE
ouRECOMMEND_PARTITION
, les résultats de ces procédures sont stockés dans cette vue.RECOMMENDATION_ID
est utilisé dans plusieurs procédures et fonctions. - DBMS_AUTO_PARTITION Mises à jour apportées aux vues existantes
Décrit les modifications apportées aux vues existantes suite à l'implémentation du partitionnement automatique.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_CONFIG Vue
Affiche les paramètres de configuration actuels du partitionnement automatique.
Colonne | Description |
---|---|
PARAMETER_NAME |
Nom du paramètre de configuration. |
PARAMETER_VALUE |
Valeur du paramètre de configuration. |
LAST_MODIFIED |
Heure, au format UTC, de la dernière modification de la valeur du paramètre. |
MODIFIED_BY |
Utilisateur à l'origine de la dernière modification de la valeur du paramètre |
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique
Vue DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS
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 partitionnement recommandée. Reportez-vous à Procédure CONFIGURE. |
PARTITION_KEY |
Clé de partitionnement recommandée. NULL signifie que l'analyse est terminée et qu'il est recommandé de ne pas partitionner la table.
|
GENERATE_TIMESTAMP |
Heure (UTC) de la génération de cette recommandation. |
RECOMMENDATION_ID |
ID utilisé avec les API DBMS_AUTO_PARTITION pour obtenir des informations supplémentaires sur cette recommandation.
|
RECOMMENDATION_SEQ |
Lorsqu'un ID de recommandation comporte des recommandations pour plusieurs tables, indique l'ordre de génération des recommandations. Des rapports sur les performances sont générés si les recommandations précédentes ont été appliquées. Par exemple, le rapport pour RECOMMENDATION_SEQ = 2 suppose que les recommandations ont été appliquées à RECOMMENDATION_SEQ = 1 et à RECOMMENDATION_SEQ = 2 .
|
MODIFY_TABLE_DDL |
DDL qui serait ou a été utilisé pour appliquer la recommandation. |
APPLY_TIMESTAMP_START |
Heure, au format UTC, de démarrage de l'application de cette recommandation. Indique NULL si la recommandation n'a pas été appliquée.
|
APPLY_TIMESTAMP_END |
Heure (au format UTC) de fin de l'application de cette recommandation. Indique NULL si la recommandation n'a pas été appliquée ou si l'application n'est pas terminée.
|
REPORT |
Rapport SQL Performance Analyzer de l'exécution SQL sur la base de données après application de la recommandation. |
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique
DBMS_AUTO_PARTITION Mises à jour des vues existantes
Décrit les modifications apportées aux vues existantes suite à l'implémentation du partitionnement automatique.
*_PART_TABLES
, la colonne AUTO
(VARCHAR2(3)
) a été ajoutée. Ses valeurs sont les suivantes :
YES
: si la table a été partitionnée parDBMS_AUTO_PARTITION
.NO
: si la table n'a pas été partitionnée parDBMS_AUTO_PARTITION
.
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique