Повторить журнал - Redo log

в Oracle СУБД среда, журналы повторного выполнения содержат файлы в собственном формате, в которых регистрируется история всех изменений, внесенных в база данных. Каждый файл журнала повторов состоит из записей повторов. Запись повтора, также называемая записью повтора, содержит группу изменить векторы, каждый из которых описывает или представляет изменение, внесенное в отдельный блок в базе данных.

Например, если пользователь ОБНОВИТЬs значение заработной платы в таблице, содержащей данные о сотрудниках, СУБД генерирует запись повтора, содержащую векторы изменений, которые описывают изменения в блоке сегмента данных для таблицы. И если пользователь, то СОВЕРШИТЬВо время обновления Oracle генерирует еще одну запись повтора и присваивает изменению «номер изменения системы» (SCN).

Каждый раз, когда что-то изменяется в файле данных, Oracle записывает это изменение в журнал повторов. Название журнал повторного выполнения указывает на его цель: если база данных выйдет из строя, СУБД может повторить (повторно обработать) все изменения в файлах данных, что вернет данные базы данных в состояние, в котором они были, когда была записана последняя запись повтора. Администраторы баз данных используют представления V $ LOG, V $ LOGFILE, V $ LOG_HISTORY и РЕЗЬБА V $ чтобы найти информацию о журнале повторения базы данных. Каждый файл журнала повторения принадлежит ровно одной группе (из которых должно существовать как минимум две). Ровно одна из этих групп - группа CURRENT (можно запросить, используя статус столбца v $ log). Oracle использует эту текущую группу для записи записей журнала повторов. Когда группа заполнится, переключатель журнала происходит, делая другую группу текущей. Каждое переключение журнала вызывает контрольную точку, однако обратное неверно: контрольная точка не вызывает переключение журнала повтора. Также можно вручную вызвать переключение журнала повтора с помощью ALTER SYSTEM SWITCH LOGFILE команда.

Классификация

Файлы журнала повторного выполнения бывают двух типов:[1]

  • онлайн-журналы повторного выполнения ("ORL"[2] или же "журналы повтора"[3] для краткости)
  • архивированные журналы повторов ("архивировать журналы")[4]

использование

Прежде чем пользователь получит "Фиксация завершена", система должна сначала успешно записать новые или измененные данные в файл журнала повторов.

РСУБД сначала записывает все изменения, включенные в транзакцию, в буфер журнала в Системная глобальная область (SGA). С помощью объем памяти Таким образом, первоначальный захват направлен на уменьшение дискового ввода-вывода. Конечно, когда транзакция фиксируется, буфер журнала повторов должен быть сброшен на диск, поскольку в противном случае восстановление для этой фиксации не может быть гарантировано. Эту очистку выполняет процесс LGWR (средство записи журналов).

Наличие журнала повторов позволяет воспроизводить операторы SQL. Прежде чем база данных Oracle изменит данные в файле данных, она записывает изменения в журнал повторов. Если что-то случится с одним из файлов данных, процедура восстановления может восстановить файл данных из резервной копии, а затем воспроизвести повтор, записанный с момента резервного копирования; это переводит файл данных в состояние, в котором он был до того, как он стал недоступен. Резервные базы данных в Oracle Data Guard В среде используется тот же метод: одна база данных (основная база данных) записывает все изменения и отправляет их резервным базам данных. Каждая резервная база данных применяет (воспроизводит) полученный повтор, что приводит к синхронизации с основной базой данных.[5]

В случае сбоя базы данных восстановление процесс должен применить все транзакции, как незафиксированные, так и зафиксированные, к файлам данных на диске, используя информацию в файлах журнала повторного выполнения. Oracle должен повторно выполнить все транзакции повторного журнала, которые имеют как НАЧАТЬ и СОВЕРШИТЬ запись (откат), и он должен отменить все транзакции, у которых есть НАЧАТЬ вход но нет СОВЕРШИТЬ вход (откат).[6] (Повторное выполнение транзакции в этом контексте просто означает применение информации из файлов журнала повторного выполнения к базе данных; система не перезапускает транзакцию заново.) Таким образом, система воссоздает зафиксированные транзакции, применяя «образ после». записывает в файлы журнала повторного выполнения в базу данных и отменяет незавершенные транзакции, используя записи «до изображения» в отмене табличное пространство.

Сбор данных об изменениях может читать журналы повтора.

В конфигурациях Oracle Data Guard резервные журналы повтора похожи на свои эквивалентные онлайн-журналы повторов, но служат для хранения данных повторов, переданных из другой базы данных.[7]

Подразумеваемое

Учитывая многословие вырубки, Корпорация Oracle предоставляет методы для архивирования журналов повторного выполнения (архивных журналов), которые, в свою очередь, могут использоваться в сценариях резервного копирования данных и резервные базы данных.

Наличие подробных серий отдельно регистрируемых транзакций и действий обеспечивает основу для нескольких улучшений управления данными, таких как Oracle Flashback, добыча бревен и восстановление на определенный момент времени. Концепция воплощения базы данных[8]может повлиять на использование повтора при восстановлении базы данных.

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

Смотрите также

Рекомендации

  1. ^ Кайт, Томас; Кун, Дарл (10 ноября 2014 г.). Экспертная архитектура базы данных Oracle. Голос эксперта в Oracle (3-е изд.). Апресс (опубликовано в 2014 г.). п. 9. ISBN  9781430262992. Получено 2015-02-19. Я говорил о двух типах файлов журнала повторного выполнения: оперативный и архивный.
  2. ^ Бах, Мартин (23 ноября 2013). Консолидация экспертов в Oracle Database 12c. SpringerLink: Бюхер. Апресс (опубликовано в 2013 г.). п. 318. ISBN  9781430244288. Получено 2015-07-12. Резервные журналы повторов (SRL) на сайте аварийного восстановления действуют как аналог онлайн-журналов повторов (ORL) первичной базы данных и позволяют удаленному сайту получать повторы более эффективно.
  3. ^ Фогель, Стив (май 2006 г.). "Руководство администратора базы данных Oracle, 10g, выпуск 2 (10.2)". docs.oracle.com. Oracle. Получено 2015-02-19. Текущий журнал повторов всегда в сети, в отличие от архивных копий журнала повторов. Поэтому оперативный журнал повторов обычно называют просто журналом повторов.
  4. ^ Райс, Стив (22 февраля 2013 г.). Oca Oracle Database 11g Database Administration I: Практическое руководство по сертификации. Packt Publishing Ltd (опубликовано в 2013 г.). ISBN  9781849687317. Получено 2015-02-19. [...] когда происходит переключение журнала, содержимое текущего журнала повторов записывается в архивный журнал повторов процессом ARCn. Эти журналы также называются автономными журналами повторного выполнения или просто архивными журналами.
  5. ^ Лю, Генри Х. (22.11.2011). Производительность и масштабируемость Oracle Database: количественный подход. Количественная серия программной инженерии. 12. John Wiley & Sons (опубликовано в 2011 г.). п. 238–239. ISBN  9781118056998. Получено 2015-02-19. Первичная и физическая резервные базы данных синхронизируются с помощью службы, называемой Повторить Применить, который восстанавливает данные повторного выполнения из первичной базы данных и применяет их к резервной базе данных. [...] Синхронизация между первичной и [логической] резервной базами данных достигается с помощью службы под названием SQL Apply, которая преобразует данные повтора из первичной базы данных в операторы SQL, а затем выполняет операторы SQL в резервной базе данных.
  6. ^ Гринвальд, Рик; Stackowiak, Роберт; Стерн, Джонатан (06.09.2013). Oracle Essentials: Oracle Database 12c (5-е изд.). O'Reilly Media, Inc. (опубликовано в 2013 г.). ISBN  9781449343170. Получено 2015-02-19. Восстановление экземпляра состоит из двух этапов: откат и откат.
  7. ^ Шупманн, Вивиан (2008). «Oracle Data Guard: концепции и администрирование: 10g, выпуск 2 (10.2)». Oracle. Получено 2015-02-19. Резервный журнал повторов похож на оперативный журнал повторов, за исключением того, что резервный журнал повторов используется для хранения данных повторов, полученных из другой базы данных.
  8. ^ Бах, Мартин (23 ноября 2013). Консолидация экспертов в Oracle Database 12c. SpringerLink: Бюхер. Апресс (опубликовано в 2013 г.). п. 378. ISBN  9781430244288. Получено 2015-02-04. Реализация согласно документации Oracle - это отдельная версия базы данных.

внешняя ссылка