Oracle Tablespaces maxsize "unlimited" на самом деле не неограничен

недавно мне нужно было импортировать a .dmp в нового пользователя, которого я создал. Я также создал новое табличное пространство для пользователя с помощью следующей команды:

create tablespace my_tablespace
 datafile 'C:MyOracleInstallDataFile01.dbf' size 10M
 autoextend on
 next 512K
 maxsize unlimited;

во время импорта я получил сообщение об ошибке:

ORA-01652 Unable to extend my_tablespace segment by in tablespace

когда я изучил файлы данных в таблице dba_data_files, я заметил, что maxsize был около 34 ГБ. Поскольку я знал общий размер базы данных, я смог импортировать ее .ДМП без каких-либо проблем после добавления нескольких файлов данных в табличная область.

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

1 ответов


как вы обнаружили, и как отметил Алекс пул, существуют ограничения на размер отдельного файла данных. Smallfiles ограничены 128GB и bigfiles ограничены 128TB, в зависимости от вашего размера блока. (Но вы не хотите изменять размер блока только для того, чтобы увеличить эти ограничения.) Ограничение размера в create tablespace команда существует только в том случае, если вы хотите дополнительно ограничить размер.

Это может быть немного запутанным. Вы, вероятно, не заботитесь об управлении файлами и хотите, чтобы " просто работа." Управление хранилищем баз данных всегда будет раздражать, но вот некоторые вещи, которые вы можете сделать:

  1. сохранить табличные пространства к минимуму. здесь are некоторые редкие случаи, когда полезно разбить данные на множество небольших табличных пространств. Но эти редкие преимущества обычно превосходят боль, которую вы испытаете, управляя всеми этими объектами.
  2. войти в привычку всегда добавлять более одного сведения файл. если вы используете ASM (что я бы не рекомендовал, если это локальный экземпляр), то почти нет причин не сходить с ума при добавлении файлов данных. Даже если вы не используете ASM, вы все равно должны немного сойти с ума. Пока вы устанавливаете исходный размер на низкий, вы не близки к MAX_FILES limit, и вы не имеете дело с одним из специальных табличных пространств, таких как UNDO и TEMP, нет штрафа за добавление дополнительных файлов. Не беспокойтесь слишком много о выделении большего потенциала места, чем ваш жесткий диск содержит. Это сводит с ума некоторые базы данных, но вы должны взвесить вероятность исчерпания пространства ОС против вероятности исчерпания пространства в сотне файлов. (В любом случае, ваше приложение рухнет.)
  3. установить