Показать сообщение отдельно
  #3  
Старый 11.11.2009, 15:05
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Файлы журнала

Файлы журнала


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

После заполнения журнальными записями (redo log entries) первого файла текущий журнальный файл помечается как ACTIVE, если он продолжает оставаться необходимым для восстановления экземпляра, или как INACTIVE, если он более не требуется для восстановления экземпляра; следующий журнальный файл используется повторно с самого начала файла и помечается как CURRENT.

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

Код:
select * from v$logfile;

Мультиплексирование файлов журналов базы данных

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

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

Код:
alter database add logfie member filename to group grpnum
filename - имя файла с абсолютным путем, который будет теперь иметь группа;
grpnum - номер группы, к которой добавляется член.


Код:
alter database add logfile group grpnum filename.

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

Код:
alter database
add logfile group 5
(  'u02/oracle/dc2/log_3a.dbf',
   'u03/oracle/dc2/log_3b.dbf',
   'u04/oracle/dc2/log_3c.dbf') size 10m;

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

Начиная с Oracle 10g, для помощи при определении оптимальных размеров файлов журналов базы данных можно использовать утилиту Redo Logfile Sizing Advisor, позволяющую избежать избыточной деятельности ввода/вывода или заторов.
__________________
Телеграм чат

Последний раз редактировалось Marley; 17.11.2009 в 14:21.
Ответить с цитированием