Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Например, если пользователь UPDATEуказывает значение зарплаты в таблице, содержащей данные о сотрудниках, СУБД создает запись повтора, содержащую векторы изменений, которые описывают изменения в блоке сегмента данных для таблицы. И если пользователь затем 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]

Использование [ править ]

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

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

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

В случае сбоя базы данных процесс восстановления должен применить все транзакции, как незафиксированные, так и зафиксированные, к файлам данных на диске, используя информацию в файлах журнала повторного выполнения. Oracle должен повторно выполнить все транзакции журнала повторного выполнения, которые имеют как запись, так BEGINи COMMITзапись ( повтор транзакций ), и должен отменить все транзакции, у которых есть BEGINзапись, но нет COMMITзаписи (откат). [6] (Повторное выполнение транзакции в этом контексте просто означает применение информации из файлов журнала повторного выполнения к базе данных; система не перезапускает транзакцию повторно.) Таким образом, система воссоздает подтвержденные транзакции, применяя « после изображения »записывает в файлы журнала повторного выполнения в базу данных и отменяет незавершенные транзакции, используя записи« до изображения »в отменетабличное пространство .

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

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

Последствия [ править ]

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

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

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

См. Также [ править ]

  • Журнал транзакций

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Управление журналом повторов (документация Oracle)