Każdy obszar tabel ma jeden lub więcej plików danych, których używa do przechowywania danych.
Maksymalny rozmiar pliku danych zależy od rozmiaru bloku bazy danych. Uważam, że domyślnie daje to maksymalnie 32 GB na plik danych.
Aby sprawdzić, czy rzeczywisty limit wynosi 32 GB, uruchom następujące polecenie:
select value from v$parameter where name = 'db_block_size';
Porównaj uzyskany wynik z pierwszą kolumną poniżej, a to wskaże maksymalny rozmiar pliku danych.
Mam Oracle Personal Edition 11g r2 i w domyślnej instalacji miał rozmiar bloku 8192 (32 GB na plik danych).
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
Możesz uruchomić to zapytanie, aby dowiedzieć się, jakie masz pliki danych, z jakimi obszarami tabel są one powiązane i jaki aktualnie masz ustawiony maksymalny rozmiar pliku (który nie może przekroczyć wspomnianych 32 GB):
select bytes/1024/1024 as mb_size,
maxbytes/1024/1024 as maxsize_set,
x.*
from dba_data_files x
MAXSIZE_SET to maksymalny rozmiar ustawiony dla pliku danych. Istotne jest również to, czy ustawiłeś opcję AUTOEXTEND na ON (jej nazwa robi to, co sugeruje).
Jeśli twój plik danych ma niski maksymalny rozmiar lub automatyczne rozszerzenie nie jest włączone, możesz po prostu uruchomić:
alter database datafile 'path_to_your_file\that_file.DBF' autoextend on maxsize unlimited;
Jeśli jednak jego rozmiar wynosi około 32 GB, automatyczne rozszerzenie jest włączone, to tak, potrzebujesz innego pliku danych dla obszaru tabel:
alter tablespace system add datafile 'path_to_your_datafiles_folder\name_of_df_you_want.dbf' size 10m autoextend on maxsize unlimited;