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;