Расширение табличных пространств (создание дополнительных файлов для табличных пространств)
$ sqlplus / as sysdba
Посмотреть какие файлы базы данных используются базой данных и где они расположены:
SQL> set linesize 200;
SQL> set pagesize 0;
SQL> col name format a40;
SQL> SELECT file#, name, status
FROM v$datafile;
Создаю новое табличное пространство для индексов и данных:
SQL> CREATE TABLESPACE "MY_DATA"
DATAFILE '/u02/oradata/ora112/my_data01.dbf' SIZE 2G AUTOEXTEND OFF;
SQL> CREATE TABLESPACE "MY_INDEXES"
DATAFILE '/u02/oradata/ora112/my_indexes01.dbf' SIZE 2G AUTOEXTEND OFF;
При необходимости, можно добавить дополнительное место для данных (когда будет такая необходимость) следующими командами:
SQL> ALTER TABLESPACE "MY_DATA"
ADD DATAFILE '/u02/oradata/ora112/my_data02.dbf' SIZE 2G AUTOEXTEND OFF;
Для индексов:
SQL> ALTER TABLESPACE “MY_INDEXES”
ADD DATAFILE '/u02/oradata/ora112/my_indexes02.dbf' SIZE 2G AUTOEXTEND OFF;
Иногда, нужно создать дополнительное табличное пространство для табличного пространства отмены (undo).
SQL> create undo tablespace "UNDOTBS_01" datafile '/u02/oradata/ora112/undo01.dbf' size 1G autoextend off;
SQL> ALTER SYSTEM SET UNDO_TABLESPACE = "undotbs_01";
SQL> drop tablespace UNDOTBS1;
ALTER TABLESPACE "UNDOTBS_01" ADD DATAFILE '/u02/oradata/SID/undotbs02.dbf' SIZE 2G AUTOEXTEND OFF;
UNDO_RETENTION - (при включенном FLASHBACK) определяет минимальное время в секундах, за которое можно отменить (посмотреть) изменение в базе данных. При этом данные будут храниться в UNDO_TABLESPACE (необходимо обеспечить достаточный размер табличного пространства) и перезаписываться по мере необходимости, обеспечивая минимальное значение, указанное в UNDO_RETENTION. Не поддерживается для LOB.
Задаю параметр UNDO_RETENTION равный 30 минутам
SQL> alter system set UNDO_RETENTION = 1800;
SQL> alter tablespace UNDOTBS_01 RETENTION GUARANTEE;
SQL> show parameter UNDO_RETENTION
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 1800
Создать новое табличное пространство для временных данных.
SQL> CREATE TEMPORARY TABLESACE "MY_TEMP"
TEMPFILE '/u02/oradata/ora112/my_temp01.dbf' SIZE 2G AUTOEXTEND OFF;
Добавить дополнительный файл для временных табличных пространств.
SQL> ALTER TABLESPACE “MY_TEMP”
ADD TEMPFILE '/u02/oradata/ora112/my_temp02.dbf' SIZE 2G AUTOEXTEND OFF;