Cada tablespace tiene uno o más archivos de datos que utiliza para almacenar datos.
El tamaño máximo de un archivo de datos depende del tamaño del bloque de la base de datos. Creo que, de forma predeterminada, eso te deja con un máximo de 32 gb por archivo de datos.
Para averiguar si el límite real es de 32 gb, ejecute lo siguiente:
select value from v$parameter where name = 'db_block_size';
Compare el resultado que obtiene con la primera columna a continuación, y eso indicará cuál es el tamaño máximo de su archivo de datos.
Tengo Oracle Personal Edition 11g r2 y en una instalación predeterminada tenía un tamaño de bloque de 8192 (32 gb por archivo de datos).
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
Puede ejecutar esta consulta para encontrar qué archivos de datos tiene, con qué espacios de tabla están asociados y cuál ha establecido actualmente como tamaño máximo de archivo (que no puede exceder los 32 gb mencionados anteriormente):
select bytes/1024/1024 as mb_size,
maxbytes/1024/1024 as maxsize_set,
x.*
from dba_data_files x
MAXSIZE_SET es el tamaño máximo al que ha configurado el archivo de datos. También es relevante si ha configurado la opción AUTOEXTEND en ON (su nombre hace lo que implica).
Si su archivo de datos tiene un tamaño máximo bajo o la extensión automática no está activada, simplemente puede ejecutar:
alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;
Sin embargo, si su tamaño es de 32 gb o está cerca, hay una extensión automática activada, entonces sí, necesita otro archivo de datos para el tablespace:
alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;