Внимание! Перед выполнение данных действий, необходимо убедиться в наличии работоспособной актуальной копии базы данных.
Увеличить табличное пространство XXX или добавить еще один файл для этого табличного пространства.
В командной строке подключаемся к базе:
C:\> sqlplus /NOLOG
SQL> CONNECT SYS/<пароль>@'имя БД' AS SYSDBA
Получить список имен табличных пространств.
SQL>select TABLESPACE_NAME from dba_data_files;
Команда для выяснения пути к файлу:
SQL> select FILE_NAME,BYTES from dba_data_files where TABLESPACE_NAME='Имя табличного пространства';
Имя табличного пространства - регистрозависимое.
Увеличение пространства:
alter database datafile '<то, что получил в предыдущем запросе>' resize yyyyM;
где,
yyyy - номер размер табличного пространства.
M - указание, что размер задается в мегабайтах
Увеличение пространства с авто увеличением размера файла (рекомендуемый способ):
alter database datafile '<то, что получил в предыдущем запросе>' autoextend on maxsize 30000M;
Создание нового файла табличного пространства (рекомендуемый способ):
ALTER TABLESPACE XXX ADD DATAFILE 'путь к каталогу с БД\yyyy.DBF' SIZE 5M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
где,
XXX - название табличного пространства
yyyy - название файла табличного пространства. Для удобства администрирования, новый файл табличного пространства следует называть по образу и подобию уже имеющихся файлов, добавляя в название очередную цифру.
Пример: ALTER TABLESPACE UNDOTBS1 ADD DATAFILE 'E:\ORADATA\ORT18\UNDOTBS02.DBF' SIZE 5M REUSE AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;
Табличное пространство в Oracle — это логическая структура базы данных, которая состоит из одного или более физических файлов данных.
Некоторые типы табличных пространств Oracle и их описание:
- SYSTEM. Содержит таблицы словаря данных базы, в том числе представления, процедуры, функции, пакеты и триггеры. По умолчанию создаётся при создании базы данных.
- SYSAUX. В нём хранятся метаданные базы данных, которые не помещены в системное табличное пространство.
- PERMANENT. Используется для хранения таблиц и индексов схемы, то есть пользовательских данных. Есть два типа такого табличного пространства:
- SMALL FILE (по умолчанию) — может содержать несколько файлов данных, каждый размером 31 Г.
- BIG FILE — может содержать только один файл данных, который может достигать объёма 128 ТБ.
- UNDO. В нём хранятся данные отмены, внутри такого табличного пространства нельзя создавать таблицы или индексы. У каждого экземпляра базы данных есть своё табличное пространство отмены.
- TEMPORARY. В нём временно хранятся данные для сеансов, которые выполняют операции сортировки и объединения. По умолчанию для каждой новой установки базы данных Oracle создаётся одно такое табличное пространство с именем TEMP.
- USERS. Табличное пространство, созданное пользователем, в нём по умолчанию хранятся данные приложений.
Кроме того, существуют табличные пространства MY_DATA, MY_INDEXES, MY_TEMP, которые созданы исключительно для удобства.