|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
начальство хочет "ужмять" некоторые сильно распухшие базы. Есть предложение пройти по всем таблицам (хотя бы пользовательских схем) ...' alter table ' || Cur.NextTabl || ' move tablespace ' || Cur.Next; а затем Rebuild всех соответствующих индексов. (предварительно опустив листенеры и джобы, вестимо) Подумалось, что может быть уже есть где-то ( от самого ли оракл, или от внушающего доверие другого провайдера) готовый скрип для такого? ( вроде в Cloud-Control есть пункт для TS "Reorganisation" ! Но он требует Database Tuning Pack, похоже! Которого у нас нет и не будет) Но если нет, то я и сам напишу, он вроде не сложный. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 17:58 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
DBAshnikон вроде не сложный. Не сложный, главное забыть всякие специфические сегменты типа содержимого корзинки, таблиц очередей, мат. представлений и прочую муть. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 19:52 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
Тема многократно обсуждаемая, парочка последних этого года: 21454194 20608172 Imho, так задача, в плане базы, а не отдельного табличного пространства - глобальная... а даже на уровне единичного табличного пространства результат move непредсказуем, как и количество времени и телодвижений на " ужмять "... Сугубо личное imho: решение - полный экспорт/импорт базы, если позволят размеры и отведённое время. Легко оценить выполнив импорт на тестовый сервер. Если устраивает - копировать файлы на production. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 20:21 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
ViewerСугубо личное imho: решение - полный экспорт/импорт базы, если позволят размеры и отведённое время.А EXCLUDE= и QUERY= позволяют не переносить то, что можно не переносить. Но только с участием разработчика. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 07:39 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
я, наверное, вначале не очень точно сказал про задачу: ужмять нужно не ради экономии места (хотя и ради неё тоже), но прежде всего чтоб уменьшить кол-во IO ! (т.е. постараться уменьшить chaining/разброс данных таблиц по диску) я накопал статью на основе которой: очищаю корзины, прохожу по всем таблицам тейблспейса вот так (начиная с вехних адресов блоков) Код: plsql 1. 2. 3. 4.
затем делаю rebuild всех соответствующих индексов и в итоге собираю статистику ( dbms_stats.gather_schema_stats( ownName => aOwner, cascade => TRUE, ... ). Вроде в пределах 10% оно TS ужмяло! :-) (в статье рекомендуют прогонять этот цикл несколько раз. Но на нашей БД он и так идёт более 20 часов!) (а индексный TS так и вообще уполовинило!) Главный вопрос: какие подводные камни / побочные эффекты могут вылезти с базой после такой перетурбации ?? (ну кроме разве-что если кто-то из олухов-программеров привязался к rowid, что есть тяжкий грех, разумеется. :-) Но вроде не наш случай, так как у нас годик назад эту базу уже ужминали через "exp/imp" и ничего не вылезло). Особенно возможные тормоза по производительности интересуют... Заранее спасибо за любую инфу по существу! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:05 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
DBAshnikужмять нужно ... чтоб уменьшить кол-во IO ! (т.е. постараться уменьшить chaining/разброс данных таблиц по диску) Код: plsql 1.
1. Как enable row movement позволяет "уменьшить chaining/разброс данных таблиц по диску"? 2. Как ужатие табличного пространства на 10% позволяет "уменьшить chaining/разброс данных таблиц по диску"? ..про существу - "рубить хвост" желательно не под корень, а по месту. К примеру, на крупных таблицах с трафиком иногда применяли физическую сортировку сегментов данных в соответствии с предикатами доступа (CTAS order by - - exch partition - drop) - это позволяло кластеризовать данные и давало реальное улучшение для наиболее востребованного варианта индексного доступа. Как сами понимаете, "скриптом из интернетов" это не делается - все строго под конкретные условия, ибо ресурсы съест по-любому, а заметный эффект даст только если хорошо просчитано. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:22 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
andrey_anonymousи прочую муть. Ну и не забыть что просто ALTER TABLE MOVE out-or-row LOBам/CLOBам по барабану. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 19:56 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
SYandrey_anonymousи прочую муть. Ну и не забыть что просто ALTER TABLE MOVE out-or-row LOBам/CLOBам по барабану. Не по барабану, просто для этого MOVE требует особое заклинание. Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 20:05 |
|
готовый скрипт для defragmentation оракл.базы (в оффлайн)
|
|||
---|---|---|---|
#18+
andrey_anonymousНе по барабану Ты не заметил "не забыть что просто ALTER TABLE MOVE" SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2019, 20:39 |
|
|
start [/forum/topic.php?fid=52&fpage=87&tid=1882920]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 148ms |
0 / 0 |