powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Удаление записей и чекпоинты
11 сообщений из 11, страница 1 из 1
Удаление записей и чекпоинты
    #32813756
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удаляю записи из большой таблицы, записей десятки миллонов. В таблице поля только двух типов данных: integer и nvarchar. По таблице построены индексы. Поле nvarchar ни в один из индексов не входит. На сервере кроме сессии удаления никто не работет. База нежурналируемая.
Запускаю удаление - идут fuzzy checkpoints. Останавливаю сессию, меняю некоторые параметры сервера (LRU max и min), перезапускаю сервер, снова запускаю удаление. Теперь идут full checkpoints. Вопрос - почему произошла смена типов чекпоинтов ? В обоих случаях чекпоинты происходили при заполнении физ. журнала на 75 %.
Может это как-то связано с перестройкой индексов в процессе удаления записей ?
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32835235
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю, значения LRI min/max ты уменьшал, в надежде избежать заполнения физжурнала на 3/4 и срабатывания длинных чекпойнтов ?
Трудно сказть, что именно повлияло на смену типа КТ...Нужно почитать подробнее о fuzzy checkpoint и при каких операциях он не срабатывает.
Но я хотел спросить, а почему на время этой операции не отключить индексы ?
Тогда операция удаления шла бы значительно быстрее и однократная перестройка индекса при включении после чистки таблицы, могла бы с лихвой компенсироваться этой экономией времени. Но это если удаляется достаточно много строк и времени нужно много.
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32906603
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По времени удаление с отключением индексов и последующим включением (т.е. сумма времени потраченного на удаление при отключенных индексах и времени на включение индексов на таблице) получается сопоставимо с обычным удалением. Правда с отключением все таки немного (процентов на 15-20) быстрее (хотя может это просто погрешность эксперимента).
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32906743
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndronУдаляю записи из большой таблицы, записей десятки миллонов. В таблице поля только двух типов данных: integer и nvarchar. По таблице построены индексы. Поле nvarchar ни в один из индексов не входит. На сервере кроме сессии удаления никто не работет. База нежурналируемая.
Запускаю удаление - идут fuzzy checkpoints. Останавливаю сессию, меняю некоторые параметры сервера (LRU max и min), перезапускаю сервер, снова запускаю удаление. Теперь идут full checkpoints. Вопрос - почему произошла смена типов чекпоинтов ? В обоих случаях чекпоинты происходили при заполнении физ. журнала на 75 %.
Может это как-то связано с перестройкой индексов в процессе удаления записей ?

1. Fuzzy checkpoints не имеют отношения к выполняемой сервером работе - они либо есть (все время), либо их нет.
2. Удаление на нежурналируемой базе не является фазируемой операцией, поскольку суть fuzzy checkpoint - использовать логические логи вместо физического. Поскольку база нежурналируемая, ничего в логические логи не пишется.
3. By default, сервер выполняет fuzzy checkpoints (есть ситуации, когда он выдолняет полные, но это разовые ситуации ).
4. ИЗменить поведение сервера можно при помощи конфиг параметра / переменной окружения NOFUZZYCKPT 1
http://dbforums.com/t922152.html
5. Очевидно, либо этот параметр был прописан в конфиге, либо переменная выставлена. ПОсле рестарта новое значение стало актуальным и сервер перестал выполнять fuzzy checkpoints.
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32907070
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegallo
1. Fuzzy checkpoints не имеют отношения к выполняемой сервером работе - они либо есть (все время), либо их нет.


Вот тебе навскидку кусочек лога, где типы checkpoint чередуются сами по себе, без вмешательства админа. Чем пояснить ?

20:25:22 Fuzzy Checkpoint Completed: duration was 12 seconds, 5253 buffers not flushed.
20:25:22 Checkpoint loguniq 36, logpos 0x8985cc

20:25:22 Maximum server connections 2
20:28:48 Logical Log 36 Complete.
20:30:46 Fuzzy Checkpoint Completed: duration was 20 seconds, 2466 buffers not flushed.
20:30:46 Checkpoint loguniq 37, logpos 0xb7dcc

20:30:46 Maximum server connections 2
20:36:00 Checkpoint Completed: duration was 14 seconds.
20:36:00 Checkpoint loguniq 37, logpos 0x78d018

20:36:00 Maximum server connections 2
20:36:03 Checkpoint Completed: duration was 0 seconds.
20:36:03 Checkpoint loguniq 37, logpos 0x78e150

20:36:03 Maximum server connections 2
20:41:03 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
20:41:03 Checkpoint loguniq 37, logpos 0x790044
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32907092
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RTFM ! See the last case.

- admin guide -------

Checkpoints and Fast Recovery 23-7

Events That Initiate a Full Checkpoint
In the following situations, the database server performs a full checkpoint to
ensure the physical consistency of all data on disk:
- When you issue onmode -ky to shut down the database server
- When you initiate a checkpoint from the command line with
onmode -c
- When you initiate a checkpoint from the ON-Monitor Force-Ckpt
menu ¨
- When you convert the database server to a newer version or revert to
a previous version
- When you perform a backup or restore using ontape
- When you perform a backup or restore using ON-Bar
The backup tool performs a full checkpoint automatically to ensure
the physical consistency of all data before it writes it to the backup
media.
- At the end of fast recovery or full recovery
- If the database server is about to switch to the next free log and the
log following the free log contains the oldest update
For example, suppose four logical-log files have the status shown in
the following list. The database server forces a full checkpoint when
it switches to logical-log file 3 if the logical-log file 4 has the oldest
update. The full checkpoint advances the oldest update to logical-log
file 3.
The database server performs a full checkpoint to prevent problems
with fast recovery of old log records.
logid Logical-Log File Status
1 U-B----
2 U---C--
3 F
4 U-B---L
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32907103
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vasilis vybegallo
1. Fuzzy checkpoints не имеют отношения к выполняемой сервером работе - они либо есть (все время), либо их нет.


Вот тебе навскидку кусочек лога, где типы checkpoint чередуются сами по себе, без вмешательства админа. Чем пояснить ?

20:25:22 Fuzzy Checkpoint Completed: duration was 12 seconds, 5253 buffers not flushed.
20:25:22 Checkpoint loguniq 36, logpos 0x8985cc

20:25:22 Maximum server connections 2
20:28:48 Logical Log 36 Complete.
20:30:46 Fuzzy Checkpoint Completed: duration was 20 seconds, 2466 buffers not flushed.
20:30:46 Checkpoint loguniq 37, logpos 0xb7dcc

20:30:46 Maximum server connections 2
20:36:00 Checkpoint Completed: duration was 14 seconds.
20:36:00 Checkpoint loguniq 37, logpos 0x78d018

20:36:00 Maximum server connections 2
20:36:03 Checkpoint Completed: duration was 0 seconds.
20:36:03 Checkpoint loguniq 37, logpos 0x78e150

20:36:03 Maximum server connections 2
20:41:03 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
20:41:03 Checkpoint loguniq 37, logpos 0x790044

Непонятно, что вызвало чекпойнт в 20:36:03 - через 3 секунды после завершения предыдущего чекпойнта. Вы уверены, что никто не запускал onmode -c ?
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32908075
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegallo vasilis vybegallo
1. Fuzzy checkpoints не имеют отношения к выполняемой сервером работе - они либо есть (все время), либо их нет.


Вот тебе навскидку кусочек лога, где типы checkpoint чередуются сами по себе, без вмешательства админа. Чем пояснить ?

20:25:22 Fuzzy Checkpoint Completed: duration was 12 seconds, 5253 buffers not flushed.
20:25:22 Checkpoint loguniq 36, logpos 0x8985cc

20:25:22 Maximum server connections 2
20:28:48 Logical Log 36 Complete.
20:30:46 Fuzzy Checkpoint Completed: duration was 20 seconds, 2466 buffers not flushed.
20:30:46 Checkpoint loguniq 37, logpos 0xb7dcc

20:30:46 Maximum server connections 2
20:36:00 Checkpoint Completed: duration was 14 seconds.
20:36:00 Checkpoint loguniq 37, logpos 0x78d018

20:36:00 Maximum server connections 2
20:36:03 Checkpoint Completed: duration was 0 seconds.
20:36:03 Checkpoint loguniq 37, logpos 0x78e150

20:36:03 Maximum server connections 2
20:41:03 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
20:41:03 Checkpoint loguniq 37, logpos 0x790044

Непонятно, что вызвало чекпойнт в 20:36:03 - через 3 секунды после завершения предыдущего чекпойнта. Вы уверены, что никто не запускал onmode -c ?

Уверен на 99,9%, но таких кусочков я могу привести много (см. еще один ниже, взятый за сууботу августа :)) с сервера девелоперов, где обычно работа очень интенсивная и разнообразная (но в субботу все таки народу почти не было), и админскими функциями никто не занимается. Сейчас на сервере, кстати, Fuzzy Checkpoint выключен по нескольким причинам.

12:11:25 Checkpoint Completed: duration was 0 seconds.
12:11:25 Checkpoint loguniq 42, logpos 0x4c018

12:11:25 Maximum server connections 0
12:21:52 Fuzzy Checkpoint Completed: duration was 4 seconds, 1 buffers not flushed.
12:21:53 Checkpoint loguniq 42, logpos 0x1c9044

12:21:53 Maximum server connections 1
12:26:52 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
12:26:52 Checkpoint loguniq 42, logpos 0x1ca044

12:26:52 Maximum server connections 1
12:27:50 Checkpoint Completed: duration was 0 seconds.
12:27:50 Checkpoint loguniq 42, logpos 0x1cb018

12:27:50 Maximum server connections 1
12:27:52 Checkpoint Completed: duration was 0 seconds.
12:27:52 Checkpoint loguniq 42, logpos 0x1cc150

12:27:53 Maximum server connections 1
12:33:02 Fuzzy Checkpoint Completed: duration was 10 seconds, 1 buffers not flushed.
12:33:03 Checkpoint loguniq 42, logpos 0x348044

12:33:03 Maximum server connections 1
12:34:00 Fuzzy Checkpoint Completed: duration was 0 seconds, 1 buffers not flushed.
12:34:00 Checkpoint loguniq 42, logpos 0x3492d4
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32908109
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegalloRTFM ! See the last case.
....
- If the database server is about to switch to the next free log and the
log following the free log contains the oldest update
For example, suppose four logical-log files have the status shown in
the following list. The database server forces a full checkpoint when
it switches to logical-log file 3 if the logical-log file 4 has the oldest
update. The full checkpoint advances the oldest update to logical-log
file 3.
The database server performs a full checkpoint to prevent problems
with fast recovery of old log records.
logid Logical-Log File Status
1 U-B----
2 U---C--
3 F
4 U-B---L
Это тоже вряд ли подходит.
Боюсь, что есть еще неописанные случаи...
Кстати, версия сервера 9.30.TC2
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32908216
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vybegallo 5. Очевидно, либо этот параметр был прописан в конфиге, либо переменная выставлена. ПОсле рестарта новое значение стало актуальным и сервер перестал выполнять fuzzy checkpoints.

Эта переменная NOFUZZYCKPT не была установлена и после окончания удаления (про которое говорится в первом посте) fuzzy checkpoints вновь появились.
...
Рейтинг: 0 / 0
Удаление записей и чекпоинты
    #32908756
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно, что если все модицифированные страницы во время чекпойнта были сброшены на диск (потому что не было fuzzy операций) - то такой чекпойнт помечается как обычный. Это имеет смысл, поскольку обычный чекпойнт "более ценен" системе - с него начинаются некоторые отсчеты. Тогда в исходном примере, до перезагрузки, поскольку в буфере оставались фазированные страницы от предыдущих операций, чекпойнты были фаззи. ПОсле рестарта, поскольку все удаления были не фаззи, и другой работы на сервере не выполнялось - чекпойнты помечались как обычные.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Удаление записей и чекпоинты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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