Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
Доброго времени суток!

Сервер 11.2 продакшн работает в режиме архивлог.
Указанная ниже последовательность команд генерит тонны архивлогов, это понятно.
alter table MESSAGE_411 enable row movement;
alter table MESSAGE_411 shrink space compact;
alter table MESSAGE_411 shrink space;

НО катастрофически не хватает места на сервере, поэтому выполнить такие воманды в режиме архивлог нереально.
А данных под удаление очень много.
В этой связи вопрос: как такую операцию провернуть без генерации логов?
Разово, я понимаю, можно перевести сервер в режим noarchivelog, выполнить команды, вернуть режим архивлог, сделать бэкап. Правильно?
Но сервер работает 24*7, и, кроме того, эту последовательность команд нужно впихнуть в автомат, скажем, выполняя каждую неделю.
Можно ли сделать это в режиме архивлог? Скажем, использую nologging?
Про nologging я читал, что лучше от него воздерживаться, поскольку потом нарушается целостность бэкапов. Но если предыдущие бэкапы не нужны?
Кто-то может посоветовать, как выполнить эти команды в режиме nologging, и можно ли это сделать в принципе?
12 июл 12, 11:25    [12855101]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Tol2000
скажем, выполняя каждую неделю.
Это полностью бессмысленно.
Хоть сколь-нибудь оправдано это может быть если вы регулярно вставляете и тут же удаляете огромные объёмы, но и в этом случае лучше пересмотреть дизайн и использовать, например, партиционирование.

А старые бэкапы вам могут понадобиться, если всё упадёт ВО ВРЕМЯ шринка, так что к нологгингу не стоит стремиться...
12 июл 12, 11:34    [12855205]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
проходил мимо...
Tol2000
скажем, выполняя каждую неделю.
Это полностью бессмысленно.
Хоть сколь-нибудь оправдано это может быть если вы регулярно вставляете и тут же удаляете огромные объёмы, но и в этом случае лучше пересмотреть дизайн и использовать, например, партиционирование.

А старые бэкапы вам могут понадобиться, если всё упадёт ВО ВРЕМЯ шринка, так что к нологгингу не стоит стремиться...


Если что-то упадет во время шринка, то у меня есть ночной бэкап со всеми архивлогами до момента шринка... или я что-то не так понимаю и при nologging у меня те архивлоги, что лежат после последнего бэкапа, не будут иметь смысла? Тогда я согласен и на восстановление БД на стостояние на момент завершения бэкапа. Это возможно при ноулоггинг?

А насчет бессмысленности: места на сервере мало, а задача такова, что хранить нужно записи за последие, скажем, 365 дней.
При этом старые записи подлежат удалению.
Т.е. фактически постановка задачи: если каждую неделю добавляется примерно по n записей, то раз в неделю требуется удалять n самых старых записей.
Может, посоветуете, как это сделать правильно? Проблема еще в том, что задача уже разработана, и менять что-то не так просто.
Мне говорили, что правильная технология тут называется moving window...
А партиционирование... Можно разбить на партиции уже существующую таблицу? Или нужно только создать новую и перелить туда инфу, а потом удалить старую, переименовать новую в старую и пересоздать в новой все ключи и индексы? Индексы, кстати, тоже придется партиционировать? )
12 июл 12, 12:12    [12855584]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
Tol2000,

диски докупить
12 июл 12, 13:14    [12856261]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Tol2000
А партиционирование... Можно разбить на партиции уже существующую таблицу? Индексы, кстати, тоже придется партиционировать? )

Можно существующую и вместе с индексами.
12 июл 12, 13:19    [12856304]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Tol2000
Может, посоветуете, как это сделать правильно?

Убедить начальство, что для надёжной бесперебойной автоматичексокой работы промышленной базы нужно иметь большой объём дисков.
И все ваши ручные манипуляции заменить джобами.
12 июл 12, 13:23    [12856354]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Tol2000
Если что-то упадет во время шринка, то у меня есть ночной бэкап со всеми архивлогами до момента шринка... или я что-то не так понимаю и при nologging у меня те архивлоги, что лежат после последнего бэкапа, не будут иметь смысла? Тогда я согласен и на восстановление БД на стостояние на момент завершения бэкапа.
Но все изменения во время шринка будут потеряны. Или это нормально для вашей "24x7"?
Tol2000
А насчет бессмысленности: места на сервере мало, а задача такова, что хранить нужно записи за последие, скажем, 365 дней.
При этом старые записи подлежат удалению.
Т.е. фактически постановка задачи: если каждую неделю добавляется примерно по n записей, то раз в неделю требуется удалять n самых старых записей.
Если вы раз в неделю удаляете данные за неделю, то общий объём данных объёмом в год колеблется в пределях +-неделя, т.е. пару процентов. Вы именно их пытаетесь съэкономить посредством регулярного shrink'а?
Tol2000
Может, посоветуете, как это сделать правильно? Проблема еще в том, что задача уже разработана, и менять что-то не так просто.
Можно ничего не менять - пара процентов объёма (если это не терабайты) может удаляться и просто так. А можно - партиционировать по неделе.
Tol2000
Мне говорили, что правильная технология тут называется moving window...
Угу. И наиболее прямо она решается через партиции.
Tol2000
А партиционирование... Можно разбить на партиции уже существующую таблицу?
Можно, если осторожно. Ключевое слово exchange partition, но нужно иметь ввиду, что старая партиция не будет меняться в размерах автоматически в процессе нарезания новых партиций, а в случае отсутствия свободного места шринк придётся делать на каждое нарезание (на каждую неделю за год хранения, т.е. 52 раза). Но это нужно будет сделать один раз.
Tol2000
Индексы, кстати, тоже придется партиционировать? )
Для того, чтобы индексы не инвалидировались при удалении партиции таблицы и их не нужно было перестраивать, индексы также необходимо будет партиционировать.

А вообще идея докупить винтов в ситцации с отсутствующим местом - самая правильная
Моя же тирада касается скорее грамотной альтернативы вечному шринку, чем решения проблемы отсутствующего места.
12 июл 12, 13:48    [12856586]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
Всем, кто советует докупить диски,

А проблема-то _в_принципе_ решится докупкой дисков? Любой диск рано или поздно забъется и придется удалять старую инфу.
Есть тут дба операторов сотовой связи? Вот уж где докупка дисков, я думаю, не решит ситуацию с потоком данных...
12 июл 12, 15:39    [12857664]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Tol2000
Всем, кто советует докупить диски,

А проблема-то _в_принципе_ решится докупкой дисков? Любой диск рано или поздно забъется и придется удалять старую инфу.
Есть тут дба операторов сотовой связи? Вот уж где докупка дисков, я думаю, не решит ситуацию с потоком данных...

Если вы всё сами занете, то зачем просите советов?

После подобных заключений можно больше советом не дождаться:)
Успехов!
12 июл 12, 15:43    [12857693]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
забыла пожелать особых успехов в отключении режима archivlog!
12 июл 12, 15:44    [12857708]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
Tol2000
Всем, кто советует докупить диски,

А проблема-то _в_принципе_ решится докупкой дисков? Любой диск рано или поздно забъется и придется удалять старую инфу.
Есть тут дба операторов сотовой связи? Вот уж где докупка дисков, я думаю, не решит ситуацию с потоком данных...
в биллинговых системах секционирование заложено в архитектуру системы, а не дба колхозит как в твоем случае
12 июл 12, 16:05    [12857873]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
Aliona
Tol2000
Всем, кто советует докупить диски,

А проблема-то _в_принципе_ решится докупкой дисков? Любой диск рано или поздно забъется и придется удалять старую инфу.
Есть тут дба операторов сотовой связи? Вот уж где докупка дисков, я думаю, не решит ситуацию с потоком данных...

Если вы всё сами занете, то зачем просите советов?

После подобных заключений можно больше советом не дождаться:)
Успехов!


Алена, ну не купят мне дисков, не купят! :) Да и зачем докупать диски, если нужна информация только за последний год? Какой в этом смысл?
Я же просил помочь в условиях нехватки свободного места, если, конечно, это возможно.
Или имелось в виду докупить дискового пространства столько, сколько нужно для того количества архивлогов, которое создастся в результате shrink space? Тут согласен. Но... все равно диски не купят! :))
12 июл 12, 16:11    [12857928]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
Edward Shevtsov
Tol2000
Всем, кто советует докупить диски,

А проблема-то _в_принципе_ решится докупкой дисков? Любой диск рано или поздно забъется и придется удалять старую инфу.
Есть тут дба операторов сотовой связи? Вот уж где докупка дисков, я думаю, не решит ситуацию с потоком данных...
в биллинговых системах секционирование заложено в архитектуру системы, а не дба колхозит как в твоем случае


Так я и имел в виду, что в биллинговых системах это решается не докупкой дисков (если и докупают, то для архива), а секционированием.
Т.е. тут у меня единственный выход - секционировать данную таблицу, скажем, по год||месяц, и удалить старые партиции? Ведь при удалении партиции целиком реду не генерятся? Простите, если глупость сморозил :)
12 июл 12, 16:16    [12857992]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Tol2000
Но... все равно диски не купят! :))

Тут уместнее поставит :((

На секционирование нужно тоже метсто под большое количество архивлогов.

Нельзя и яичницу приготовить и яйца не разбить.
12 июл 12, 16:18    [12858010]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10753
Tol2000
Алена, ну не купят мне дисков, не купят! :)
Яйца закаляйте.
Рано или поздно наступает момент, когда надо учиться доказывать, что требуемое - не ваши прихоть, а суровые реалии жизни.

P.S. А диски помогут вам автоматизировать процедуру без noarchivlog.
12 июл 12, 16:20    [12858032]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Edward Shevtsov
Member

Откуда: Moscow
Сообщений: 13469
Tol2000
Edward Shevtsov
пропущено...
в биллинговых системах секционирование заложено в архитектуру системы, а не дба колхозит как в твоем случае


Так я и имел в виду, что в биллинговых системах это решается не докупкой дисков (если и докупают, то для архива), а секционированием.
Т.е. тут у меня единственный выход - секционировать данную таблицу, скажем, по год||месяц, и удалить старые партиции? Ведь при удалении партиции целиком реду не генерятся? Простите, если глупость сморозил :)
1) бумагу на стол CIO о необходимости расширения дисковой подсистемы
2) бумагу на стол CIO с рекомендациями для девелопмента/вендора о внесении изменений в архитектуру системы, чтобы снять проблему в долгосрочной перспективе
12 июл 12, 16:21    [12858037]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Tol2000,

Кстати, а зачем вы вообще делаете шринк? Удаляете данные - удаляйте, а шринкать зачем? Я понимаю, если вы десять лет до этого не удаляли и решили 9 лет удалить, но зачем каждый раз?
12 июл 12, 16:22    [12858041]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
ха, ещё вспомнила.
Во время секционирования создаётся временная секционированая таблица, размером равная существующей несекционированной таблице, и ещё кучка объектов.

Так что у вас ничего не выйдет.
12 июл 12, 16:24    [12858059]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
Aliona,

Это смотря как секционировать :)
12 июл 12, 16:25    [12858065]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
проходил мимо...
Aliona,

Это смотря как секционировать :)

Поделитесь опытом, как секционировать, чтобы диски не занять.
я уже двумя способами секционировала, но такого способа ещё не знаю.
12 июл 12, 16:33    [12858145]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
проходил мимо...
Tol2000
Если что-то упадет во время шринка, то у меня есть ночной бэкап со всеми архивлогами до момента шринка... или я что-то не так понимаю и при nologging у меня те архивлоги, что лежат после последнего бэкапа, не будут иметь смысла? Тогда я согласен и на восстановление БД на стостояние на момент завершения бэкапа.
Но все изменения во время шринка будут потеряны. Или это нормально для вашей "24x7"?
Tol2000
А насчет бессмысленности: места на сервере мало, а задача такова, что хранить нужно записи за последие, скажем, 365 дней.
При этом старые записи подлежат удалению.
Т.е. фактически постановка задачи: если каждую неделю добавляется примерно по n записей, то раз в неделю требуется удалять n самых старых записей.
Если вы раз в неделю удаляете данные за неделю, то общий объём данных объёмом в год колеблется в пределях +-неделя, т.е. пару процентов. Вы именно их пытаетесь съэкономить посредством регулярного shrink'а?
Tol2000
Может, посоветуете, как это сделать правильно? Проблема еще в том, что задача уже разработана, и менять что-то не так просто.
Можно ничего не менять - пара процентов объёма (если это не терабайты) может удаляться и просто так. А можно - партиционировать по неделе.
Tol2000
Мне говорили, что правильная технология тут называется moving window...
Угу. И наиболее прямо она решается через партиции.
Tol2000
А партиционирование... Можно разбить на партиции уже существующую таблицу?
Можно, если осторожно. Ключевое слово exchange partition, но нужно иметь ввиду, что старая партиция не будет меняться в размерах автоматически в процессе нарезания новых партиций, а в случае отсутствия свободного места шринк придётся делать на каждое нарезание (на каждую неделю за год хранения, т.е. 52 раза). Но это нужно будет сделать один раз.
Tol2000
Индексы, кстати, тоже придется партиционировать? )
Для того, чтобы индексы не инвалидировались при удалении партиции таблицы и их не нужно было перестраивать, индексы также необходимо будет партиционировать.

А вообще идея докупить винтов в ситцации с отсутствующим местом - самая правильная
Моя же тирада касается скорее грамотной альтернативы вечному шринку, чем решения проблемы отсутствующего места.


Тут дело не только в нехватке свободного места, но и в том, что нет смысла хранить устаревшую инфу. Нужна инфа только, скажем, за год. Остальное фтопку... или в архив :)
А удаляю я раз в неделю примерно столько старых записей, сколько за эту неделю накопилось новых. Ну, т.е. пытаюсь сделать неудачный аналог moving window.
Данные хранятся не за неделю. Просто изначально я почистил, чтобы, скажем, оставался год, а потом каждую неделю удаляю накопившуюся неделю.
Большое спасибо за участие. Буду курить exchange partition. А по поводу шринков нарезанных партиций... Так я ведь так понимаю, что для каждого послед. месяца (если разобью по год||месяц) будет автоматически создаваться новая партиция и данные будут литься уже туда. Т.е. раз в месяц я буду удалять самую "старую" партицию. Меня это вполне устраивает )
12 июл 12, 16:33    [12858149]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
а, знаю: экспорт, пересоздание таблицы, импорт.
Да, автору простой не важен, да и потеря данных - тоже.
Так что этот способ спасёт отца русской демократиии.
12 июл 12, 16:36    [12858170]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Tol2000
Member

Откуда:
Сообщений: 256
проходил мимо...
Tol2000,

Кстати, а зачем вы вообще делаете шринк? Удаляете данные - удаляйте, а шринкать зачем? Я понимаю, если вы десять лет до этого не удаляли и решили 9 лет удалить, но зачем каждый раз?


Теоретически мне казалось, что достаточно простого удаления, однако таблиц несколько, данные перераспределяются между ними, и в какой-то момент, видимо, экстенты освободились в одной таблице, а потребовались в другой. А шринком я возвращаю их в пул свободных экстентов, которые может занимать любая таблица, любой сегмент... как я понимаю...
Да, все это, конечно, глупости, для мувинг виндоу нужно секционирование, как тут и говорят. Насчет ноулоггингов, я вижу, не только у меня скептическое отношение :))
12 июл 12, 16:40    [12858210]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4023
Tol2000
Так я ведь так понимаю, что для каждого послед. месяца (если разобью по год||месяц) будет автоматически создаваться новая партиция и данные будут литься уже туда. Т.е. раз в месяц я буду удалять самую "старую" партицию. Меня это вполне устраивает )

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

Ваше дело только сидеть курить либо сигареты, либо документацию.
12 июл 12, 16:41    [12858222]     Ответить | Цитировать Сообщить модератору
 Re: shrink space и нехватка свободного места  [new]
mayton
Member

Откуда: loopback
Сообщений: 49729
Tol2000, покури советы Segment Advisor. Там есть варианты. Пошринкать. Сжать для OLTP.
Или вообще игнорировать если прогноз на relcaim не так уж хорош.

А может быть ты вообще не тем занимаешся? Тебе верно говорят что это по большей
части виновата архитектура. А будешь шринкать каждую неделю - получишь секс
онанизм и зависимость комплекса от твоих сомнительных джобов.
12 июл 12, 16:45    [12858249]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить