Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Réduction des espaces disque logiques dans RDS pour Oracle
À partir d'Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle prend en charge la réduction de l'espace disque logique dans le cadre de cette procédure. rdsadmin.rdsadmin_util.shrink_tablespace Utilisez cette procédure pour récupérer l'espace inutilisé dans un tablespace en réduisant ses fichiers de données. La réduction réduit la consommation de stockage sans migration des données ni création de tablespaces.
Présentation de
Au fil du temps, les espaces disque logiques d'une base de données Oracle peuvent accumuler de l'espace inutilisé à partir de données supprimées ou réorganisées. La rdsadmin.rdsadmin_util.shrink_tablespace procédure englobe les DBMS_SPACE.SHRINK_TABLESPACE fonctionnalités Oracle et gère les privilèges internes requis pour vous.
La réduction de l'espace disque logique prend en charge les modes suivants :
-
Mode d'analyse (
DBMS_SPACE.TS_MODE_ANALYZE) : évalue l'espace disque logique et indique l'espace que vous pouvez récupérer, sans apporter de modifications. -
Mode de réduction (
DBMS_SPACE.TS_MODE_SHRINK) — Déplace les objets et redimensionne les fichiers de données dans le tablespace pour récupérer l'espace inutilisé. C'est le mode par défaut.
Exigences
Pour utiliser la réduction de l'espace disque logique, votre instance de base de données doit répondre aux exigences suivantes :
-
Oracle Database 26ai ou supérieur
-
Oracle Enterprise Edition
Syntaxe
EXEC rdsadmin.rdsadmin_util.shrink_tablespace( p_tablespace_name => 'tablespace_name', p_shrink_mode =>mode, p_target_size =>target_bytes);
Parameters
| Nom du paramètre | Type de données | Par défaut | Obligatoire | Description |
|---|---|---|---|---|
|
|
|
— |
Oui |
Nom du tablespace à réduire. |
|
|
|
|
Non |
Le mode rétrécissement. Utilisez |
|
|
|
|
Non |
Taille cible, en octets. Utilisez |
Exemples
Analyse d'un tablespace pour trouver de l'espace récupérable
Pour analyser un tablespace sans apporter de modifications, exécutez la commande suivante :
EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS', DBMS_SPACE.TS_MODE_ANALYZE);
Voici un exemple de sortie :
-------------------ANALYZE RESULT------------------- Total Movable Objects: 0 Total Movable Size(GB): 0 Original Datafile Size(GB): .1 Suggested Target Size(GB): .06 Process Time: +00 00:00:00.021513
Réduction d'un espace disque logique à sa taille minimale
Pour réduire un espace disque logique et récupérer tout l'espace inutilisé, exécutez la commande suivante :
EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS');
Voici un exemple de sortie :
-------------------SHRINK RESULT------------------- Total Moved Objects: 0 Total Moved Size(GB): 0 Original Datafile Size(GB): .1 New Datafile Size(GB): .05 Process Time: +00 00:00:00.281151
Réduction d'un espace disque logique à une taille cible spécifique
Pour réduire un tablespace à une taille cible en octets, spécifiez le p_target_size paramètre. Si la cible est inférieure à la taille minimale réalisable, Oracle l'ajuste automatiquement à la hausse :
EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS', DBMS_SPACE.TS_MODE_SHRINK, 52428800);
Considérations
Lorsque vous réduisez un tablespace, tenez compte des points suivants :
-
La réduction de l'espace disque logique est une opération en ligne. Les objets du tablespace restent accessibles pendant le rétrécissement.
-
L'opération de réduction peut déplacer des objets, tels que des tables et des index, dans le tablespace afin de consolider l'espace libre avant de redimensionner les fichiers de données.
-
Les index restent valides après l'opération de réduction et l'intégrité des données est préservée.
-
Si la valeur de
p_target_sizeest inférieure à l'espace occupé actuellement par les objets, Oracle ajuste la cible à la taille minimale réalisable. -
La valeur de ne
p_target_sizedoit pas dépasser la taille actuelle du tablespace. Spécifiez une cible inférieure ou égale à la taille actuelle. -
Les transactions actives sur les objets du tablespace peuvent empêcher l'opération de récupérer tout l'espace disponible. Pour de meilleurs résultats, utilisez le rétracteur pendant une période de faible activité.
-
Les appels
DBMS_SPACE.SHRINK_TABLESPACEdirects sans lerdsadmin_utilwrapper ne sont pas pris en charge. Utilisez toujours l'rdsadmin.rdsadmin_util.shrink_tablespaceemballage.
Ressources connexes
-
DBMS_ SPACE.SHRINK _TABLESPACE dans la documentation de la base
de données Oracle -
Pour de plus amples informations, veuillez consulter Exécution des tâches de base de données courantes pour les instances de base de données Oracle.