Gestion du partitionnement automatique sur Autonomous Database
Le partitionnement automatique, lorsqu'il est appliqué, est transparent et ne nécessite aucune intervention ou maintenance de l'utilisateur.
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. - Fonctionnement du partitionnement automatique
Lorsqu'il est appelé, le partitionnement automatique identifie les tables candidates pour le partitionnement automatique, évalue les schémas 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 permettant d'utiliser et de gérer le partitionnement automatique dans Autonomous Database. - Génération de rapports de partitionnement automatiques
Générez des rapports de partitionnement automatiques à l'aide des fonctionsREPORT_ACTIVITY
etREPORT_LAST_ACTIVITY
du packageDBMS_AUTO_PARTITION
. - Exemples de scénarios de partitionnement automatique
Exemples de scénarios de partitionnement automatique à l'aide des procédures et fonctions de l'APIDBMS_AUTO_PARTITION
. - 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.
Rubrique parent : Performance Monitor and Management
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.
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.
Rubrique parent : Gestion du partitionnement automatique sur 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
.
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 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.
-
Evalue les schémas de partition en fonction de l'analyse, de la quantification et de la vérification des performances :
-
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.
-
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.
-
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é.
-
-
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.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
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');
Ce mode ne désactive pas les tables partitionnées automatiquement existantes.
Gérer les schémas et les tables pour le partitionnement automatique
AUTO_PARTITION_SCHEMA
et AUTO_PARTITION_TABLE
pour indiquer les schémas et les tables pris 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.
-
En supposant que 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 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.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
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.
- 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.
- 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.
- 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.
- 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 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. - 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 colonneMODIFY_TABLE_DDL
de la vueDBA_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.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
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.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
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
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT 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; /
- 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.
- 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 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. - 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;
- 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;
- 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
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT 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; /
- 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.
- 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;
- 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';
- 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.
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
- Définissez le paramètre
AUTO_PARTITION_MODE
surREPORT 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; /
- 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.
- 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;
- 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.
Rubrique parent : Gestion du partitionnement automatique sur Autonomous Database
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. - DBMS_AUTO_PARTITION DBA_AUTO_PARTITION_RECOMMENDATIONS Vue
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 des vues existantes
Elle 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 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 |
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique
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. |
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique
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.
*_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'est pas partitionnée parDBMS_AUTO_PARTITION
.
Rubrique parent : Vues du dictionnaire de données pour le partitionnement automatique