View a markdown version of this page

Réduction des espaces disque logiques dans RDS pour Oracle - Amazon Relational Database Service

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

paramètres shrink_tablespace
Nom du paramètre Type de données Par défaut Obligatoire Description

p_tablespace_name

VARCHAR2

Oui

Nom du tablespace à réduire.

p_shrink_mode

NUMBER

2 (TS_MODE_SHRINK)

Non

Le mode rétrécissement. Utilisez DBMS_SPACE.TS_MODE_ANALYZE (1) pour analyser uniquement ou DBMS_SPACE.TS_MODE_SHRINK (2) pour effectuer le rétrécissement.

p_target_size

NUMBER

0

Non

Taille cible, en octets. Utilisez 0 (valeur par défaut) pour réduire à la taille minimale possible. Spécifiez une valeur positive à réduire à une cible spécifique.

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_size est inférieure à l'espace occupé actuellement par les objets, Oracle ajuste la cible à la taille minimale réalisable.

  • La valeur de ne p_target_size doit 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_TABLESPACE directs sans le rdsadmin_util wrapper ne sont pas pris en charge. Utilisez toujours l'rdsadmin.rdsadmin_util.shrink_tablespaceemballage.

Ressources connexes