Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-01652:impossibile estendere il segmento temporaneo di 128 nel tablespace SISTEMA:come estendere?

Ogni tablespace ha uno o più file di dati che utilizza per archiviare i dati.

La dimensione massima di un file di dati dipende dalla dimensione del blocco del database. Credo che, per impostazione predefinita, ciò ti lasci con un massimo di 32 GB per file di dati.

Per scoprire se il limite effettivo è 32 GB, esegui quanto segue:

select value from v$parameter where name = 'db_block_size';

Confronta il risultato che ottieni con la prima colonna di seguito e ciò indicherà qual è la dimensione massima del tuo file di dati.

Ho Oracle Personal Edition 11g r2 e in un'installazione predefinita aveva una dimensione del blocco di 8.192 (32 GB per file di dati).

Block Sz   Max Datafile Sz (Gb)   Max DB Sz (Tb)

--------   --------------------   --------------

   2,048                  8,192          524,264

   4,096                 16,384        1,048,528

   8,192                 32,768        2,097,056

  16,384                 65,536        4,194,112

  32,768                131,072        8,388,224

Puoi eseguire questa query per trovare quali file di dati hai, a quali tablespace sono associati e a cosa hai attualmente impostato la dimensione massima del file (che non può superare i 32 GB sopra menzionati):

select bytes/1024/1024 as mb_size,
       maxbytes/1024/1024 as maxsize_set,
       x.*
from   dba_data_files x

MAXSIZE_SET è la dimensione massima su cui hai impostato il file di dati. Altrettanto importante è se hai impostato l'opzione AUTOEXTEND su ON (il suo nome fa ciò che implica).

Se il tuo file di dati ha una dimensione massima bassa o l'estensione automatica non è attiva, puoi semplicemente eseguire:

alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;

Tuttavia, se la sua dimensione è pari/vicino a 32 GB, l'estensione automatica è attiva, sì, è necessario un altro file di dati per il tablespace:

alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;