Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-01652 :impossible d'étendre le segment temporaire de 128 dans le tablespace SYSTEM :comment étendre ?

Chaque tablespace possède un ou plusieurs fichiers de données qu'il utilise pour stocker des données.

La taille maximale d'un fichier de données dépend de la taille de bloc de la base de données. Je pense que, par défaut, cela vous laisse un maximum de 32 Go par fichier de données.

Pour savoir si la limite réelle est de 32 Go, exécutez la commande suivante :

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

Comparez le résultat que vous obtenez avec la première colonne ci-dessous, et cela indiquera quelle est la taille maximale de votre fichier de données.

J'ai Oracle Personal Edition 11g r2 et dans une installation par défaut, il avait une taille de bloc de 8 192 (32 Go par fichier de données).

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

Vous pouvez exécuter cette requête pour trouver les fichiers de données dont vous disposez, les espaces de table auxquels ils sont associés et la taille de fichier maximale que vous avez actuellement définie (qui ne peut pas dépasser les 32 Go susmentionnés) :

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

MAXSIZE_SET est la taille maximale à laquelle vous avez défini le fichier de données. Il est également pertinent de savoir si vous avez défini l'option AUTOEXTEND sur ON (son nom fait ce qu'il implique).

Si votre fichier de données a une taille maximale faible ou si l'extension automatique n'est pas activée, vous pouvez simplement exécuter :

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

Cependant, si sa taille est proche de 32 Go, une extension automatique est activée, alors oui, vous avez besoin d'un autre fichier de données pour le tablespace :

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