Журналирование транзакций

В СУБД Oracleжурналирование транзакций ведется с использованием журнальных файлов (redologfiles).

При создании БД необходимо определить журнальные группы. Изначально таких групп должно быть не менее двух. Каждая журнальная группа может объединять один и более журнальных файлов. Если в группе несколько файлов, то они являются зеркальными копиями и обеспечивают дополнительную надежность хранения журнала транзакций.

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

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

Восстановление данных в СУБД Oracle

Для восстановления информации в БД система Oracle выполняет повторное выполнение транзакций, записанных в журнальные файлы и, возможно, резервные копии журнальных файлов.

Существует два типа отказов, которые могут повлечь выполнение операции восстановления:

1. Аварийный отказ системы.

2. Отказ дисковой подсистемы.

Восстановление БД после аварийного отказа системы

После восстановления электропитания и запуска сервера СУБД Oracle выполняет восстановление БД автоматически. При этом к файлам данных будут применены все необходимые изменения, занесенные в журнал транзакций. Также будут повторно выполнены завершенные в памяти транзакции, занесенные в журнал. Результаты незавершенных транзакций будут утеряны.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: