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

Откуда:
Сообщений: 4
DB: Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production

Есть две системы: в одну из второй подтягивается ежедневно обновленные за сутки данные и складируются в одной таблице. Ежедневно перетягиваются около 300к записей, но со времнем таблица медленно растет.
Данные перетягиваются джобом, который удаляет все старые данные, заносит новые, комитит.

Новую версию это джоба отдали на ревью ДБА и он выдает следующее:
автор
Following should be considered:
This tablespace is dictionary managed. This means that the unused space created by the delete will not be reused.
• New records that get inserted will use new extents.
• Database will keep growing unnecessarily

• A bigger SGA and disk will be required down the track to handle this situation.
• All the uncommitted data will stay in the temporary tablespace with a chance of the temporary tablespace becoming full
• Deletes may generate more archive logs compared to truncate.

To recover that space, a database REORG maybe required. REORG does not happen with a click of a button. REORG needs a lot of planning beforehand and a significant outage for the production database. REORG is not something that can be run frequently. There is no guarantee that REORG will release that space and if it does not do that then a full database export import exercise is required. Past experience with full export import of a production database has not been good. It then runs into a risk of system downtime that may subsequently have impact on business.

As a DBA, I do not recommend such a large delete and insert happening everyday. I propose that truncate be used instead of delete.

Я не ДБА, пытался копать доку и найти, откуда он взял, что в 9i tablespace будет постоянно расти и не реюзать свободные сегменты в результате работы такой процедуры.
Подскажите, плиз, прав он или нет. Если нет, то куда его ткнуть?
Я просто не верю, что ежедневный truncate с недоступностью данных в течение часа - нормальный вариант.
30 апр 10, 07:51    [8712174]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Врет, конечно
Тем более
zb1
Ежедневно перетягиваются около 300к записей, но со времнем таблица медленно растет.
Данные перетягиваются джобом, который удаляет все старые данные, заносит новые, комитит.
Но насчет TRUNCATE он прав в том смысле, что это гораздо меньшая нагрузка на БД
Чтоб сократить период недоступности, можно держать 2 таблички, обрабатывая их по очереди и переключаться на нужную по окончанию TRUNCATE+INSERT с помощью SYNONYM/VIEW/RENAME
30 апр 10, 08:00    [8712192]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
А DMT или LMT можно увидеть из dba_tablespaces
30 апр 10, 08:02    [8712196]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
zb1
Member

Откуда:
Сообщений: 4
То, что там DMT я уже проверил.
Я просто не верю, что из-за того, что там DMT, tablespace будет постоянно расти.
Мне надо ж как-то ответить на это и "это нифига не так" не прокатит. Надо или в доку ткнуть или какой-то эксперимент провести.
30 апр 10, 08:07    [8712212]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Концепции
Как храняться данные в таблицах, что такое PCTFREE/PCTUSED и как оно работает и т.д.
30 апр 10, 08:13    [8712227]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Allocating Extents in Dictionary Managed Tablespaces
30 апр 10, 08:26    [8712270]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
PCTFREE, PCTUSED, and Row Chaining
30 апр 10, 08:29    [8712282]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
All the uncommitted data will stay in the temporary tablespace with a chance of the temporary tablespace becoming full
Это он о чём ???
30 апр 10, 08:35    [8712302]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
G.M.
Member

Откуда:
Сообщений: 342
zb1
DB: Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production

Есть две системы: в одну из второй подтягивается ежедневно обновленные за сутки данные и складируются в одной таблице. Ежедневно перетягиваются около 300к записей, но со времнем таблица медленно растет.

А сколько всего записей в этой таблице?
И какой инсерт вы делаете - обычный или direct?
30 апр 10, 10:11    [8712767]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
G.M.
И какой инсерт вы делаете - обычный или direct?

А перечитать первый пост и подумать?
30 апр 10, 10:31    [8712928]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Дык поведение даже при APPEND все равно не зависит от типа управления экстентами
30 апр 10, 10:36    [8712973]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Вячеслав Любомудров
Дык поведение даже при APPEND все равно не зависит от типа управления экстентами

Вячеслав - я не понял, поведение чего?
30 апр 10, 10:42    [8713036]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Если будет обычная вставка, то и там и там будет переиспользоваться старое место, освободившееся после DELETE
Если insert /*+ append */ -- и там и там писаться будет свыше HWM
30 апр 10, 10:44    [8713069]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Понял. Правильнее было спросить G.M. - с чем связан его вопрос?
30 апр 10, 10:47    [8713110]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
G.M.
Member

Откуда:
Сообщений: 342
Viewer
Понял. Правильнее было спросить G.M. - с чем связан его вопрос?

С тем, что таблица, по словам автора, медленно растет, хотя объем вставляемых данных примерно одинаков.
Вопрос о том, что экстенты в DMT могут использоваться повторно и что ДБА неправ, был решен ссылкой на concepts еще до меня :)
30 апр 10, 17:22    [8716394]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18388
G.M.
[quot Viewer]ДБА неправ, был решен ссылкой на concepts еще до меня :)

Коллеги, ДБА прав уже в том, что delete генерит кучу ненужного redo.
И в этой связи его рекомендация перейти на truncate вполне оправдана, если это, конечно, вообще возможно в случае ТС (вероятно, потребуется некоторая технологическая обвязка для параллельных процессов, использующих эти данные).

Что до вывода о применении обычного (не-direct load) insert на основании заявления ТС о "незначительном росте" размера таблицы - то это построено на песке. К примеру, DBA мог давно заметить проблему и регулярно "подчищать" хвосты.
30 апр 10, 18:34    [8716660]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
andrey_anonymous
Что до вывода о применении обычного (не-direct load) insert на основании заявления ТС о "незначительном росте" размера таблицы - то это построено на песке. К примеру, DBA мог давно заметить проблему и регулярно "подчищать" хвосты.

Андрей, не в качестве возражения, просто реплика - если на форуме найдётся хотя бы 2 человека готовых подтвердить, что они лично знают такого DBA альтруиста/мозахиста, который будет подчищать за ежедневным джобом - я готов в это поверить ...
P.S.
... клинические случаи не рассматриваем ...
30 апр 10, 22:58    [8717379]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
P.P.S.
... и чего я прицепился к "К примеру, ...", логичнее к "построено на песке" ... а ладно, пляж большой, да и окромя песка всё равно ничего нету ...
30 апр 10, 23:21    [8717448]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
DВА
Member

Откуда:
Сообщений: 5439
Viewer
All the uncommitted data will stay in the temporary tablespace with a chance of the temporary tablespace becoming full
Это он о чём ???


И после этого еще кто-то спорит прав дба или нет ?
1 май 10, 20:47    [8718441]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
dba123
Member

Откуда:
Сообщений: 1054
Вячеслав Любомудров
Если будет обычная вставка, то и там и там будет переиспользоваться старое место, освободившееся после DELETE
имхо для ДМТ "будет переиспользоваться" - очень категорично
- параметров хранения не видели
- отдельное ли табличное пространство для этого сегмента или общее - не знаем
- и ДБА ни слова не сказал, что он делает каждые день coalesce свободных экстентов
4 май 10, 09:43    [8722853]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Ога, можно подумать, к LMT это не относится
А "общее пространство" -- это вообще что-то из коммунизма
4 май 10, 09:50    [8722889]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
PA3YM
Member

Откуда:
Сообщений: 298
dba123,

Блоки-то будут переиспользоваться, но, в силу одного коммита на удаление+вставка (если я правильно понял фразу ТС "удаляет все старые данные, заносит новые, комитит"), блоки, освободившиеся при удалении сегодня будут заполняться только при завтрашней вставке - т.о. "дыры" от удаленных записей будут всегда - ведь так? Может все-таки commit после delete, а еще лучше - truncate вместо delete ? Или задача требует отката удаления, если не прошла вставка?
4 май 10, 11:10    [8723389]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
dba123
Member

Откуда:
Сообщений: 1054
PA3YM,

кивать в сторону ТС опасно, он то пишет, что данные "складируются", то - полностью замещаются(удаление всех и вставка)
и я не верю, что данные ежедневно одного объёма - день на день не приходится

гадать до storage ts & segments(вдруг еще и индекс есть) бесполезно

особых проблем не должно быть ни у программистов, ни у дба, они легко могут сварганить тест
- проверить оба варианта(del/insert, trunc/ins) в общей помойке DMT USERS, где сотни пользователей изменяют тысячи сегментов(можно подсчитать число экстентов , сгруппировав по размеру их)
- В отдельной дмт тс с пстинкриз=1 (проверить действительно ли смон объединяет св экстенты)
- В отдельной дмт тс с пстинкриз=0 (проверить надо ли самому делать coalesce, если объем таки зависит от дня недели)
- создать лмт с юниформ сайз=512к и забыть про фрагментацию
4 май 10, 15:47    [8725488]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
отжег так отжег
Guest
zb1
Новую версию это джоба отдали на ревью ДБА и он выдает следующее:

Круто выдал. Его часом не Доном зовут?

PA3YM
ведь так?
нет
4 май 10, 18:26    [8726397]     Ответить | Цитировать Сообщить модератору
 Re: DBA обманывает насчет dictionary managed tablespaces?  [new]
PA3YM
Member

Откуда:
Сообщений: 298
отжег так отжег,

то есть вставка может в блоках накрывать незакомиченное удаление?
4 май 10, 18:37    [8726427]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить