Оракул журнала повторов, что это такое

Обновлено: 21.11.2024

Получите полный доступ к Oracle Database Administration: The Essential Refe и более чем 60 000 другим играм с бесплатной 10-дневной пробной версией O'Reilly.

Есть также прямые онлайн-мероприятия, интерактивный контент, материалы для подготовки к сертификации и многое другое.

Файлы журнала повторов

Файлы журналов повторов — это файлы операционной системы, используемые Oracle для ведения журналов всех транзакций, выполненных в базе данных. Основная цель этих файлов журналов — позволить Oracle восстановить изменения, внесенные в базу данных, в случае сбоя.

В базе данных Oracle должно быть как минимум два файла журнала повторного выполнения, а в большинстве баз данных их больше двух. Эти файлы записываются процессом LGWR по кругу; то есть при заполнении последнего файла журнала повторно используется первый файл журнала. Например, если в базе данных есть три файла журнала повторного выполнения, блоки будут записываться в файл1 до тех пор, пока он не будет заполнен; затем этот файл закрывается, и LGWR начинает запись в файл2 (это называется переключение журнала ). Когда файл2 заполнен, LGWR переключается на файл3. При заполнении файла file3 повторно используется файл file1 и т. д.

Если база данных работает в режиме архивного журнала, то во время переключения журнала процесс ARCH копирует содержимое только что заполненного файла журнала в каталог ARCHIVE_LOG_DEST, присваивая архивному файлу журнала уникальное имя с использованием последовательного количество. Эти заархивированные файлы журналов можно использовать во время восстановления базы данных для восстановления транзакций, сделанных после последней полной резервной копии базы данных. Если процесс ARCH не может завершить копирование до того, как Oracle снова потребуется использовать файл журнала, вся деятельность базы данных останавливается до завершения архивирования. Поскольку это может существенно повлиять на производительность, обязательно создайте достаточно файлов журналов, чтобы этого не произошло.

Поскольку файлы журналов повторного выполнения очень важны для .

Получите Администрирование базы данных Oracle: The Essential Refe прямо сейчас с онлайн-обучением O’Reilly.

Члены O’Reilly проходят онлайн-обучение в режиме реального времени, а также получают книги, видео и цифровой контент от более чем 200 издателей.

Наиболее важной структурой для операций восстановления является журнал повторов, который состоит из двух или более заранее выделенных файлов, в которых хранятся все изменения, внесенные в базу данных, по мере их возникновения. С каждым экземпляром базы данных Oracle связан журнал повторного выполнения для защиты базы данных в случае сбоя экземпляра.

Повторить темы

В контексте нескольких экземпляров базы данных журнал повторов для каждого экземпляра базы данных также называется потоком повторов . В типичных конфигурациях только один экземпляр базы данных обращается к базе данных Oracle, поэтому присутствует только один поток. Однако в среде Oracle Real Application Clusters два или более экземпляра одновременно обращаются к одной базе данных, и каждый экземпляр имеет свой собственный поток повторения. Отдельный поток повторов для каждого экземпляра позволяет избежать конкуренции за один набор файлов журналов повторов, тем самым устраняя потенциальные узкие места в производительности.

В этой главе описывается, как настроить и управлять журналом повторов в стандартной базе данных Oracle с одним экземпляром. Можно предположить, что номер потока равен 1 во всех обсуждениях и примерах утверждений. Информацию о группах журналов повторного выполнения в среде Oracle Real Application Clusters см. в Руководстве по администрированию и развертыванию Oracle Real Application Clusters .

Содержимое журнала повторов

Файлы журналов повторов заполнены записями повторов. Повторная запись, также называемая повторной записью, состоит из группы векторов изменений, каждый из которых является описанием изменения, внесенного в отдельный блок в базе данных. Например, если вы изменяете значение зарплаты в таблице сотрудников, вы создаете запись повторения, содержащую векторы изменений, которые описывают изменения в блоке сегмента данных для таблицы, блоке данных сегмента отмены и таблице транзакций сегментов отмены.< /p>

Записи повторов записывают данные, которые можно использовать для реконструкции всех изменений, внесенных в базу данных, включая сегменты отмены. Поэтому журнал повторов также защищает данные отката. Когда вы восстанавливаете базу данных с использованием данных повторного выполнения, база данных считывает векторы изменений в записях повторного выполнения и применяет изменения к соответствующим блокам.

Записи повторов циклически буферизуются в буфере журнала повторов SGA (см. «Как Oracle Database записывает в журнал повторов») и записываются в один из файлов журнала повторов базой данных Log Writer (LGWR). фоновый процесс. Всякий раз, когда транзакция фиксируется, LGWR записывает записи повторов транзакций из буфера журнала повторов SGA в файл журнала повторов и присваивает номер системного изменения (SCN) для идентификации записей повторов для каждой зафиксированной транзакции. Пользовательский процесс уведомляется о том, что транзакция была зафиксирована, только когда все записи повторного выполнения, связанные с данной транзакцией, безопасно находятся на диске в онлайн-журналах.

Записи повторов также могут быть записаны в файл журнала повторов до того, как соответствующая транзакция будет зафиксирована.Если буфер журнала повторного выполнения заполняется или фиксируется другая транзакция, LGWR сбрасывает все записи журнала повторного выполнения в буфере журнала повторного выполнения в файл журнала повторного выполнения, даже если некоторые записи повторного выполнения могут не быть зафиксированы. При необходимости база данных может отменить эти изменения.

Как Oracle Database записывает данные в журнал повторов

Журнал повторов базы данных состоит из двух или более файлов журналов повторов. Для базы данных требуется как минимум два файла, чтобы гарантировать, что один из них всегда доступен для записи, а другой архивируется (если база данных находится в режиме ARCHIVELOG). Дополнительные сведения см. в разделе «Управление архивными журналами повторов».

LGWR циклически записывает файлы журналов повторного выполнения. Когда текущий файл журнала повторов заполняется, LGWR начинает запись в следующий доступный файл журнала повторов. Когда последний доступный файл журнала повторов заполнен, LGWR возвращается к первому файлу журнала повторов и выполняет запись в него, начиная цикл заново. Рисунок 12-1 иллюстрирует циклическую запись файла журнала повторов. Цифры рядом с каждой строкой указывают последовательность, в которой LGWR записывает в каждый файл журнала повторов.

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

Если архивирование отключено (база находится в режиме NOARCHIVELOG), заполненный файл журнала повторов доступен после того, как записанные в нем изменения будут записаны в файлы данных.

Если архивирование включено (база данных находится в режиме ARCHIVELOG), заполненный файл журнала повторов доступен для LGWR после того, как записанные в нем изменения будут записаны в файлы данных и файл будет заархивирован.

Рис. 12-1 Повторное использование файлов журналов повторного выполнения LGWR

Активные (текущие) и неактивные файлы журналов повторного выполнения

База данных Oracle использует только один файл журнала повторного выполнения за раз для хранения записей повторного выполнения, записанных из буфера журнала повторного выполнения. Файл журнала повторов, в который LGWR активно записывает данные, называется текущим файлом журнала повторов.

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

Если вы включили архивирование (база данных находится в режиме ARCHIVELOG), то база данных не может повторно использовать или перезаписывать активный онлайн-файл журнала до тех пор, пока один из фоновых процессов архиватора (ARC n ) не заархивирует его содержимое. Если архивирование отключено (база данных находится в режиме NOARCHIVELOG), то при заполнении последнего файла журнала повторов LGWR продолжает перезаписывать первый доступный активный файл.

Переключатели журнала и порядковые номера журнала

Переключение журнала — это точка, в которой база данных прекращает запись в один файл журнала повторного выполнения и начинает запись в другой. Обычно переключение журнала происходит, когда текущий файл журнала повторов полностью заполнен, и запись должна продолжаться в следующий файл журнала повторов. Однако вы можете настроить переключение журналов так, чтобы они происходили через равные промежутки времени, независимо от того, полностью ли заполнен текущий файл журнала повторов. Вы также можете принудительно переключать журналы вручную.

Oracle Database присваивает каждому файлу журнала повторного выполнения новый порядковый номер каждый раз, когда происходит переключение журнала и LGWR начинает запись в него. Когда база данных архивирует файлы журналов повторного выполнения, архивный журнал сохраняет свой порядковый номер журнала. Файлу журнала повторов, который возвращается для использования, присваивается следующий доступный порядковый номер журнала.

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

В этой главе объясняется, как управлять онлайн-журналом повторов. Текущий журнал повторов всегда находится в сети, в отличие от архивных копий журнала повторов. Поэтому онлайн-журнал повторов обычно называют просто журналом повторов .

Эта глава содержит следующие темы:

Часть III, "Автоматизированное управление файлами и хранилищами" для получения информации о файлах журналов повторного выполнения, которые создаются и управляются сервером базы данных Oracle

Что такое журнал повторов?

Наиболее важной структурой для операций восстановления является журнал повторов, который состоит из двух или более заранее выделенных файлов, в которых хранятся все изменения, внесенные в базу данных, по мере их возникновения. С каждым экземпляром базы данных Oracle связан журнал повторного выполнения для защиты базы данных в случае сбоя экземпляра.

Повторить темы

В контексте нескольких экземпляров базы данных журнал повторов для каждого экземпляра базы данных также называется потоком повторов . В типичных конфигурациях только один экземпляр базы данных обращается к базе данных Oracle, поэтому присутствует только один поток. Однако в среде Oracle Real Application Clusters два или более экземпляра одновременно обращаются к одной базе данных, и каждый экземпляр имеет свой собственный поток повторения. Отдельный поток повторов для каждого экземпляра позволяет избежать конкуренции за один набор файлов журналов повторов, тем самым устраняя потенциальные узкие места в производительности.

В этой главе описывается, как настроить и управлять журналом повторов в стандартной базе данных Oracle с одним экземпляром. Можно предположить, что номер потока равен 1 во всех обсуждениях и примерах утверждений. Информацию о группах журналов повторного выполнения в среде Real Application Clusters см. в руководстве по администрированию и развертыванию Oracle Database Oracle Clusterware и Oracle Real Application Clusters.

Содержимое журнала повторов

Файлы журналов повторов заполнены записями повторов. Повторная запись, также называемая повторной записью, состоит из группы векторов изменений, каждый из которых является описанием изменения, внесенного в отдельный блок в базе данных. Например, если вы изменяете значение зарплаты в таблице сотрудников, вы создаете запись повторения, содержащую векторы изменений, которые описывают изменения в блоке сегмента данных для таблицы, блоке данных сегмента отмены и таблице транзакций сегментов отмены.< /p>

Записи повторов записывают данные, которые можно использовать для реконструкции всех изменений, внесенных в базу данных, включая сегменты отмены. Поэтому журнал повторов также защищает данные отката. Когда вы восстанавливаете базу данных с использованием данных повторного выполнения, база данных считывает векторы изменений в записях повторного выполнения и применяет изменения к соответствующим блокам.

Записи повторов циклически буферизуются в буфере журнала повторов SGA (см. «Как Oracle Database записывает в журнал повторов») и записываются в один из файлов журнала повторов базой данных Log Writer (LGWR). фоновый процесс. Всякий раз, когда транзакция фиксируется, LGWR записывает записи повторов транзакций из буфера журнала повторов SGA в файл журнала повторов и присваивает номер системного изменения (SCN) для идентификации записей повторов для каждой зафиксированной транзакции. Пользовательский процесс уведомляется о том, что транзакция была зафиксирована, только когда все записи повторного выполнения, связанные с данной транзакцией, безопасно находятся на диске в онлайн-журналах.

Записи повторов также могут быть записаны в файл журнала повторов до того, как соответствующая транзакция будет зафиксирована. Если буфер журнала повторного выполнения заполняется или фиксируется другая транзакция, LGWR сбрасывает все записи журнала повторного выполнения в буфере журнала повторного выполнения в файл журнала повторного выполнения, даже если некоторые записи повторного выполнения могут не быть зафиксированы. При необходимости база данных может отменить эти изменения.

Как Oracle Database записывает данные в журнал повторов

Журнал повторов базы данных состоит из двух или более файлов журналов повторов. Для базы данных требуется как минимум два файла, чтобы гарантировать, что один из них всегда доступен для записи, а другой архивируется (если база данных находится в режиме ARCHIVELOG). Дополнительные сведения см. в разделе «Управление архивными журналами повторов».

LGWR циклически записывает файлы журналов повторного выполнения. Когда текущий файл журнала повторов заполняется, LGWR начинает запись в следующий доступный файл журнала повторов. Когда последний доступный файл журнала повторов заполнен, LGWR возвращается к первому файлу журнала повторов и выполняет запись в него, начиная цикл заново. Рисунок 6-1 иллюстрирует циклическую запись файла журнала повторов. Цифры рядом с каждой строкой указывают последовательность, в которой LGWR записывает в каждый файл журнала повторов.

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

Если архивирование отключено (база находится в режиме NOARCHIVELOG), заполненный файл журнала повторов доступен после того, как записанные в нем изменения будут записаны в файлы данных.

Если архивирование включено (база данных находится в режиме ARCHIVELOG), заполненный файл журнала повторов доступен для LGWR после того, как записанные в нем изменения будут записаны в файлы данных и файл будет заархивирован.

Рис. 6-1 Повторное использование файлов журналов повторов программой LGWR

Активные (текущие) и неактивные файлы журналов повторного выполнения

База данных Oracle использует только один файл журнала повторного выполнения за раз для хранения записей повторного выполнения, записанных из буфера журнала повторного выполнения. Файл журнала повторов, в который LGWR активно записывает данные, называется текущим файлом журнала повторов.

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

Если вы включили архивирование (база данных находится в режиме ARCHIVELOG), то база данных не может повторно использовать или перезаписывать активный онлайн-файл журнала до тех пор, пока один из фоновых процессов архиватора (ARC n ) не заархивирует его содержимое. Если архивирование отключено (база данных находится в режиме NOARCHIVELOG), то при заполнении последнего файла журнала повторов LGWR продолжает перезаписывать первый доступный активный файл.

Переключатели журнала и порядковые номера журнала

Переключение журнала — это точка, в которой база данных прекращает запись в один файл журнала повторного выполнения и начинает запись в другой. Обычно переключение журнала происходит, когда текущий файл журнала повторов полностью заполнен, и запись должна продолжаться в следующий файл журнала повторов. Однако вы можете настроить переключение журналов так, чтобы они происходили через равные промежутки времени, независимо от того, полностью ли заполнен текущий файл журнала повторов. Вы также можете принудительно переключать журналы вручную.

Oracle Database присваивает каждому файлу журнала повторного выполнения новый порядковый номер каждый раз, когда происходит переключение журнала и LGWR начинает запись в него. Когда база данных архивирует файлы журналов повторного выполнения, архивный журнал сохраняет свой порядковый номер журнала. Файлу журнала повторов, который возвращается для использования, присваивается следующий доступный порядковый номер журнала.

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

Планирование журнала повторов

В этом разделе приведены рекомендации, которые следует учитывать при настройке журнала повторов экземпляра базы данных. Он содержит следующие темы:

Журналы повторного выполнения Oracle являются одним из основных компонентов операций восстановления базы данных Oracle. Журналы повторов состоят из двух или более предварительно настроенных файлов, которые регистрируют все изменения, внесенные в базу данных. Это помогает экземпляру базы данных восстановить данные в случае сбоя. Этот учебник поможет вам понять концепции журналов повторного выполнения Oracle и их важность в управлении базой данных. Кроме того, это позволит вам управлять журналами повторов в качестве администратора баз данных и выполнять такие операции, как создание, добавление и удаление файлов, управление группами и участниками и т. д.

Мы в Hevo стремимся помочь нашим клиентам наилучшим образом использовать такие инструменты, как база данных Oracle, в их стеке данных. Этот пост поможет вам максимально эффективно использовать базу данных Oracle с помощью журналов повторов.

Содержание

Что такое база данных Oracle?

Oracle Database, система управления реляционными базами данных, на сегодняшний день является одним из самых надежных и широко используемых механизмов баз данных. Он построен на основе структуры, в которой пользователи или приложение могут напрямую обращаться к объектам данных через язык структурированных запросов (SQL). Он имеет полностью масштабируемую архитектуру и часто используется глобальными предприятиями, которые управляют и обрабатывают данные в глобальных и локальных сетях. База данных имеет собственный сетевой уровень, обеспечивающий связь между сетями.

Ключевые особенности баз данных Oracle

Упростите анализ данных с помощью конвейеров данных Hevo без кода

Полностью управляемая платформа конвейера данных без кода, такая как Hevo Data, помогает интегрировать и загружать данные из более чем 100 источников (включая более 40 бесплатных источников данных), таких как Oracle, в желаемое хранилище данных или место назначения по вашему выбору и визуализировать их. в инструменте BI. Hevo с его минимальной кривой обучения можно настроить всего за несколько минут, что позволит пользователям загружать данные без ущерба для производительности. Его надежная интеграция с многочисленными источниками позволяет пользователям легко вводить данные различных типов без необходимости кодировать ни одной строки.

Ознакомьтесь с некоторыми интересными функциями Hevo:

Предпосылки

  • Основное понимание концепций реляционных баз данных
  • Хорошее понимание архитектуры баз данных Oracle

Что такое журналы повторов Oracle?

Журнал повторов, состоящий из двух или более предварительно выделенных файлов, содержащих все изменения, внесенные в базу данных по мере их возникновения, является наиболее важным компонентом операций восстановления. У каждого экземпляра базы данных Oracle есть журнал повторов для защиты базы данных в случае сбоя экземпляра.

1) Потоки или журналы Oracle Redo

В контексте нескольких экземпляров базы данных журнал повторов для каждого экземпляра базы данных также называется потоком повторов. В типичных конфигурациях только один экземпляр базы данных обращается к базе данных Oracle, поэтому присутствует только один поток. Однако в среде Oracle Real Application Clusters два или более экземпляра одновременно обращаются к одной базе данных, и каждый экземпляр имеет свой собственный поток повторения. Отдельный поток повторов для каждого экземпляра позволяет избежать конкуренции за один набор файлов журналов повторения Oracle, тем самым устраняя потенциальные узкие места в производительности.

2) Операция журнала повторов Oracle

Процесс записи журнала (LGWR) отвечает за запись в файлы журнала повторов базы данных. Как показано на рисунке, файлы записываются по кругу: когда текущий файл заполняется, он записывается в следующий файл и так далее.

Что происходит, когда журналы повторов заполняются? Доступность заполненного журнала повторов для LGWR зависит от архивного режима базы данных.

  • NOARCHIVELOG: архивирование отключено, т.е.файлы журнала повторов становятся доступными после записи изменений в файлы данных.
  • АРХИВНЫЙ ЖУРНАЛ: архивирование включено, т. е. файлы журнала повторов доступны только после того, как изменения будут записаны в файлы данных и файл будет заархивирован.

3) Содержимое журнала повторов

Файлы журналов повторов переполнены записями повторов. Повторная запись, также известная как повторная запись, состоит из набора векторов изменений, каждый из которых содержит описание изменения, внесенного в отдельный блок базы данных. Например, если вы измените значение зарплаты в таблице сотрудников, вы создадите запись повтора, включающую векторы изменений, описывающие изменения в блоке сегмента данных таблицы, блоке данных сегмента отмены и таблице транзакций сегментов отмены.

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

Фоновый процесс базы данных Log Writer (LGWR) циклически буферизует записи повторов в буфере журнала повторов SGA и записывает их в один из файлов журнала повторов. Когда транзакция зафиксирована, LGWR отправляет записи повторов транзакций из буфера журнала повторов SGA в файл журнала повторов и присваивает номер системного изменения (SCN) каждой записи повторов зафиксированной транзакции. Процессу пользователя сообщают, что транзакция была зафиксирована, только после того, как все записи повторов, связанные с конкретной транзакцией, будут надежно сохранены на диске в онлайн-журналах.

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

Как Oracle Database записывает данные в журнал повторов?

Журнал повторов базы данных состоит из двух или более файлов журналов повторов. Для базы данных требуется как минимум два файла, чтобы один всегда был доступен для записи, а другой был заархивирован (база данных находится в режиме NOARCHIVELOG).

LGWR выполняет циклическую запись в файлы журналов повторного выполнения. LGWR начинает запись в следующий доступный файл журнала повторов, когда текущий файл журнала повторов заполнен. Когда последний доступный файл журнала повторов заполнен, LGWR возвращается к первому доступному файлу журнала повторов и выполняет запись в него, тем самым перезапуская цикл. На рисунке ниже показана циклическая запись файла журнала повторов. Числа после каждой строки представляют порядок, в котором LGWR записывает в каждый файл журнала повторов.

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

  • Если архивирование отключено (база данных находится в режиме NOARCHIVELOG), полный файл журнала повторов доступен после того, как записанные в нем изменения будут записаны в файлы данных.
  • Если архивирование включено (база данных находится в режиме ARCHIVELOG), LGWR имеет доступ к заполненному файлу журнала повторов после того, как записанные в нем изменения были записаны в файлы данных и файл был заархивирован.

Важные термины, связанные с журналами повторов Oracle

Следующие термины помогут вам понять различные типы операций Redo Log:

  • Текущий файл журнала повторов: это файл, который LGWR записывает в данный момент.
  • Активный файл журнала повторов: файл журнала повторов, необходимый для восстановления экземпляра.
  • Неактивные файлы журнала повторов: файлы журнала повторов, которые больше не требуются для восстановления экземпляра.
  • Переключение журнала: это момент, когда LGWR прекращает запись в файл и начинает запись в другой.
  • Порядковый номер журнала. Каждый раз, когда происходит переключение журнала и LGWR начинает запись в файл журнала повторов, ему присваивается порядковый номер. В архивном журнале сохраняется этот номер. Когда файл журнала повторов возвращается в исходное состояние, он снова получает новый порядковый номер

Планирование журналов повторов

Он предоставляет рекомендации по настройке журнала повторов экземпляра базы данных и содержит следующую информацию:

A) Мультиплексирование файлов журналов повторного выполнения

Oracle Database поддерживает мультиплексный журнал повторов. Это означает, что две или более идентичных копий журнала повторов могут автоматически храниться в разных местах для защиты от сбоев, связанных с самим журналом повторов. Эти области должны быть на разных дисках для наибольшего преимущества. Даже если все копии журнала повторов хранятся на одном диске, избыточность может помочь защититься от ошибок ввода-вывода, повреждения файлов и других проблем. LGWR постоянно записывает одну и ту же информацию журнала повторов в несколько идентичных файлов журнала повторов, когда файлы журнала повторов мультиплексируются, тем самым устраняя единую точку сбоя журнала повторов.

Мультиплексирование реализуется путем создания групп файлов журналов повторного выполнения. Группа состоит из файла журнала повторов и его мультиплексированных копий.Говорят, что каждая идентичная копия является членом группы. Каждая группа журнала повторов определяется номером, например, группа 1, группа 2 и т. д.

A_LOG1 и B_LOG1 относятся к группе 1, A_LOG2 и B_LOG2 относятся к группе 2 и так далее. Все участники группы должны быть одного размера.

B) Размещение членов журнала повторов на разных дисках

При настройке мультиплексированного журнала повторов разместите членов группы на разных физических дисках. Если один диск выходит из строя, только один член группы становится недоступным для LGWR, а другие члены остаются доступными для LGWR, поэтому экземпляр может продолжать функционировать.

Распределяйте элементы журнала повторов по дискам, если вы архивируете журнал повторов, чтобы избежать конфликтов между фоновыми процессами LGWR и ARCn. Например, если у вас есть две группы мультиплексированных элементов журнала повторного выполнения (дуплексный журнал повторного выполнения), сохраните каждого члена на отдельном диске и укажите место назначения архивации на пятом диске. Это позволит избежать конфликта между LGWR (запись членов) и ARCn (чтение членов).

Чтобы уменьшить перегрузку при записи блоков данных и записей повторов, файлы данных следует размещать на разных дисках, а не файлы журналов повторов.

C) Установка размера членов журнала повторов

Учитывайте, будете ли вы архивировать журнал повторов при определении размера файлов журнала повторов. Файлы журналов повторного выполнения должны иметь такой размер, чтобы вся группа могла быть заархивирована на одном автономном носителе (например, на ленте или диске) с минимальным пространством на носителе. Предположим, что на ленте может поместиться только одна заполненная группа журналов повторного выполнения и что 49 % емкости ленточных накопителей не используются. В этом случае предпочтительнее значительно уменьшить размер файлов журналов повторного выполнения, чтобы на каждой ленте можно было хранить две группы журналов.

Размер всех элементов одной и той же мультиплексированной группы журналов повторного выполнения должен быть одинаковым. Члены различных организаций могут быть разного размера. С другой стороны, изменение размера файла по группам бессмысленно. Если между переключениями журнала не настроены контрольные точки, сделайте все группы одинакового размера, чтобы гарантировать, что они возникают через равные промежутки времени.

Размер файла журнала повторов не должен превышать 4 МБ.

D) Выбор количества файлов журнала повторов

Проверка нескольких конфигураций – лучший способ определить необходимое количество файлов журналов повторного выполнения для экземпляра базы данных. Оптимальный дизайн включает как можно меньше групп, но позволяет LGWR записывать информацию журнала повторов.

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

Прежде чем вы настроите или измените конфигурацию журнала повторов экземпляра, вы можете определить параметры, которые будут ограничивать количество файлов журнала повторов. Следующие параметры ограничивают количество файлов журналов повторного выполнения, которые можно добавить в базу данных:

  • Параметр MAXLOGFILES в операторе CREATE DATABASE указывает максимальное количество групп файлов журналов повторного выполнения, которые можно создать для каждой базы данных. Значение группы может варьироваться от 1 до MAXLOGFILES. Когда уровень совместимости ниже 10.2.0, единственный способ обойти это верхнее ограничение — воссоздать базу данных или ее управляющий файл. В результате важно устранить это ограничение перед созданием базы данных. Вы можете превысить ограничение MAXLOGFILES, если для совместимости установлено значение 10.2.0 или более поздняя версия, а управляющие файлы расширяются по мере необходимости. Если параметр MAXLOGFILES не указан в команде CREATE DATABASE, база данных использует значение операционной системы по умолчанию.
  • Максимальное количество участников для каждой группы определяется параметром MAXLOGMEMBERS в операторе CREATE DATABASE. Единственный способ переопределить этот верхний предел, как и в случае с MAXLOGFILES, — это заново создать базу данных или управляющий файл. В результате важно устранить это ограничение перед созданием базы данных. Если аргумент MAXLOGMEMBERS для команды CREATE DATABASE не указан, база данных использует значение операционной системы по умолчанию.

E) Управление задержкой архива

Вы можете заставить все включенные потоки журналов повторного выполнения менять местами свои текущие журналы через равные промежутки времени. Изменения становятся доступными для резервной базы данных по принципу «основная/резервная база данных» путем архивирования журналов повторного выполнения на основном сайте и последующей отправки их в резервную базу данных.

Изменения, применяемые резервной базой данных, могут отставать от изменений первичной базы данных, поскольку резервная база данных должна ждать, пока изменения в журнале повторов первичной базы данных будут заархивированы (в архивный журнал повторов), а затем отправлены в нее. Вы можете уменьшить эту задержку, установив параметр инициализации ARCHIVE LAG TARGET. Установка этого параметра позволяет определить, как долго может быть задержка в секундах (время).

Настройка параметра инициализации ARCHIVE_LAG_TARGET

Когда вы указываете параметр инициализации ARCHIVE_LAG_TARGET, база данных регулярно проверяет текущий журнал повторов экземпляра. Если выполняется любое из следующих условий, экземпляр изменит журнал:

  • Текущий журнал был создан до n секунд (времени) назад, и ожидаемое время архивации текущего журнала составляет m секунд (пропорционально количеству блоков повторного выполнения, используемых в текущем журнале), где n + m превышает значение параметра инициализации ARCHIVE_LAG_TARGET.
  • Записи повторов можно найти в текущем журнале.

Если среда Oracle Data Guard не настроена на режим без потери данных, параметр инициализации ARCHIVE_LAG_TARGET указывает, сколько секунд повторного выполнения может быть потеряно резервным в случае отключения или сбоя основного. Он также указывает ограничение по времени (в секундах) для текущего журнала первичной базы данных. Это не точное время переключения журнала, поскольку также учитывается ожидаемое время архивации.

Приведенная ниже настройка параметра инициализации устанавливает интервал переключения журнала равным 30 минутам.

ARCHIVE_LAG_TARGET = 1800

Значение 0 отключает возможность переключения журнала по времени. Это настройка по умолчанию.

Даже если нет резервной базы данных, вы можете установить параметр инициализации ARCHIVE_LAG_TARGET. Например, параметр ARCHIVE_LAG_TARGET можно использовать для принудительного переключения и архивирования журналов.

Команду ALTER SYSTEM SET можно использовать для установки динамического параметра ARCHIVE_LAG_TARGET.

Принудительное переключение журнала

Когда LGWR прекращает запись в одну группу журнала повторов и начинает запись в другую, происходит переключение журнала. По умолчанию переключение журнала происходит автоматически, когда текущая группа файлов журнала повторного выполнения заполнена.

Вы можете заставить переключатель журнала деактивировать текущую активную группу и сделать ее доступной для процедур обслуживания журнала повторов.

Вы должны иметь привилегию ALTER SYSTEM для принудительного переключения журнала. Вы должны использовать предложение SWITCH LOGFILE с оператором ALTER SYSTEM.

Следующий оператор вызывает переключение журнала:

Проверка блоков в файлах журнала повторов

Вы можете настроить базу данных для использования контрольных сумм для проверки блоков в файлах журналов повторного выполнения. Когда вы устанавливаете для параметра инициализации DB_BLOCK_CHECKSUM значение TRUE, база данных вычисляет контрольную сумму для каждого блока базы данных после записи на диск, включая каждый блок журнала повторов, записываемый в текущий журнал. Контрольная сумма хранится в заголовке блока.

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

Если система обнаруживает повреждение в блоке журнала повторов при попытке архивировать его, она пытается прочитать блок от другого члена группы. Если блок поврежден во всех членах группы журнала повторов, архивация не может быть продолжена.

TRUE — это значение по умолчанию для DB_BLOCK_CHECKSUM. Оператор ALTER SYSTEM можно использовать для динамического изменения значения этого параметра.

Вы также можете обратиться к справочнику по базе данных Oracle для более глубокого понимания параметра инициализации DB_BLOCK_CHECKSUM.

Просмотр информации журнала повторов

Представления, предоставляющие информацию о журналах повторов, следующие.

< td>Отображает информацию о файле журнала повторов из управляющего файла< /tr>
ПросмотрОписание
V$LOG
V$LOGFILE Идентифицирует группы и участников журнала повторов, а также их статус
V$LOG_HISTORY Содержит информацию об истории журнала

Приведенный ниже запрос возвращает информацию об управляющем файле для журнала повторов базы данных.

Чтобы увидеть имена всех членов группы, вы можете использовать запрос, подобный показанному ниже:

Если STATUS для участника пуст, значит файл используется.

Дополнительную информацию об Oracle Redo Logs можно найти здесь.

Заключение

Из этой статьи вы узнали следующее:

  • Понимание базы данных Oracle.
  • Понимание журналов повторного выполнения Oracle и принципов их работы.
  • Используйте команды SQL для работы с журналами повторов.

Если вам нужна более простая альтернатива переносу данных из вашей базы данных Oracle без использования описанных выше журналов повторов Oracle, вы можете использовать решение для автоматизированной интеграции данных, такое как Hevo.

Hevo Data, конвейер данных без кода, помогает вам передавать данные из источника по вашему выбору полностью автоматизированным и безопасным способом без необходимости повторного написания кода. Hevo, благодаря тесной интеграции с более чем 100 источниками и инструментами бизнес-аналитики, позволяет вам не только экспортировать и загружать данные, но также преобразовывать и обогащать ваши данные, а также мгновенно подготавливать их к анализу.

Хотите попробовать Hevo? Зарегистрируйтесь здесь, чтобы получить 14-дневную бесплатную пробную версию и испытать многофункциональный пакет Hevo из первых рук. Вы также можете ознакомиться с нашими непревзойденными ценами, которые помогут вам выбрать правильный план для нужд вашего бизнеса!

Расскажите о своем опыте изучения Oracle Redo Logs. Поделитесь своими мыслями в разделе комментариев ниже.

Наиболее важной структурой для операций восстановления является Управление журналом повторов — Oracle DBA, который состоит из двух или более предварительно выделенных файлов, в которых хранятся все изменения, внесенные в базу данных, по мере их возникновения . С каждым экземпляром базы данных Oracle связан журнал повторного выполнения для защиты базы данных в случае сбоя экземпляра.

Если вы хотите расширить свою карьеру с помощью администратора баз данных (DBA) и получить сертифицированного специалиста Oracle, посетите Mindmajix - глобальную онлайн-платформу обучения: курс «Онлайн-курс Oracle DBA». Этот курс поможет вам достичь совершенства в этой области.

Как управлять журналом повторов — Oracle DBA

Управление журналом REDO:

Текущий журнал повторов всегда находится в сети, в отличие от архивных копий журнала повторов. Поэтому онлайн-журнал повторов обычно называют просто журналом повторов.

В этом разделе описываются некоторые из наиболее распространенных задач управления журналом повторов. Он содержит следующие темы:

  • Об онлайн-файлах журналов повторного выполнения
  • Мультиплексирование журнала повторов
  • Переключение файла журнала
  • Перемещение онлайн-файлов журналов повторного выполнения
  • Добавление и удаление групп журналов повторного выполнения
  • Проверка блоков в файлах журнала повторов
  • Очистка файла журнала повторов

Об онлайн-файлах журналов повторного выполнения:

  • Наиболее важной структурой для операций восстановления является онлайн-журнал повторов, который состоит из двух или более заранее выделенных файлов, в которых хранятся все изменения, внесенные в базу данных, по мере их возникновения. С каждым экземпляром базы данных Oracle связан онлайн-журнал повторного выполнения для защиты базы данных в случае сбоя экземпляра.
  • В каждой базе данных Oracle есть набор из двух или более онлайн-файлов журналов повторного выполнения. Набор файлов журналов повторов называется журналом повторов для базы данных. Журнал повторов состоит из записей повторов, которые также называются записями повторов.
  • В журнале повторов хранится копия изменений, внесенных в данные. Если сбой требует восстановления файла данных из резервной копии, последние изменения данных, отсутствующие в восстановленном файле данных, можно получить из журнала повторов, поэтому работа никогда не будет потеряна. Журнал повторов используется для восстановления базы данных после сбоя оборудования, программного обеспечения или носителя. Для защиты от сбоя, связанного с самим журналом повторов, база данных oracle может мультиплексировать журнал повторов, чтобы две или более идентичных копий онлайн-журнала повторов могли храниться на разных дисках.
  • Журнал повторов для базы данных состоит из групп файлов журналов повторов. Группа состоит из файла журнала повторов и его мультиплексированных копий. Каждая идентичная копия считается членом этой группы. Каждая группа определяется номером, например, группа 1.
  • На приведенном ниже рисунке показана конфигурация базы данных с тремя группами журналов повторного выполнения и двумя участниками в каждой группе. Члены каждой группы хранятся на отдельных дисках для максимальной доступности. Например, членами группы 1 являются файлы журналов повторного выполнения a_log1 и b_log1.

Связанная статья: Управляющий файл в Oracle

Группы онлайн-журналов повторного выполнения и их участники:

Вы можете создавать группы и членов онлайн-файлов журналов повторного выполнения во время или после создания базы данных. Для создания новых групп и участников онлайн-журналов повторного выполнения необходимо иметь системную привилегию ALTER DATABASE.

Процесс записи журнала базы данных (lgwr) записывает записи повторов из буфера памяти в группу журналов повторов до тех пор, пока файлы журналов в этой группе не достигнут предела размера хранилища или пока вы не запросите операцию переключения журнала. Затем процесс lgwr записывает данные в следующую группу журналов. Процесс lgwr выполняет это действие по кругу, так что самая старая группа перезаписывается самыми последними записями повторного выполнения.

Мультиплексирование журнала повторов:

Мультиплексирование обеспечивает лучшую защиту данных в случае сбоя экземпляра или носителя. Для защиты от сбоя, связанного с самим журналом повторов, Oracle Database допускает создание мультиплексированного журнала повторов, что означает, что две или более идентичных копий журнала повторов могут автоматически храниться в разных местах.

Чтобы мультиплексировать журнал повторов, необходимо добавить участников в каждую группу журналов повторов. Необязательно, чтобы группы журналов повторного выполнения были симметричными, но Oracle рекомендует, чтобы все ваши группы имели одинаковое количество членов. В базе данных должно быть как минимум две группы журналов повторного выполнения.

Мультиплексированные файлы журналов повторного выполнения:

Онлайн-журнал повторов экземпляра базы данных должен состоять из мультиплексированных групп онлайн-файлов журналов повторов, как показано ниже:

На приведенном выше рисунке a_log1 и b_log1 являются членами группы 1, a_log2 и b_log2 — членами группы 2 и так далее. Все члены группы должны быть одинакового размера.

Каждый член группы файлов журнала одновременно активен, то есть одновременно записывается lgwr, на что указывают идентичные порядковые номера журнала, назначенные lgwr. На рисунке первый lgwr записывает одновременно и в a_log1, и в b_log1. Затем он одновременно записывает и в a_log2, и в b_log2, и так далее. Lgwr никогда не пишет одновременно членам разных групп (например, в a_log1 и b_log2).

Чтобы мультиплексировать журнал повторов:

Чтобы мультиплексировать журналы повторного выполнения, сначала нужно определить, сколько существует групп и участников.

Приведенный выше запрос помогает узнать информацию о существующих группах и участниках.

Например, если имя вашего существующего члена — redo01.log и он принадлежит к группе group1, вы можете назвать этого члена как redo01a.log.

Вы можете создать файл ‘/u02/app/oracle/oradata/redo01a.log’ в том же каталоге, но рекомендуется хранить элементы на разных дисках. Таким образом, в случае сбоя диска у вас останется доступ к одному участнику.

Статья по теме: Вопросы для собеседования по Oracle Performance Tuning

Переключение файла журнала:

Переключение журнала происходит, когда LGWR прекращает запись в одну группу журнала повторов и начинает запись в другую. По умолчанию переключение журнала происходит автоматически при заполнении текущей группы файлов журнала повторного выполнения.

Приведенный ниже запрос помогает узнать статус групп.

Когда происходит переключение журнала, процесс записи журнала (lgwr) прекращает запись в текущую группу журнала повторения и начинает запись в следующую доступную группу журнала повторения. Вы можете принудительно переключить журнал, чтобы сделать текущую группу повторов неактивной и доступной для операций обслуживания журнала повторов. Например, вы можете захотеть удалить текущую группу повторов, но не сможете сделать это, пока группа не станет неактивной. Вы также можете принудительно переключить журнал, если текущую группу повторов необходимо заархивировать в определенное время, прежде чем члены группы будут полностью заполнены. Этот параметр полезен в конфигурациях с большими файлами журналов повторного выполнения, заполнение которых занимает много времени.

Чтобы переключить файл журнала:

Статус текущей группы изменится на активный, а статус следующей группы в списке изменится с неактивного на текущий.

Перемещение онлайн-файлов журналов повторного выполнения:

Файлы онлайн-журналов повторного выполнения могут быть перемещены, когда база данных отключена. После переименования (или перемещения) администратор базы данных должен использовать команду ALTER DATABASE для обновления словаря данных.

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

В следующем примере у нас есть три группы файлов журналов повторного выполнения с двумя участниками в каждой. Один член каждой группы находится на том же томе, что и программное обеспечение оракула, и его следует переместить на другой том, чтобы устранить любую связь между заполнением файла журнала и доступом к компонентам программного обеспечения оракула. Метод, который вы будете использовать здесь с командой alter database.

Пример:

1 /u01/app/oracle/oradata/redo01.log
1 /u05/oradata/redo01.log
2 /u01/app/oracle/oradata/redo02.log
2 /u05/oradata/redo02.log
3 /u01/app/oracle/oradata/redo03.log
3 /u05/oradata/redo03.log

Выбрано 6 строк

Экземпляр Oracle закрыт.

Теперь мы можем проверить расположение файлов журнала из следующего запроса.

1 /u04/oradata/redo01.log
1 /u05/oradata/redo01.log
2 /u04/oradata/redo02.log
2 /u05/oradata/redo02. журнал
3 /u04/oradata/redo03.log
3 /u05/oradata/redo03.log

Выбрано 6 строк

Ввод-вывод файлов журнала повторов больше не конфликтует с программным обеспечением Oracle; кроме того, файлы журналов повторного выполнения мультиплексируются между двумя разными точками монтирования, /u04 и /u05.

Добавление групп журналов повторного выполнения:

Удаление существующих групп журналов повторного выполнения:

Примечание:

Чтобы удалить группу онлайн-журналов повторного выполнения, учтите следующие моменты:

  • Для экземпляра требуется как минимум две группы онлайн-файлов журналов повторного выполнения, независимо от количества участников в группах.
  • Группу онлайн-журнала повторного выполнения можно удалить, только если она не является активной группой. Если вам нужно удалить активную группу, сначала произведите принудительное переключение журнала.

Чтобы удалить участника, учтите следующие моменты:

  • Для экземпляра требуется как минимум две группы онлайн-файлов журналов повторного выполнения, независимо от количества участников в группах.
  • Группу онлайн-журнала повторного выполнения можно удалить, только если она не является активной группой. Если вам нужно удалить активную группу, сначала произведите принудительное переключение журнала.

Проверка блоков в файлах журнала повторов:

Вы можете настроить базу данных для использования контрольных сумм для проверки блоков в файлах журнала повторов. Если вы установите для параметра инициализации db_block_checksum значение «типичное» (по умолчанию), база данных вычисляет контрольную сумму для каждого блока базы данных, когда он записывается на диск, включая каждый блок журнала повторного выполнения, когда он записывается в текущий журнал. Контрольная сумма хранится в заголовке блока.

База данных Oracle использует контрольную сумму для обнаружения повреждений в блоке журнала повторов. База данных проверяет блок журнала повторов, когда блок считывается из архивного журнала во время восстановления и когда он записывает блок в архивный файл журнала. При обнаружении повреждения возникает ошибка, которая записывается в журнал предупреждений.

Если при попытке заархивировать блок журнала повторного выполнения обнаруживается повреждение, система пытается прочитать блок от другого члена группы. Если блок поврежден во всех членах группы журнала повторов, то архивирование не может быть продолжено.

Значение параметра db_block_checksum можно изменить динамически с помощью оператора alter system.

Очистка файла журнала повторов:

Обычно нам нужно очистить журнал повторов, если он поврежден и oracle не может его повторно использовать. Он может быть уже заархивирован, а может и не быть. В обоих случаях нам нужно очистить его, чтобы позволить экземпляру оракула повторно использовать его.

Файл журнала повторного выполнения может быть поврежден, когда база данных открыта, и в конечном итоге активность базы данных может быть остановлена, поскольку невозможно продолжить архивирование. В этом случае оператор alter database clear logfile можно использовать для повторной инициализации файла без закрытия базы данных.

Следующая инструкция очищает файлы журналов в группе журналов повторов номер 3:

Эта инструкция устраняет две ситуации, когда удаление журнала повторов невозможно:

  • Если есть только две группы журналов.
  • Поврежденный файл журнала повторного выполнения принадлежит текущей группе.

Если поврежденный файл журнала повторного выполнения не был заархивирован, используйте ключевое слово unarchived в выражении.

Этот оператор очищает поврежденные журналы повторного выполнения и позволяет избежать их архивирования. Очищенные журналы повторов доступны для использования, даже если они не были заархивированы.

Если вы очистите файл журнала, необходимый для восстановления из резервной копии, вы больше не сможете восстановиться из этой резервной копии. База данных записывает в журнал предупреждений сообщение с описанием резервных копий, восстановление которых невозможно.

Если вы хотите очистить неархивированный журнал повторов, необходимый для перевода автономного табличного пространства в режим онлайн, используйте условие невосстановимого файла данных в операторе alter database clear logfile.

Если вы очистите журнал повторов, необходимый для перевода автономного табличного пространства в режим онлайн, вы не сможете снова перевести табличное пространство в режим онлайн. Вам придется удалить табличное пространство или выполнить неполное восстановление. Обратите внимание, что табличные пространства, переведенные в автономный режим, обычно не требуют восстановления.

Представления словаря данных:

Центральный набор доступных только для чтения справочных таблиц и представлений каждой базы данных Oracle, известный под общим названием словарь данных.

Следующие представления предоставляют информацию о журналах повторного выполнения.

Вид Описание
V$log Отображает информация файла журнала повторного выполнения из управляющего файла
V$logfile Определяет группы и участников журналов повторного выполнения, а также статус участников
V$log_history Содержит информацию об истории журнала

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

1 1 10605 1048576 1 да активно 11515628 16-апр-00

2 1 10606 1048576 1 нет актуального 11517595 16-апр-00

3 1 10603 1048576 1 да неактивен 11511666 16-апр-00

4 1 10604 1048576 1 да неактивен 11513647 16-апр-00

Чтобы просмотреть имена всех участников группы, используйте запрос, аналогичный следующему:

1 /u01/app/oracle/oradata/redo01.log
2 /u02/oradata/redo02.log
3 /u03/oradata/redo03.log
4 /u04/ oradata/redo04.log

Читайте также: