Каковы последствия отключения журналов повторов в Oracle для транзакций Hibernate?
Если мы отключим "журналы повторов" табличного пространства в Oracle, будут ли они влиять на транзакции Hibernate? Это опции, присутствующие в Oracle EM на уровне табличного пространства:
Включить ведение журнала Да Создавать журналы повторов для создания таблиц, индексов и разделов, а также для последующих вставок. Восстанавливаемые записи журнала повторов отсутствуют, указанные выше операции не регистрируются и не восстанавливаются.
Кроме того, зависит ли функция фиксации / отката Oracle от этих журналов повторов?
2 ответа
Журналы повторов не имеют ничего общего с транзакциями. Они предназначены для восстановления вашей базы данных в случае сбоя или повреждения файла ОС. Если у вас нет повторного входа в систему, то, если что-то пойдет не так с базой данных, ваши пользователи потеряют всю свою работу с момента последнего резервного копирования.
Обычно мы хотим отключить ведение журнала в табличном пространстве до массовой загрузки данных. Первым действием после этой загрузки будет создание резервной копии, а затем повторное включение ведения журнала. Не входить в транзакционную систему - очень плохая идея.
Журналы повторов являются неотъемлемой частью СУБД Oracle, их можно отключить только в нескольких особых случаях:
- большая загрузка данных,
- создание / воссоздание индексов
Если вы отключите создание журналов повторов для одной из этих операций, вы потеряете возможность полностью восстановить базу данных после этого момента (т. Е. Вам следует немедленно создать резервную копию базы данных после завершения этих пакетных заданий).
Вы не можете отключить генерацию повтора для простых транзакций. В любом случае вы этого не захотите, поскольку они позволяют восстанавливать базу данных после сбойного экземпляра (оперативный журнал повторов, даже если вы находитесь в NOARCHIVELOG) и разрешают восстановление носителя после сбойного диска, например (архивированный журнал повторов, только в ARCHIVELOG),