Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Высокая генерация Redo, небольшой объём БД и бекап. / 25 сообщений из 31, страница 1 из 2
15.07.2016, 10:01:02
    #39274326
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Здравствуйте!
Есть задача от начинающего dba. Возможно, для кого-то тривиальная, но я пока смутно представляю, как её решить. Если вы поделитесь своими соображением, опытом, советом, буду очень благодарен.

Вводная информация:

Есть БД, в которой довольно большое количество DML операций, подавляющее количество это UPDATE, вот немного информации за последний час:
Код: plsql
1.
2.
3.
4.
select COUNT(*) from v$sqlstats where last_active_time > to_date('2016-07-15 09:00','YYYY-MM-DD HH24:MI') and UPPER(sql_text) LIKE '%UPDATE%';
---
COUNT(*)
40089



Код: plsql
1.
2.
3.
4.
select COUNT(*) from v$sqlstats where last_active_time > to_date('2016-07-15 09:00','YYYY-MM-DD HH24:MI') and UPPER(sql_text) LIKE '%INSERT%';
---
COUNT(*)
106



Да, здесь hardparse, но это затраты на него пока не сильно волнуют.

Как следствие - объём БД не растёт сильно, но генерируется довольно большое количество redo => arhcived log'ов.

Задача: Организовать еженочный бекап. БД должна быть доступна 24/7.

Теперь немного об ограничениях: В данный момент полный объём файловой системы для арклогов - приблизительно равен объёму сгенерированных арклогов за двое суток. Но скоро начнётся продакшн и увеличится поступление информации в 300 раз. Насколько понимаю, ни о каком хранении арклогов до точки краха БД не может быть речи, негде будет хранить арклоги. Отказаться от архайв режима не могу, не будет доступен горячий бекап.
Посоветуйте: каким образом/чем можно организовать бекап, чтобы он был хотя бы для восстановления на момент бекапа при данных условиях?

Пока вижу ситуацию так: В виду высокой генерации арклогов, думаю удалять их по шедулеру, скажем, каждые 20 минут. Потом, часов в 12, начинается горячее резервирование, возможно, при помощи RMAN. Сформированный бекапсет (контрольник, файлы данных и арклоги) буду хранить для восстановления. Остальные, вновь сформированные, арклоги будут продолжаться удаляться.

Может быть есть смысл думать в другом направление, уменьшение генерации redo или что-нибудь ещё.

Если вы поделитесь своим мнением
...
Рейтинг: 0 / 0
15.07.2016, 10:13:39
    #39274332
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Грубо - 40000/3600=11 updates per sec

для начала разобраться что апдейтится(сколько строк изменяется), может там запросы
кривые и каждый раз апдейтят всю большую таблицу одним и тем же значением
...
Рейтинг: 0 / 0
15.07.2016, 10:25:49
    #39274348
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
landy,

Масса апдейтов в таблицу W_WLD_MA
Содержание одного из низ:
UPDATE W_WLD_MA SET LAST_COMM_DATE = '15072016101427' WHERE MAIN_PROC_CD = '485' AND LR_GUBUN = '1' AND SUB_PROC_CD = '0'

Т.е. обновляется дата состояния объекта. Объектов довольно много получается.

+Небольшая поправка, я ошибся, выданная ранее информация была за пол часа:
Грубо получается - 40000/1800=22 updates per sec
...
Рейтинг: 0 / 0
15.07.2016, 10:35:14
    #39274367
ora601
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
JaBong,

Индексы избыточные есть ? И логтику переписывать если применимо(темп таблички).
...
Рейтинг: 0 / 0
15.07.2016, 10:38:37
    #39274370
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Не знаю скрытого смысла - но зачем обновлять 22 раза в секунду LAST_COMM_DATE (имхо вероятность
смены условия за этот период мала, но опять же нужно знать специфику приложения)
Я бы обратил внимание разработчиков на это - пусть подумают как правильнее сделать
Ну либо пусть от своего бюджета отпилят на диски для хранения архивлогов )))
...
Рейтинг: 0 / 0
15.07.2016, 10:42:23
    #39274376
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Вообще-то надо смотреть sum(executions) по всяким AWR-срезам
А уж ни как количество различных курсоров
...
Рейтинг: 0 / 0
15.07.2016, 12:44:01
    #39274545
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Кто мешает бэкапить только архивлоги хоть каждый час, полчаса и т.д.?
...
Рейтинг: 0 / 0
15.07.2016, 13:12:45
    #39274585
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
landyНе знаю скрытого смысла - но зачем обновлять 22 раза в секунду LAST_COMM_DATE (имхо вероятность
смены условия за этот период мала, но опять же нужно знать специфику приложения)
Я бы обратил внимание разработчиков на это - пусть подумают как правильнее сделать
Ну либо пусть от своего бюджета отпилят на диски для хранения архивлогов )))
Приходит сигнал от робота о смене состояния контроллера, измерений. В одном роботе таких котроллеров и измерителей очень много. Таких роботов очень много. Получается такой вот udpatовый шквал.
...
Рейтинг: 0 / 0
15.07.2016, 13:18:23
    #39274596
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Вячеслав Любомудров, спасибо за замечание.
Per sec
Executes (SQL): 632.1



Из этого блока подойдёт инфа для корректного анализа?
...
Рейтинг: 0 / 0
15.07.2016, 13:18:29
    #39274597
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Ты можешь делать консистентный экспорт и отказаться от ARCHIVELOG
...
Рейтинг: 0 / 0
15.07.2016, 13:20:15
    #39274602
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
KoTTTКто мешает бэкапить только архивлоги хоть каждый час, полчаса и т.д.?
Не мешает никто, было бы куда бэкатить, здесь сталкиваемся с ограничениями в ресурсах :( нет места для такого объёма арклогов.
...
Рейтинг: 0 / 0
15.07.2016, 13:21:51
    #39274606
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Вячеслав Любомудров,

Да, это хороший вариант, спасибо, теперь нужно будет только позаботиться о достаточно большом UNDO. Правильно понимаю?
...
Рейтинг: 0 / 0
15.07.2016, 13:31:19
    #39274622
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
JaBongВячеслав Любомудров, спасибо за замечание.
Per sec
Executes (SQL): 632.1Вообще-то я имел ввиду именно для тех курсоров, которые получились в твоем запросе
JaBongИз этого блока подойдёт инфа для корректного анализа?Ну а почему бы и нет
Например, 250к редо в секунду -- это примерно 900 мег в час (пусть гиг)
Это, в общем-то, не очень много, но как ты собрался его увеличивать в 300 раз? 300 гигов в час -- это очень серьезный редо-поток.

А если у тебя в основном UPDATE, то путей уменьшения redo практически нет

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

Если БД гигов до 300 -- наверное, в часик-полтора уложится. Плюс ты можешь не бэкапить какие-нибудь промежуточные таблицы

Хотя я всегда против обзывания экспорта бэкапом.
...
Рейтинг: 0 / 0
15.07.2016, 13:43:29
    #39274636
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Вячеслав Любомудров,

из-за смутного понимания и не определённых вариантов к действию, хочу сказать Вам большое спасибо за то, что рассеяли это непонимание.
...
Рейтинг: 0 / 0
15.07.2016, 13:50:39
    #39274646
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Непонимание у тебя в постановке:
"БД должна быть доступна 24/7" и "восстановления на момент бекапа" -- как-то не сходится
...
Рейтинг: 0 / 0
15.07.2016, 14:28:08
    #39274686
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Ну я бы не апдейтил, а сделал таблицу еще одну с nologging и связал ее с первой по ID
И просто делал insert /*+append*/ для условия по первой таблице
Это бы уменьшило генерацию редо
А для просмотра результатов запрос для этих двух таблиц или вьюшку
Как то так - опять же это вопрос дизайна и разработчиков
Они просто тупо не хотят думать имхо
...
Рейтинг: 0 / 0
15.07.2016, 14:39:27
    #39274708
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Кстати, если БД EE - можно посмотреть в эту сторону
Включить block change tracking, сделать инкрементально обновляемую копию(обновлять раз в час или два)
И хранить архивлоги только за последний час/два - удалять ненужные после обновления копии
Как-то так
...
Рейтинг: 0 / 0
15.07.2016, 14:40:25
    #39274710
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Т е у вас будет копия БД которую вы сможете быстро поднять
...
Рейтинг: 0 / 0
15.07.2016, 15:56:36
    #39274791
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Вячеслав ЛюбомудровНепонимание у тебя в постановке:
"БД должна быть доступна 24/7" и "восстановления на момент бекапа" -- как-то не сходится
Насколько известно, более критично - наличие доступной БД, чем отсутствие в ней части данных за время с последнего бекапа до возобновления работы БД. Так и получается.
...
Рейтинг: 0 / 0
15.07.2016, 15:58:43
    #39274796
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
landyКстати, если БД EE - можно посмотреть в эту сторону
Включить block change tracking, сделать инкрементально обновляемую копию(обновлять раз в час или два)
И хранить архивлоги только за последний час/два - удалять ненужные после обновления копии
Как-то так
О, вот это довольно хороший вариант. Спасибо, landy!
...
Рейтинг: 0 / 0
15.07.2016, 15:59:58
    #39274798
JaBong
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
JaBongболее критично - наличие доступной БД, чем отсутствие в ней части данных за время с последнего бекапа до возобновления работы БД. Так и получается. Имеется ввиду именно этот частный случай.
...
Рейтинг: 0 / 0
15.07.2016, 16:10:34
    #39274804
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
JaBonglandyКстати, если БД EE - можно посмотреть в эту сторону
Включить block change tracking, сделать инкрементально обновляемую копию(обновлять раз в час или два)
И хранить архивлоги только за последний час/два - удалять ненужные после обновления копии
Как-то так
О, вот это довольно хороший вариант. Спасибо, landy!Это слишком навороченный стендбай (который можно сделать и не обязательно в EE)

Вообще, с таким потоком данных работают по другому (ну нахрена тебе несколько раз в секунду обновлять какое-то поле одного датчика, тем более если не хранится история?).
Сыпешь всю эту хрень непрерывным потоком в плоские файлы ОС, а потом раз в какой-то период (1-5-10 сек) обновляешь данные в оракл последними значениями для каждого датчика, полученными из этого плоского файла простыми утилитами (а в это время данные сыпятся в другой плоский файл)
...
Рейтинг: 0 / 0
16.07.2016, 11:34:37
    #39275066
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Конечно можно и на SE, только грубо change tracking - индекс измененных блоков, а в SE будут
сканироваться датафайлы на предмет измененных блоков.
Все зависит от размера БД и как часто это можно будет делать.
И да - это стендбай, который не нарушает лицензионность БД
...
Рейтинг: 0 / 0
17.07.2016, 19:51:31
    #39275263
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
landyКонечно можно и на SE, только грубо change tracking - индекс измененных блоков, а в SE будут
сканироваться датафайлы на предмет измененных блоков.
Все зависит от размера БД и как часто это можно будет делать.
И да - это стендбай, который не нарушает лицензионность БД

BCT нет для SE:
Oracle Database Editions

feature/optionSE1SE/SE2EEBlock change tracking for fast incremental backupNNY
...
Рейтинг: 0 / 0
17.07.2016, 20:39:53
    #39275266
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Высокая генерация Redo, небольшой объём БД и бекап.
Так и написано - для ЕЕ change tracking
Для SE - будет проверка всех датафайлов на предмет изменения страниц
(и для ЕЕ если change tracking не включен)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Высокая генерация Redo, небольшой объём БД и бекап. / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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