powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Контроль групп Redo
52 сообщений из 52, показаны все 3 страниц
Контроль групп Redo
    #39489476
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Неожиданно налетел на новую для себя проблему. Обычно информация о проблемах с базой данных проявляется в различных мониторингах или внешних признаках. В данном случае идет речь про сервер, на котором производится активная разработка и тестирование нескольких информационных систем. В рассматриваемом случае, мониторинги справились плохо, хотя определенные признаки - рост количества активных сесиий и "зависания" базы данных проявлялись. Все это в той или иной мере время от времени происходило. В анализах отмечалась конкуренция за блоки и конфигурация. В топе появлялись явно не являющиеся причиной запросы типа анализа аудита или записи аудита.
Но к счастью произошел модельный случай - один программист запустил объемное удаление из одной таблицы части записей, отобранных по некой колонке типа дата, одним оператором. Табличка размером 1.3 ГБ. В процессе удаления сессия изменила больше 250 млн. блоков. Удаление шло 9 часов. Причины такого странного поведения базы данных рассмотрим отдельно, а сейчас выявившаяся проблема. В результате объемного изменения генерилось очень много redo и все группы оказывались активными, так как транзакция шла 9 часов и ее изменения попадали во все группы. В результате все сессий становились активными и останавливалось переключение redo. Добавление новой группы позволяло продолжить работу. В результате было создано больше 40 групп по 500МБ каждая и операцию удалось довести до конца.
Вопрос следующий - неужели так просто затопорить работу базы данных забив одной длинной транзакцией все группы redo? Обычно на продуктиве используются три группы redo, получается, что дастаточно двух длинных транзакций, занявщих по группе Redo, чтобы блокировать работу? Как мониторить такую проблему? Пока видится проверка процента активных сессий и процента свободных блоков. Enterprise manager на этом же инстансе с мониторингом не справился (возможно я его не умею готовить) - он все записывал, а в критический момент зависал или падал.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489488
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таджикистану привет!

Ты извини, но столь текста читать сложно, когда пишут на языке соседних стран.
Давай коротко - есть такая-то проблема...
Реально, язык форума русский, а тут столько написано на таджикском.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489491
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantino,

Привет из солнечного таджикистана - ты, видимо, писатель, а не читатель! Имеешь полное право не читать!
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489524
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkДобрый день! Неожиданно налетел на новую для себя проблему. Обычно информация о проблемах с базой данных проявляется в различных мониторингах или внешних признаках. В данном случае идет речь про сервер, на котором производится активная разработка и тестирование нескольких информационных систем. В рассматриваемом случае, мониторинги справились плохо, хотя определенные признаки - рост количества активных сесиий и "зависания" базы данных проявлялись. Все это в той или иной мере время от времени происходило. В анализах отмечалась конкуренция за блоки и конфигурация. В топе появлялись явно не являющиеся причиной запросы типа анализа аудита или записи аудита.
Но к счастью произошел модельный случай - один программист запустил объемное удаление из одной таблицы части записей, отобранных по некой колонке типа дата, одним оператором. Табличка размером 1.3 ГБ. В процессе удаления сессия изменила больше 250 млн. блоков. Удаление шло 9 часов. Причины такого странного поведения базы данных рассмотрим отдельно, а сейчас выявившаяся проблема. В результате объемного изменения генерилось очень много redo и все группы оказывались активными, так как транзакция шла 9 часов и ее изменения попадали во все группы. В результате все сессий становились активными и останавливалось переключение redo. Добавление новой группы позволяло продолжить работу. В результате было создано больше 40 групп по 500МБ каждая и операцию удалось довести до конца.
Вопрос следующий - неужели так просто затопорить работу базы данных забив одной длинной транзакцией все группы redo? Обычно на продуктиве используются три группы redo, получается, что дастаточно двух длинных транзакций, занявщих по группе Redo, чтобы блокировать работу? Как мониторить такую проблему? Пока видится проверка процента активных сессий и процента свободных блоков. Enterprise manager на этом же инстансе с мониторингом не справился (возможно я его не умею готовить) - он все записывал, а в критический момент зависал или падал.

Написано много, но чтобы уловить в чем проблема, надо приложить немало усилий.
У меня такие вопросы образовались:
1. База в archive log mode?
2. Архивирование red log groups производится?
3. Как выполнялось удаление, построчно или был удален набор строк по условию?
4. Когда выполнился commit?
4. 250 млн блоков по 8 Kbytes каждый - это 1.9 Гб, ты указал размер таблицы как 1.3 Гб. Каков размер блока?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489562
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgen1. База в archive log mode?
Да
flexgen2. Архивирование red log groups производится?
Да, и все кроме current были архивированы
flexgen3. Как выполнялось удаление, построчно или был удален набор строк по условию?
Один delete, условие по двум колонкам - по одной is null, по другой, типа date - >sysdate+100
flexgen4. Когда выполнился commit?
После оператора. Само действие было оформлено как безымяный блок Pl/sql, в котором было присвоено значение переменной (sysdate+100), далее шел delete, в котором условие ссылалось на эту переменную и commit. Этот блок выполнялся 9 часов и в конце сделал единственный commit;
flexgen4. 250 млн блоков по 8 Kbytes каждый - это 1.9 Гб, ты указал размер таблицы как 1.3 Гб. Каков размер блока?
8 Kbytes. Размер таблицы из статистики.
Я не согласен, что "250 млн блоков по 8 Kbytes каждый - это 1.9 Гб"
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489693
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfink,

Не могло оказаться так, что вы просто не дождались чекпоинта при исчерпании реду групп?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489724
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...,

Поясните, пожалуйста, как чекпоинт должен пройти, если все группы редо заняты?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489740
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkДа, и все кроме current были архивированы
BfinkПоясните, пожалуйста, как чекпоинт должен пройти, если все группы редо заняты?
сперва ты поясни, а то сам себе противоречишь
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489749
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantino,

Чтобы на группу редо можно было бы переключиться необходимо выполнение двух условий - она должна быть архивирована и не находиться в статусе active. В моем случае все группы, кроме current, находились в статусе active, что не позволяло провести переключение групп redo.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489764
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfinkпроходил мимо...,

Поясните, пожалуйста, как чекпоинт должен пройти, если все группы редо заняты?
Эээ...
А как тёплое связанно с кислым? Чекпоинт ДОЛЖЕН пройти, чтобы группа перестала быть Актив, ибо Актив всего лишь означает надобность группы для крэш-рекавери. В момент переключения логов всегда создаётся контрольная точка, но не всегда полная. Но исчерпание групп - именно тот случай, когда без этого никак...
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489765
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...,

Кстати, если это именно чекпоинт вас держал, в логе об этом должно было быть написано. Несколько раз...
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489778
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...,

Вы правы

сообщение Checkpoint not complete выскакивало периодически вместе с сообщением типа Thread 1 cannot allocate new log, sequence 448301
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489781
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfink,

Осталось понять, что так сильно держало чекпоинт, что вы воспринимали это как останов работы. Виртуальный сервер? Датафайлы на файловой системе? Или на RAID5? Или просто сторадж занят чем-то ещё?
Вариантов масса...
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489787
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...,

нет, реальная машина, HDD, датафайлы на файловой системе.
А можно где-то посмотреть когда и какие были checkpoint-ы?

подобные напряги были периодически последние 2 недели, но здесь известна причина, время и все остальное. Почему-то количество измененных сессией блоков многократно превышает размеры таблицы, откуда удалялись строки вместе с ее индексами.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489794
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда все "устаканилось" на 35 группах, то есть появлялись 1-2 неактивные группы, сообщение стало выскакивать другое - Private strand flush not complete и delete еще шел 3 часа.
В этом случае беспокоит скорость, с которой все переходит в неуправляемое состояние. Не держать же в продуктивной системе столько групп.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489800
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkПочему-то количество измененных сессией блоков многократно превышает размеры таблицы, откуда удалялись строки вместе с ее индексами.Вы забыли анду, так что это нормально.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489814
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...BfinkПочему-то количество измененных сессией блоков многократно превышает размеры таблицы, откуда удалялись строки вместе с ее индексами.Вы забыли анду, так что это нормально.

На мой взгляд все таки слишком - в 1000 раз больше. То есть во время удаления один блок правился 1000раз? Да и весь undo значительно меньше
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489825
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfink,

У вас есть понимание того, как из индекса удаляется запись и что при этом попадает в анду? Хотя, в 1000 раз, наверное, всё равно перебор. Хотя, если индексов много и удаление шло поиском по одному из индексов - можно и в 1000..

Но это, барин, помощник (в данном случае - индекс) нужен (с)
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489841
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...Bfink,

У вас есть понимание того, как из индекса удаляется запись и что при этом попадает в анду?

Нет, никак до этого не доходило - все-таки массовое удаление - редкая операция в информационных системах.
А предположение об удалении по индексу проверю - вполне может быть правдой, тогда это может объяснить и множественное изменение одного и того же блока данных.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489843
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkЧтобы на группу редо можно было бы переключиться необходимо выполнение двух условий - она должна быть архивирована и не находиться в статусе active. В моем случае все группы, кроме current, находились в статусе active, что не позволяло провести переключение групп redo.
BfinkДа, и все кроме current были архивированы
значит ты сам себе противоречишь.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489859
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.TarantinoBfinkЧтобы на группу редо можно было бы переключиться необходимо выполнение двух условий - она должна быть архивирована и не находиться в статусе active. В моем случае все группы, кроме current, находились в статусе active, что не позволяло провести переключение групп redo.
BfinkДа, и все кроме current были архивированы
значит ты сам себе противоречишь.

Нет, не противоречу - условия то два, и оба должны быть выполнены. А одного архивирования недостаточно для переключения
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489916
Alexey DBA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Bfink]Q.Tarantinoпропущено...
Нет, не противоречу - условия то два, и оба должны быть выполнены. А одного архивирования недостаточно для переключения

Вам надо срочно начать писать свои книги по Oracle, просто новое слово в администрировании, я то наивный думал что или или или, а тут и! Писать и срочно в редакцию, Кэйта посрамите! А программисту оторвите руки, лучше сами, нежели пльзователи сначала Вам голову.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39489924
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey DBA,

Программисты как гидры - вместо одной оторванной головы вырастает десять. И от пользователей их головами не убережешься.
Книги писать не получается - слишком заумный текст выходит…

А чем Вам мое утверждение не нравится?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490196
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfinkпроходил мимо...,

Поясните, пожалуйста, как чекпоинт должен пройти, если все группы редо заняты?
А что мешает добавить redo или увеличить их размер?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490285
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona,

40 групп по 500мб как-то многовато.
У Вас сколько групп на продуктиве?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490288
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkВопрос следующий - неужели так просто затопорить работу базы данных забив одной длинной транзакцией все группы redo? Обычно на продуктиве используются три группы redo, получается, что дастаточно двух длинных транзакций, занявщих по группе Redo, чтобы блокировать работу? Как мониторить такую проблему? Пока видится проверка процента активных сессий и процента свободных блоков. Enterprise manager на этом же инстансе с мониторингом не справился (возможно я его не умею готовить) - он все записывал, а в критический момент зависал или падал.

А помните нашумевший сбой в Сбербанке пару лет назад?
вот это оно и было ))

ps а чего делал DBWR спрашивается?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490295
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.TarantinoТаджикистану привет!

Ты извини, но столь текста читать сложно, когда пишут на языке соседних стран.
Давай коротко - есть такая-то проблема...
Реально, язык форума русский, а тут столько написано на таджикском.

чья б мычала...
типа ты русcкий понимаешь
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490297
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfinkпроходил мимо...пропущено...
Вы забыли анду, так что это нормально.

На мой взгляд все таки слишком - в 1000 раз больше. То есть во время удаления один блок правился 1000раз? Да и весь undo значительно меньше

FK c DELETE CASCADE ?
тригеры?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490307
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bfink40 групп по 500мб как-то многовато.
У Вас сколько групп на продуктиве? А это зависит :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
5.1.2 Configure the Size of Redo Log Files and Groups Appropriately
Use Oracle log multiplexing to create multiple redo log members in each redo group,
one in the data area and one in the Fast Recovery Area (unless the redo logs are in an
Oracle ASM high redundancy disk group). This protects against a failure involving the
redo log, such as a disk or I/O failure for one member, or a user error that accidentally
removes a member through an operating system command. If at least one redo log
member is available, then the instance can continue to function.
Best Practices for Sizing Redo Log Files and Groups
* Use a minimum of three redo log groups: this helps prevent the log writer process
(LGWR) from waiting for a group to be available following a log switch.
* All online redo logs and standby redo logs are equal size.
 * Use redo log size = 4GB or redo log size >= peak redo rate x 20 minutes
 * Locate redo logs on high performance disks.
* Place log files in a high redundancy disk group, or multiplex log files across
different normal redundancy disk groups, if using ASM redundancy.
See Also:
* Oracle Database Administrator's Guide for more information about
controlling archiving mode
* Oracle Database Administrator's Guide for information on
Specifying FORCE LOGGING Mode
* See “Reduce Overhead and Redo Volume During ETL Operations
in the technical white paper, "Oracle Data Guard: Disaster
Recovery for Oracle Exadata Database Machine" from the MAA
Best Practices area for Exadata Database Machine at
 http://www.oracle.com/goto/maa 
Note: Do not multiplex the standby redo logs.
See Also:
* Chapter 8, "Configuring Oracle Data Guard"
* Oracle Database Administrator's Guide for more information about
managing redo logs
* Oracle Database Administrator's Guide for information on
Multiplexing Redo Log Files
* Oracle Data Guard Concepts and Administration for more
information about online, archived, and standby redo log files
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490339
chpk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не спросил, а какие параметра checkpoint-а выставлены?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490340
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВА,

Нет, триггеры только на insert и update, операция delete.
FK нету, есть несколько индексов
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490343
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Takurava,

Просто у всех, кого я опрашивал 3 или 5 групп. А у Вас сколько?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490344
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpkНикто не спросил, а какие параметра checkpoint-а выставлены?
Что Вы имеете в виду?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490348
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DВАps а чего делал DBWR спрашивается?

Не знаю, писал, наверное - 250 млн блоков не шутка.
А где-то есть вьюшка с историей что он делал?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490358
chpk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BfinkchpkНикто не спросил, а какие параметра checkpoint-а выставлены?
Что Вы имеете в виду?
show parameter checkpoint
show parameter mttr
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490361
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpkshow parameter checkpoint
show parameter mttr

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SQL> show parameter checkpoint

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_checkpoint_interval 	     integer	 0
log_checkpoint_timeout		     integer	 1800
log_checkpoints_to_alert	     boolean	 TRUE
SQL> show parameter mttr

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
fast_start_mttr_target		     integer	 0
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490375
chkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bfink,

Что говорится о размере логов в V$INSTANCE_RECOVERY ?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490385
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkDВАps а чего делал DBWR спрашивается?

Не знаю, писал, наверное - 250 млн блоков не шутка.
А где-то есть вьюшка с историей что он делал?
ну для начала - что в самой системе то происходит? iostat... диски то справляются с записью или 100% busy и дикие задержки?
твоя ситуация похоже на то что dbwr не справляется с записью, поэтому и висят активные журналы...
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490394
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkПросто у всех, кого я опрашивал 3 или 5 групп. А у Вас сколько? 5-9, бывало и по 30.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490403
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TakuravaBfinkПросто у всех, кого я опрашивал 3 или 5 групп. А у Вас сколько? 5-9, бывало и по 30.

И какой признак показывает, что нужно 30?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490410
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос - что было в wait events? Что насчет блокировок? Есть ли partitions? Есть ли подходящий индекс? Было бы интересно и на план выполнения взглянуть.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490424
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chkpЧто говорится о размере логов в V$INSTANCE_RECOVERY ?

RECOVERY_ESTIMATED_IOSACTUAL_REDO_BLKSTARGET_REDO_BLKSLOG_FILE_SIZE_REDO_BLKS LOG_CHKPT_TIMEOUT_REDO_BLKS10443865328248728200960282487TARGET_MTTRESTIMATED_MTTRCKPT_BLOCK_WRITESWRITES_MTTRWRITES_LOGFILE_SIZE03210528590122427WRITES_LOGFILE_SIZEWRITES_LOG_CHECKPOINT_SETTINGSWRITES_OTHER_SETTINGSWRITES_AUTOTUNE WRITES_FULL_THREAD_CKPT122427145957802099829576336
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490426
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgenЕще вопрос - что было в wait events?

EventWaitsTime(s)Avg wait (ms)% DB timeWait Classfree buffer waits1728279971620241.41Configurationenq: TM - contention1221592215941732.78Applicationenq: TX - row lock contention13211.6968860817.30Applicationdb file scattered read1695606332524.92User I/Obuffer busy waits802259232323.83Concurrency

flexgenЧто насчет блокировок? Есть ли partitions?

Блокировок особенных не заметил, partitions нет.

flexgenЕсть ли подходящий индекс?

Выполнялся этот блок
Код: plsql
1.
2.
3.
declare v_date tm_prescriptions_exec.exec_dt%type; begin v_date := sysdate + 100; delete from tm_prescriptions_exec where exec_status = 0 and quest_response_id is null and exec_dt > v_date; commit; end;

DELETE FROM TM_PRESCRIPTIONS_EXEC WHERE EXEC_STATUS = 0 AND QUEST_RESPONSE_ID IS NULL AND EXEC_DT > :B1



Есть индекс по EXEC_STATUS и EXEC_DT

flexgenБыло бы интересно и на план выполнения взглянуть.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<ExplainPlan>
  <PlanElement id="0" operation="DELETE STATEMENT" optimizer="ALL_ROWS" cost="2.347" cardinality="7.598" bytes="364.704" cpu_cost="18.846.373" io_cost="2.346" time="29">
    <PlanElements>
      <PlanElement object_ID="0" id="1" operation="DELETE" object_owner="RMS" object_name="TM_PRESCRIPTIONS_EXEC">
        <PlanElements>
          <PlanElement object_ID="0" id="2" operation="TABLE ACCESS" option="BY INDEX ROWID" optimizer="ANALYZED" object_owner="RMS" object_name="TM_PRESCRIPTIONS_EXEC" object_type="TABLE" object_instance="1" cost="2.347" cardinality="7.598" bytes="364.704" cpu_cost="18.846.373" io_cost="2.346" filter_predicates="&quot;QUEST_RESPONSE_ID&quot; IS NULL" time="29">
            <PlanElements>
              <PlanElement object_ID="1" id="3" operation="INDEX" option="RANGE SCAN" optimizer="ANALYZED" object_owner="RMS" object_name="TM_PRESCRIPTIONS_EXEC#STAT#DT" object_type="INDEX" search_columns="2" cost="353" cardinality="1.368" cpu_cost="3.193.068" io_cost="353" access_predicates="&quot;EXEC_STATUS&quot;=0 AND SYS_EXTRACT_UTC(&quot;EXEC_DT&quot;)&gt;SYS_EXTRACT_UTC(TO_TIMESTAMP_TZ(:B1)) AND SYS_EXTRACT_UTC(&quot;EXEC_DT&quot;) IS NOT NULL" time="5"/>
            </PlanElements>
          </PlanElement>
        </PlanElements>
      </PlanElement>
    </PlanElements>
  </PlanElement>
</ExplainPlan>
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490427
Bfink
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Q.Tarantinoну для начала - что в самой системе то происходит? iostat... диски то справляются с записью или 100% busy и дикие задержки?

IOStat by Function summary

Function NameReads: DataReqs per secData per secWrites: DataReqs per secData per secWaits: CountAvg Tm(ms)Buffer Cache Reads89.9G454.1625.53900M0.000M16371K1.75Others10.2G177.482.887363.4G1.950.952097646.8K0.49DBWR0M0.000M1.5G45.590.4139076455667.42LGWR165M2.930.045773420M1.460.11651519K8.50RMAN75M0.080.02080657M0.040.01581242414.48Direct Reads4M0.080.0011090M0.000M28812.64Direct Writes0M0.000M3M0.030.0008321120.00Streams AQ0M0.000M0M0.000M322.33TOTAL:100.3G634.7328.49415.3G49.071.499162303.8K3.01
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490668
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...Bfink,

Осталось понять, что так сильно держало чекпоинт, что вы воспринимали это как останов работы. Виртуальный сервер? Датафайлы на файловой системе? Или на RAID5? Или просто сторадж занят чем-то ещё?
Вариантов масса...

У меня чекпоинт держится тяжёлым джобом пару часов.
Виртуальный сервер
Датафайлы на файловой системе
Сторадж занят почти на 100 %.

Что в таком случае надо сделать?
Купить новый сторадж?
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490680
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BfinkIOStat by Function summary
я хотел увидеть iostat из операционки :)
но и тут у dbwr Avg Tm зашкаливает.
посмотри на оси все же iostat. мне кажется диски не вывозят.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490729
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
show parameter checkpoint поговорили и забыли

Я бы поставил
log_checkpoint_interval=100000
log_checkpoint_timeout=600
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490757
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т к в вашем случае чекпоинт проходил каждые 30 минут и большое число измененных блоков -
у вас было много redo в состоянии active

Checkpoint not complete
This message indicates that Oracle wants to reuse a redo log file, but the corresponding checkpoint associated is not terminated.
In this case, Oracle must wait until the checkpoint is completely realized

Установив 100000 - у вас чекпоинт проходил бы каждые 50 мб измененных данных(10 чекпоинтов на 1 redo 500 Мб)
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490766
chkp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
landy,
я бы поставил mttr target, и обнулил log_checkpoint*, чтоб oracle сам думал, когда и что надо.
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39490772
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chkplandy,
я бы поставил mttr target, и обнулил log_checkpoint*, чтоб oracle сам думал, когда и что надо.
FAST_START_MTTR_TARGET
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39491335
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alionaпроходил мимо...Bfink,

Осталось понять, что так сильно держало чекпоинт, что вы воспринимали это как останов работы. Виртуальный сервер? Датафайлы на файловой системе? Или на RAID5? Или просто сторадж занят чем-то ещё?
Вариантов масса...

У меня чекпоинт держится тяжёлым джобом пару часов.
Виртуальный сервер
Датафайлы на файловой системе
Сторадж занят почти на 100 %.

Что в таком случае надо сделать?
Купить новый сторадж?
В вашем случае - забить.
Вам же и так эта базейка не нужна...
...
Рейтинг: 0 / 0
Контроль групп Redo
    #39491537
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...Alionaпропущено...


У меня чекпоинт держится тяжёлым джобом пару часов.
Виртуальный сервер
Датафайлы на файловой системе
Сторадж занят почти на 100 %.

Что в таком случае надо сделать?
Купить новый сторадж?
В вашем случае - забить.
Вам же и так эта базейка не нужна...

Не поняла, поясните, плииз.
В моём случае: программер исправил джоб, теперь он не задерживает чекпоит.
...
Рейтинг: 0 / 0
52 сообщений из 52, показаны все 3 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Контроль групп Redo
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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