Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Undo retention  [new]
Ora1999
Guest
Ребята, вопрос:

Чем чревато если уменьшить undo retention time до минимального времени, скажем до 10 минут, как это повлияет на базу? Особенно если база - datawarehouse. Учитывая то что undo tablespace очень большой.

Просто в последнее время начали сыпаться ошибки подобного образа
ORA-01555: snapshot too old: rollback segment number 1 with name "_SYSSMU1$" too small

хотя на самом деле undo tablespace уже порядком 15 гигов и загрузки вроде не дожны быть такими большими... Текущии undo_retention_time 6 часов.
22 окт 07, 10:46    [4821003]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
ORA-01555 snapshot too old: rollback segment number string with name "string" too small

Cause: Rollback records needed by a reader for consistent read are overwritten by other writers.

Action: If in Automatic Undo Management mode, increase the setting of UNDO_RETENTION. Otherwise, use larger rollback segments.
22 окт 07, 10:52    [4821036]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
evostr
Member

Откуда: Екатеринбург
Сообщений: 1278
Ora1999
Чем чревато если уменьшить undo retention time до минимального времени, скажем до 10 минут, как это повлияет на базу?

Ошибки могут участиться ;-)
22 окт 07, 10:55    [4821057]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
utyf
Member

Откуда: E-burg
Сообщений: 108
evostr
Ошибки могут участиться ;-)

Зато анду таблспейс уменьшиться ))
Ведь автор именного этого хочет?
22 окт 07, 10:57    [4821071]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
Ora1999
Guest
tru55
ORA-01555 snapshot too old: rollback segment number string with name "string" too small

Cause: Rollback records needed by a reader for consistent read are overwritten by other writers.

Action: If in Automatic Undo Management mode, increase the setting of UNDO_RETENTION. Otherwise, use larger rollback segments.

почему то думал что только закомиченные данные будут подтираться пока размер undo пространства достаточно большой. Ведь логично было бы нет? извиняюсь заранее за глупые вопросы
22 окт 07, 11:15    [4821198]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
UNDO используют не только транзакции, но и SELECT-ы. Чем дольше исполняется SELECT, тем дольше должны лежать нужные ему данные в UNDO
22 окт 07, 11:19    [4821232]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
Ora1999
Guest
Хорошо, а какими методами определить оптимальный undo retention time and undo tablespace size.
Ведь если я увеличу undo retention то мне необходимо будет увеличивать undo tablespace, так как траннзакции дольше хранятся и нужно больше пространства для undo
Есть ли какая нибудь методика определения оптимальных параметров (undo retention time and undo tablespace size)?
22 окт 07, 11:34    [4821362]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
juks@gala.net
Member

Откуда: Киев
Сообщений: 4212
Ora1999
Хорошо, а какими методами определить оптимальный undo retention time and undo tablespace size.
Ведь если я увеличу undo retention то мне необходимо будет увеличивать undo tablespace, так как траннзакции дольше хранятся и нужно больше пространства для undo
Есть ли какая нибудь методика определения оптимальных параметров (undo retention time and undo tablespace size)?

Весрия ?
В 10-ке есть
22 окт 07, 11:55    [4821541]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
undo retention - экспериментальным путем (чтобы не выскакивали ORA-01555), поскольку это зависит от длительности транзакций и запросов.
Размер undo TS - описано в доке Oracle Performance Tuning - путем анализа V$UNDOSTAT
22 окт 07, 11:58    [4821555]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
evostr
Member

Откуда: Екатеринбург
Сообщений: 1278
tru55
undo retention - экспериментальным путем (чтобы не выскакивали ORA-01555), поскольку это зависит от длительности транзакций и запросов.

Как вариант, можно посмотреть MAXQUERYLEN в V$UNDOSTAT
22 окт 07, 12:10    [4821650]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
ДВК
Guest
Ora1999
Ребята, вопрос


Производятся ли изменения/удаления большого объема данных в БД?
22 окт 07, 14:22    [4822585]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
Ora1999
Guest
Спасибо, посмотрю обязательно. Версия 9ай
22 окт 07, 14:42    [4822730]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
aars
Member

Откуда:
Сообщений: 263
Ora1999
Хорошо, а какими методами определить оптимальный undo retention time and undo tablespace size.


undo retention time как посчитать? Обычно - экспериментально находится.
Зависит от частоты и важности длительных селектов. Если хотите чтобы ORA-1555 вообще не появлялось, то это время самого длительного запроса.
(по умолчанию в 9-ке, - 15 мин.)


размер Undo примерно:
undo = retention_time* число_блоков_в_сек * размер_блока + размер_блока

число_блоков_в_сек вычисляется из
v$undostat : (время_окончания - время_начала)/число_блоков
22 окт 07, 16:39    [4823618]     Ответить | Цитировать Сообщить модератору
 Re: Undo retention  [new]
aars
Member

Откуда:
Сообщений: 263
Исправление предыдущего поста - число_блоков/время, конечно
22 окт 07, 16:42    [4823647]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить