[Logo] Форум Корпорации ПАРУС
Индексное табличное пространство.  XML
Индекс форума » 8.хх PL/SQL
Автор Сообщение
MOLODYKH_K_V
Новичок

Зарегистрирован: 22.11.2012 16:34:20
Сообщений: 52
От:
Оффлайн

Подскажите пожалуйста в следующим вопросе:
Табличное пространство PARUS_INDEX достигло предела 32 Гб, (посмотрев "размер" индексов обнаружилось что выросло впоследствии глобальной перенастройки прав пользователей - старые роли убрали в сторону, доступ перенастроили с нуля).
Суть вопроса: просто добавить ли второй дата-файл в ТП? Может поможет удалений неиспользуемых ролей и каким-то образом ужать данные в ТП (перестроить). Прилагаю скрин, который связывает выше написанное с ролями.
 Имя файла PARUS_INDEX.docx [Disk] Скачать
 Описание Описание отсутствует
 Размер файла 129 Kbytes
 Загружено:  5 раз(а)

[Email]
REDKNIGHT
Пользователь

Зарегистрирован: 24.01.2013 11:49:17
Сообщений: 339
От: Андрей Захаров
Оффлайн

Насколько я знаю, физический размер существующего файла базы данных Oracle не поддается уменьшению.
Т.е. удаление записей из таблиц не уменьшает физический размер файлов.
Поэтому, когда хочется уменьшить размер файлов, прибегают к вариантам типа:
- Создать другую БД и через export/import перекидывают туда данные.
- Для индексных файлов можно попробовать удалить индекс и создать заново в другом табличном пространстве (или командой alter index rebuild перенести)
---
Относительно индекса по таблице UNITPRIV - там всё логично. При удалении прав в индексных файлах физически не освобождается место, просто блоки файла становятся неиспользуемыми. У СУБД Oracle нет механизма, чтобы повторно использовать те блоки файлов, которые уже "освободились", поэтому каждая вставка влечет за собой выделение новых блоков файла. Если назначить права другим ролям/пользователям - это повлечет дополнительный рост индексных файлов.
[Email]
GOROLEG
Новичок

Зарегистрирован: 28.07.2014 14:09:39
Сообщений: 199
Оффлайн

Зачем вам новая БД, когда можно сделать новое табличное пространство просто туда таблицы перенсти. Старое грохнуть потом.

----
Городецкий Олег
goroleg@yandex.ru
[Email]
REDKNIGHT
Пользователь

Зарегистрирован: 24.01.2013 11:49:17
Сообщений: 339
От: Андрей Захаров
Оффлайн

GOROLEG wrote:Зачем вам новая БД, когда можно сделать новое табличное пространство просто туда таблицы перенсти. Старое грохнуть потом.

Ну тоже вариант.
Интересно перенос таблиц по времени меньше занимает, чем полный экспорт/импорт БД?
Перенос таблиц, кстати, не отменяет перенос/перестройку индексов в другое табличное пространство.
[Email]
OVCHINNIKOV_VA
Новичок

Зарегистрирован: 07.11.2012 12:56:08
Сообщений: 16
От: Василий Овчинников
Оффлайн

Создание доп.пространства

Alter TABLESPACE INDX ADD DATAFILE 'D:\DATA8\UVD\INDEX4.ORA' size 250M reuse autoextend on next 50M maxsize 32000M;

-- с автоувеличением размера (стоит максимум 32Гб)
-- INDEX4.ORA – расширение файла может быть разное, писать как в БД клиента (ORA, DAT,…)
-- INDX – писать пространство как в ошибке
[Email]
 
Индекс форума » 8.хх PL/SQL
Перейти: