Всяко пространство за таблици има един или повече файлове с данни, които използва за съхраняване на данни.
Максималният размер на файл с данни зависи от размера на блока на базата данни. Вярвам, че по подразбиране това ви остава с максимум 32 GB на файл с данни.
За да разберете дали действителното ограничение е 32 GB, изпълнете следното:
select value from v$parameter where name = 'db_block_size';
Сравнете резултата, който получавате, с първата колона по-долу и това ще покаже какъв е максималният ви размер на файла с данни.
Имам Oracle Personal Edition 11g r2 и при инсталация по подразбиране той имаше размер на блока 8192 (32GB на файл с данни).
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
Можете да изпълните тази заявка, за да намерите какви файлове с данни имате, с какви пространства за таблици са свързани и на какво сте задали в момента максималния размер на файла (който не може да надвишава гореспоменатите 32 GB):
select bytes/1024/1024 as mb_size,
maxbytes/1024/1024 as maxsize_set,
x.*
from dba_data_files x
MAXSIZE_SET е максималният размер, който сте задали на файла с данни. Също така е важно дали сте задали опцията AUTOEXTEND на ON (името й прави това, което предполага).
Ако вашият файл с данни има нисък максимален размер или автоматичното разширение не е включено, можете просто да изпълните:
alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;
Въпреки това, ако размерът му е на/близо 32 GB, автоматичното разширение е включено, тогава да, имате нужда от друг файл с данни за пространството за таблици:
alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;