View a markdown version of this page

Riduzione delle tablespace in RDS per Oracle - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riduzione delle tablespace in RDS per Oracle

A partire da Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle supporta la riduzione del tablespace con questa procedura. rdsadmin.rdsadmin_util.shrink_tablespace Utilizza questa procedura per recuperare lo spazio inutilizzato in una tablespace comprimendone i file di dati. La riduzione riduce il consumo di storage senza la migrazione dei dati o la ricreazione del tablespace.

Panoramica di

Nel tempo, le tablespace di un database Oracle possono accumulare spazio inutilizzato dai dati eliminati o riorganizzati. La rdsadmin.rdsadmin_util.shrink_tablespace procedura include la DBMS_SPACE.SHRINK_TABLESPACE funzionalità Oracle e gestisce i privilegi interni richiesti per l'utente.

La riduzione del tablespace supporta le seguenti modalità:

  • Modalità di analisi (DBMS_SPACE.TS_MODE_ANALYZE): valuta il tablespace e segnala quanto spazio è possibile recuperare, senza apportare modifiche.

  • Shrink mode (DBMS_SPACE.TS_MODE_SHRINK): sposta gli oggetti e ridimensiona i file di dati nel tablespace per recuperare lo spazio inutilizzato. Questa è la modalità predefinita.

Requisiti

Per utilizzare la riduzione del tablespace, l'istanza DB deve soddisfare i seguenti requisiti:

  • Oracle Database 26ai o versioni successive

  • Oracle Enterprise Edition

Sintassi

EXEC rdsadmin.rdsadmin_util.shrink_tablespace( p_tablespace_name => 'tablespace_name', p_shrink_mode => mode, p_target_size => target_bytes);

Parameters

parametri shrink_tablespace
Nome del parametro Tipo di dati Default Campo obbligatorio Descrizione

p_tablespace_name

VARCHAR2

Il nome del tablespace da ridurre.

p_shrink_mode

NUMBER

2 (TS_MODE_SHRINK)

No

La modalità di compattazione. Utilizzate DBMS_SPACE.TS_MODE_ANALYZE (1) solo per analizzare o DBMS_SPACE.TS_MODE_SHRINK (2) per eseguire la riduzione.

p_target_size

NUMBER

0

No

La dimensione di destinazione, in byte. Usa 0 (impostazione predefinita) per ridurla alla dimensione minima possibile. Specificate un valore positivo da ridurre a un obiettivo specifico.

Esempi

Analisi di una tablespace alla ricerca di spazio recuperabile

Per analizzare un tablespace senza apportare modifiche, esegui il comando seguente:

EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS', DBMS_SPACE.TS_MODE_ANALYZE);

Di seguito è riportato un output di esempio:

-------------------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

Riduzione di una tablespace alla dimensione minima

Per ridurre un tablespace e recuperare tutto lo spazio inutilizzato, esegui il comando seguente:

EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS');

Di seguito è riportato un output di esempio:

-------------------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

Riduzione di un tablespace a una dimensione di destinazione specifica

Per ridurre un tablespace a una dimensione target in byte, specificate il parametro. p_target_size Se l'obiettivo è inferiore alla dimensione minima raggiungibile, Oracle lo regola automaticamente verso l'alto:

EXEC rdsadmin.rdsadmin_util.shrink_tablespace('USERS', DBMS_SPACE.TS_MODE_SHRINK, 52428800);

Considerazioni

Quando compatti una tablespace, considera quanto segue:

  • La riduzione del tablespace è un'operazione online. Gli oggetti nel tablespace rimangono accessibili durante la compressione.

  • L'operazione di compattazione può spostare oggetti, come tabelle e indici, all'interno del tablespace per consolidare lo spazio libero prima di ridimensionare i file di dati.

  • Gli indici rimangono validi dopo l'operazione di compattazione e l'integrità dei dati viene preservata.

  • Se il valore di p_target_size è inferiore allo spazio occupato attualmente dagli oggetti, Oracle regola l'obiettivo alla dimensione minima raggiungibile.

  • Il valore di non p_target_size deve superare la dimensione corrente del tablespace. Specificate un obiettivo inferiore o uguale alla dimensione corrente.

  • Le transazioni attive sugli oggetti nella tablespace potrebbero impedire all'operazione di recuperare tutto lo spazio disponibile. Per ottenere risultati ottimali, esegui lo shrink durante un periodo di bassa attività.

  • Le chiamate DBMS_SPACE.SHRINK_TABLESPACE dirette senza il rdsadmin_util wrapper non sono supportate. Usa sempre il wrapper. rdsadmin.rdsadmin_util.shrink_tablespace

Risorse correlate