Могут ли табличные пространства oracle автоматически добавлять небольшие файлы данных? - PullRequest
2 голосов
/ 02 марта 2011

Используя управляемые файлы Oracle, я могу создать свое табличное пространство следующим образом:

CREATE TABLESPACE users;

Оно будет автоматически расширяться, но, насколько я понимаю, небольшие файлы данных имеют максимальный размер.Поэтому мне нужно сделать следующее:

ALTER TABLESPACE users ADD DATAFILE;
ALTER TABLESPACE users ADD DATAFILE;
ALTER TABLESPACE users ADD DATAFILE;

Просто интересно, есть ли способ заставить оракула автоматически добавить другой файл данных, когда он пытается автоматически расширить его на максимально возможный размер?

Ответы [ 4 ]

1 голос
/ 02 марта 2011

В Oracle нет реальных ограничений

ALTER DATABASE DATAFILE <'data_file_name' |data_file_number> AUTOEXTEND K | M | G | T | P | E MAXSIZE <<strong> НЕОГРАНИЧЕННЫЙ |K | M | G | T | P | E>;

Оператор ОС или ОС может остановить Вас и базу данных.Чем вы можете написать задание, которое автоматически добавит новые файлы в табличное пространство после% использования.Примерно так (псевдокод).

SELECT tablespace_name,maxbytes,bytes INTO v_tbs_info FROM dba_data_files;

FOR tbs_inf IN v_tbs_info LOOP
  IF tbs_inf.bytes/tbs_inf.maxbytes > 0.99
  excecute immediate 'ALTER TABLESPACE '|| tbs_inf.tablespcae_name ||' ADD DATAFILE SIZE 1M aUTOEXTEND ON NEXT 10M MAXSIZE 10G';
END LOOP;

Конечно, вы не должны писать эту работу и использовать ее.Вы должны указать объем пространства, занимаемого данными, и выделить соответствующее количество файлов для табличного пространства.

0 голосов
/ 27 января 2016

В Oracle нет встроенного метода автоматического добавления файлов данных.

ВНИМАНИЕ: Оператор "unlimited" в Oracle не является на самом деле неограниченным .Это означает только неограниченную жесткую защиту оракула для размеров файлов данных, которая зависит от вашего параметра db_block_size.База данных по умолчанию будет иметь размер блока 8 КБ и использовать табличные пространства smallfile, что означает, что размер файлов данных не будет превышать 32 ГБ.Вам все равно придется добавить новый файл данных вручную.

Для получения дополнительной информации см. таблицу в этом сообщении:

https://community.oracle.com/message/1900237#1900237

0 голосов
/ 21 февраля 2013

Меня очень раздражало, что ORACLE не добавляет новые файлы автоматически, поэтому я исправил это. Найдите решение в моем блоге: http://www.ora -00000.com / 2013/02/21 / ORA-30036-реальное автоматическое управление-файл данные /

0 голосов
/ 02 марта 2011

конечно, мы можем, но почему мы должны? Обычно есть причина для ограничения. А для максимальных размеров файлов данных мы можем создать табличное пространство больших файлов, которое немного расширило пределы размера файла. Это влияет на резервное копирование / восстановление, но начиная с 11gR2 мы можем создавать резервные копии этих файлов параллельно, когда большие файлы разбиваются на куски и распределяются по различным каналам.

Кроме того, вопрос, какой максимальный размер? Это размер, который поддерживается файловой системой, ASM, базой данных, или это максимальный размер, установленный dba?

Ronald.

...