Журнал повтора
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В Oracle СУБД среде журналы повторного выполнения представляют собой файлы в собственном формате, в которых регистрируется история всех изменений, внесенных в базу данных . Каждый файл журнала повторов состоит из записей повторов. Запись повтора, также называемая записью повтора, содержит группу векторов изменений , каждый из которых описывает или представляет изменение, внесенное в один блок в базе данных.
Например, если пользователь UPDATE
sa в таблице, содержащей данные о сотрудниках, СУБД генерирует запись повтора, содержащую векторы изменений, описывающие изменения в блоке сегментов данных для таблицы. И если пользователь тогда COMMIT
После обновления Oracle создает еще одну запись повторного выполнения и присваивает этому изменению «номер системного изменения» (SCN).
Всякий раз, когда что-то меняется в файле данных, Oracle записывает изменения в журнал повторов. Название журнала повторов указывает на его цель: в случае сбоя базы данных СУБД может повторить (повторно обработать) все изменения в файлах данных, что вернет данные базы данных в то состояние, в котором они были на момент записи последней записи повтора. Администраторы баз данных используют представления V$LOG
, V$LOGFILE
, V$LOG_HISTORY
и V$THREAD
чтобы найти информацию о журнале повторов базы данных. Каждый файл журнала повторного выполнения принадлежит ровно одной группе (из которых должно существовать как минимум две). Ровно одна из этих групп — группа CURRENT (ее можно запросить, используя статус столбца v$log). Oracle использует эту текущую группу для записи записей в журнал повторного выполнения. Когда группа заполнена, происходит переключение журнала , в результате чего другая группа становится текущей. Каждое переключение журнала вызывает контрольную точку, однако обратное неверно: контрольная точка не вызывает переключение журнала повтора. Можно также вручную вызвать переключение журнала повторного выполнения с помощью команды ALTER SYSTEM SWITCH LOGFILE
команда.
Классификация
[ редактировать ]Файлы журналов повторного выполнения бывают двух типов: [1]
- онлайн-журналы повторов (" ORL " [2] или " повторить журналы " [3] короче)
- архивированные журналы повторов (« архивные журналы ») [4]
Использование
[ редактировать ]Прежде чем пользователь получит " Commit Complete ", система должна сначала успешно записать новые или измененные данные в файл журнала повторного выполнения.
СУРБД сначала записывает все изменения, включенные в транзакцию, в буфер журнала в глобальной области системы (SGA). Использование памяти таким образом для первоначального захвата направлено на сокращение операций ввода-вывода на диск. Конечно, когда транзакция фиксируется, буфер журнала повторов должен быть сброшен на диск, поскольку в противном случае восстановление этой фиксации не может быть гарантировано. Процесс LGWR (Log Writer) выполняет эту очистку.
Наличие журнала повторов позволяет воспроизводить операторы SQL. Прежде чем база данных Oracle изменит данные в файле данных, она записывает изменения в журнал повторов. Если что-то случится с одним из файлов данных, процедура восстановления может восстановить файл данных из резервной копии, а затем воспроизвести повтор, записанный с момента резервного копирования; это приведет файл данных в состояние, в котором он был до того, как стал недоступен. Резервные базы данных в среде Oracle Data Guard используют тот же метод: одна база данных (основная база данных) записывает все изменения и отправляет их в резервные базы данных. Каждая резервная база данных применяет (воспроизводит) поступившую повторную операцию, что приводит к синхронизации с основной базой данных. [5]
В случае сбоя базы данных процесс восстановления должен применить все транзакции, как незафиксированные, так и зафиксированные, к файлам данных на диске, используя информацию из файлов журнала повторного выполнения. Oracle должен повторно выполнить все транзакции журнала повторного выполнения, которые имеют как BEGIN
и COMMIT
запись (накат вперед), и он должен отменить все транзакции, у которых есть BEGIN
вход но нет COMMIT
вход (откат). [6] (Повторное выполнение транзакции в этом контексте просто означает применение информации из файлов журнала повторного выполнения к базе данных; система не перезапускает саму транзакцию.) Таким образом, система воссоздает зафиксированные транзакции, применяя «послеизображение» записывает файлы журнала повторов в базу данных и отменяет незавершенные транзакции, используя записи «до образа» в табличном пространстве отмены .
Система отслеживания измененных данных может читать журналы повторного выполнения.
В конфигурациях Oracle Data Guard резервные журналы повторов напоминают эквивалентные онлайн-журналы повторов, но служат для хранения данных повторов, передаваемых из другой базы данных. [7]
Подразумеваемое
[ редактировать ]Учитывая многословность журналирования, корпорация Oracle предоставляет методы для архивирования журналов повторного выполнения (archive-logs), а это, в свою очередь, может использоваться в сценариях резервного копирования данных и резервных базах данных .
Существование подробной серии индивидуально регистрируемых транзакций и действий обеспечивает основу для нескольких усовершенствований управления данными, таких как Oracle Flashback , анализ журналов и восстановление на определенный момент времени . Концепция воплощения базы данных [8] может повлиять на использование повтора при восстановлении базы данных.
В целях настройки базы данных для эффективной работы с журналами повторного выполнения требуется большой объем диска с быстрым доступом.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^
Кайт, Томас; Кун, Дарл (10 ноября 2014 г.). Экспертная архитектура базы данных Oracle . Голос эксперта в Oracle (3-е изд.). Апресс (опубликовано в 2014 г.). п. 9. ISBN 9781430262992 . Проверено 19 февраля 2015 г.
Я упомянул два типа файлов журнала повторного выполнения: онлайн и архивный.
- ^
Бах, Мартин (23 ноября 2013 г.). Экспертная консолидация в базе данных Oracle 12c . SpringerLink: Бюхер. Апресс (опубликовано в 2013 г.). п. 318. ИСБН 9781430244288 . Проверено 12 июля 2015 г.
Резервные журналы повтора (SRL) на сайте аварийного восстановления действуют как аналог онлайн-журналов повтора (ORL) основной базы данных и позволяют удаленному сайту получать повторы более эффективно.
- ^
Фогель, Стив (май 2006 г.). «Руководство администратора базы данных Oracle, 10g, выпуск 2 (10.2)» . docs.oracle.com . Оракул . Проверено 19 февраля 2015 г.
Текущий журнал повторов всегда находится в сети, в отличие от архивных копий журнала повторов. Поэтому онлайн-журнал повторов обычно называют просто журналом повторов.
- ^
Райс, Стив (22 февраля 2013 г.). Oca Oracle Database 11g Администрирование базы данных I: практическое руководство по сертификации . Packt Publishing Ltd (опубликовано в 2013 г.). ISBN 9781849687317 . Проверено 19 февраля 2015 г.
[...] когда происходит переключение журнала, содержимое текущего журнала повторов записывается в архивный журнал повторов процессом ARCn. Эти журналы также называются автономными журналами повторного выполнения или просто архивными журналами.
- ^
Лю, Генри Х. (22 ноября 2011 г.). Производительность и масштабируемость базы данных Oracle: количественный подход . Серия «Количественная программная инженерия». Том. 12. Джон Уайли и сыновья (опубликовано в 2011 г.). стр. 238–239. ISBN 9781118056998 . Проверено 19 февраля 2015 г.
Первичная и физическая резервные базы данных синхронизируются с помощью службы Redo Apply , которая восстанавливает данные повтора из основной базы данных и применяет их к резервной базе данных. [...] Синхронизация между основной и [логической] резервными базами данных достигается с помощью службы под названием SQL Apply, которая преобразует данные повторного выполнения из основной базы данных в операторы SQL, а затем выполняет операторы SQL в резервной базе данных.
- ^
Гринвальд, Рик; Стаковяк, Роберт; Стерн, Джонатан (6 сентября 2013 г.). Oracle Essentials: Oracle Database 12c (5-е изд.). O'Reilly Media, Inc. (опубликовано в 2013 г.). ISBN 9781449343170 . Проверено 19 февраля 2015 г.
Восстановление экземпляра состоит из двух этапов: накат вперед и откат.
- ^
Шупманн, Вивиан (2008). «Oracle Data Guard: концепции и администрирование: 10g, выпуск 2 (10.2)» . Оракул . Проверено 19 февраля 2015 г.
Резервный журнал повторов аналогичен онлайновому журналу повторов, за исключением того, что резервный журнал повторов используется для хранения данных повторов, полученных из другой базы данных.
- ^
Бах, Мартин (23 ноября 2013 г.). Экспертная консолидация в базе данных Oracle 12c . SpringerLink: Бюхер. Апресс (опубликовано в 2013 г.). п. 378. ИСБН 9781430244288 . Проверено 4 февраля 2015 г.
Воплощением согласно документации Oracle является отдельная версия базы данных.
Внешние ссылки
[ редактировать ]- Управление журналом повторов (документация Oracle)