powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / колбасит tempdb-резкое увеличение в размерах- help!
10 сообщений из 10, страница 1 из 1
колбасит tempdb-резкое увеличение в размерах- help!
    #33326762
griniland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выполнил поиск 'tempdb' на форуме- резалтов не нашел- создаю новую тему;)

Сегодня сижу на работе, ни кого не трогаю, RTFM к своему Sybase 11.9.2.6 EFB 1409 (ebf на вскидку)@Windows 2000 advanced server.
Основная база данных- 50 ГБ (39 ГБ данных и 12 Гб под лог)
Tempdb- 3 ГБ (1 - лог, 2- данные)

Идут совершенно плановые операции, всё как обычно, без эксцессов, авральных тысячестраничных отчетов и прочей лабуды.
Вдруг вылетает что-то вроде "transaction log on tempdb is full" и так далее.
Дивлюсь (размер tempdb 1GB log, 2GB- data, галочка Truncate log on checkpoint пробита), но, делать нефиг (все зависли)- создаю девайс (ещё 2 ГБ под лог), добавляю, вроде нормально.
Через часок- едрён батон, опять то же самое. Ещё девайс на 2 Гб под лог.
Смотрю в централе на лог-сегмент в tempdb и начинаю делать в тапки-
лог растёт со скоростью мегов по 50 в минуту.
Чешу репу, надо что-то делать, решаю сделать ему truncate (dump transaction tempdb with no_log или как там). Сбрасываю галку "truncate log on checkpoint", делаю задуманное.
Не помогает. Растёт, сабака, как на дрожжах.
Думаю, ладно, сделаю полноценный dump transact tempdb.
Делаю. Получаю файлик на 6,5 ГБ и.... НИФИГА. Лог растёт, не обрезается.
Через 10 минут после всё САМО_СОБОЙ возвращается в нормальное состояние, как и положено (штатный режим)- log- 20 mb, data- 13 mb.
В результате имею афигительно раздутую до 7 GB tempdb (пересоздам, конечно) и кучу неразрешенных вопросов.

Господа знатоки, внимание, вопросы:

1. Це шо такое було? Кто-нибудь такое видел?
2. Как работает галка "truncate on checkpoint" на tempdb? Подумайте, вопрос не простой. Наблюдаю в централе ( в течении 5-ух минут), как ДАЖЕ БЕЗ НЕЁ происходит "обрезка" лога в сегменте лога. Т.е. 0:00 - лог 60 мб, 2:30 - лог 10 мб и так далее. Логсегмент хоть и на одном девайсе с данными, но в segmap'ах твёрдая 4-ка и никаких 7-рок...
3. Как бы грамотнее, быстрее и лучше пересоздать tempdb? (чур, мастера не предлагать пересоздавать, ну только на крайняк).
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33327004
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
griniland1. Це шо такое було? Кто-нибудь такое видел?

Скорее всего, кто-то забыл закрыть транзакцию, и она длилась, и длилась, и длилась, а потом - бах и закончилась.

griniland
2. Как работает галка "truncate on checkpoint" на tempdb? Подумайте, вопрос не простой. Наблюдаю в централе ( в течении 5-ух минут), как ДАЖЕ БЕЗ НЕЁ происходит "обрезка" лога в сегменте лога. Т.е. 0:00 - лог 60 мб, 2:30 - лог 10 мб и так далее.


Я бы рекомендовал помимо truncate on checkpoint выставлять еще галку abort transaction on full log на tempdb. Тогда транзакция просто грохнется.
Что на счет "truncate on checkpoint" , то надо иметь в виду два момента.
Удаляться из лога могут только неактивные (завершившиеся или откатившиеся) транзакции. В вашем случае она могла просто еще длиться.

При truncate on checkpoint лог обрезается не на всяком checkpoint, а на специальном checkpoint, коротый делает специальный системный процесс -- Housekeeper. Т.е. если просто сделать в tempdb checkpoint , ничего не обрежется.

griniland
3. Как бы грамотнее, быстрее и лучше пересоздать tempdb? .

Перегрузить сервер. Единственный способ пересоздать tempdb.
Правда, в 12.5. есть множественные tempdb, но это ж не 11.9.
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33327423
sybdba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv griniland1. Це шо такое було? Кто-нибудь такое видел?

Скорее всего, кто-то забыл закрыть транзакцию, и она длилась, и длилась, и длилась, а потом - бах и закончилась.

либо кто-то "не попал" в запросе ... взял какую-нить большую табличку несколько раз и непопал в условии джойна (либо случайно забыл условие) - и получили умножение таблицы ;)


MasterZiv
griniland
2. Как работает галка "truncate on checkpoint" на tempdb? Подумайте, вопрос не простой. Наблюдаю в централе ( в течении 5-ух минут), как ДАЖЕ БЕЗ НЕЁ происходит "обрезка" лога в сегменте лога. Т.е. 0:00 - лог 60 мб, 2:30 - лог 10 мб и так далее.


Я бы рекомендовал помимо truncate on checkpoint выставлять еще галку abort transaction on full log на tempdb. Тогда транзакция просто грохнется.
Что на счет "truncate on checkpoint" , то надо иметь в виду два момента.
Удаляться из лога могут только неактивные (завершившиеся или откатившиеся) транзакции. В вашем случае она могла просто еще длиться.

При truncate on checkpoint лог обрезается не на всяком checkpoint, а на специальном checkpoint, коротый делает специальный системный процесс -- Housekeeper. Т.е. если просто сделать в tempdb checkpoint , ничего не обрежется.


MasterZiv
[quot griniland]
3. Как бы грамотнее, быстрее и лучше пересоздать tempdb? .

Перегрузить сервер. Единственный способ пересоздать tempdb.
Правда, в 12.5. есть множественные tempdb, но это ж не 11.9.


после перезапуска база tempdb создается по образу и подобию БД model (содержание) ...
а размер остается тот же ;)
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33328288
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Откат транзакции при abort transaction on full log в некоторых случаях может длится ооочень долго... (по-крайней мере на 12.0)
Не знаю, есть ли на 11.9 трешхолды, но если есть - рекомендую повесить на заполнение половины logsegment процедуру оповещения DBA, а на достижение критического размера - написать процедуру-убивалку давно открытых транзакций с большим IO (точно определить виновника не просто, но иногда лучше убить невиновного, чем допустить простой сервера).
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33330269
serg08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
griniland 

 2 . Как работает галка "truncate on checkpoint" на tempdb? Подумайте, вопрос не простой. Наблюдаю в централе ( в течении  5 -ух минут), как ДАЖЕ БЕЗ НЕЁ происходит "обрезка" лога в сегменте лога. Т.е.  0 : 00  - лог  60  мб,  2 : 30  - лог  10  мб и так далее. 

Знаю так:
Есть параметр настройки сервера:
recovery interval in minutes

Если в логе много незаписанных на диск транзакций то recovery interval увеличивается и Сheckpoint вызывается системой,
что бы 'recovery interval in minutes' остался верен себе.
При большой активности на сервере Сheckpoint чаще .
При низкой активности на сервере Сheckpoint реже.

.. trunc log on chkpt
усекает журнал транзакций, если он содержит 50 или более строк
на момент выполнения автоматической контрольной точки.
Процесс обрезки лога просто привязывается к Сheckpoint.

Системный процесс -- Housekeeper может чаво нибудь системное проделать во время простоя сервера
Например собрать грязные страницы, что уменшит пиковую нагрузку при Сheckpoint
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33331922
griniland
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок, всем спасибо, более-менее ясно, окромя того, какая козлина мне такую подставу сделала=).
Чего не ясно- ПОЧЕМУ он всё-таки не резалсо по dump transaction tempdb to "xxx". Вы себе представляете транзакцию длинною в 6 Гигабайт(это не опечатка!!??!)=)
Второй момент, почему в tempdb и без галки truncate on checkpoint
происходит отсечение лога? (ну это даже хорошо, но зачем на ней тогда эта галка, если и без неё все также рабит)
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33332206
serg08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
Вы себе представляете транзакцию длинною в  6  Гигабайт(это не опечатка!!??!)=)
С трудом.
Но весь лог в 6 гб может держать транзакция в 10 байт
У вас периодически запускается длинная транзакция и при высокой
активности на сервере переполняеться лог.
Код: plaintext
1.
Второй момент, почему в tempdb и без галки truncate on checkpoint
abort transaction on full log??
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33332210
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
козлина мне такую подставу сделала=).

Ваше приложение

Чего не ясно- ПОЧЕМУ он всё-таки не резалсо по dump transaction tempdb to "xxx". Вы себе представляете транзакцию длинною в 6 Гигабайт(это не опечатка!!??!)=)

Да, представляю. Я могу пересказать известную хохму, которую рассказывал , кажется, Rob Verschoor про склад с On-line отслеживанием перемещений товаров, которые они запустили уже в промышленную эксплуатацию, потратив кучу времени на заполнение начальных данных (склад при этом несколько дней стоял, я полагаю). Утром они запустили это дело, и все работало хорошо, но ... только до обеда, пока не переполнился лог транзакций. После переполнения лога все транзакции ( а на самом деле она была одна !!!) откатились обратно.
Кто-то забыл где-то сказать commit.


Второй момент, почему в tempdb и без галки truncate on checkpoint
происходит отсечение лога?

Нет, без галки не происходит. Вы что-то перепутали.
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33332427
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv...почему в tempdb и без галки truncate on checkpoint
происходит отсечение лога?

Нет, без галки не происходит. Вы что-то перепутали.
А я где-то прочитал, что режим truncate on checkpoint в tempdb включен всегда, независимо от состояния галочки. Или может в новых версиях это уже не так?
...
Рейтинг: 0 / 0
колбасит tempdb-резкое увеличение в размерах- help!
    #33333934
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да по идее он зашит (hardwired) для tempdb
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / колбасит tempdb-резкое увеличение в размерах- help!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]