Учебно-справочное пособие по СУБД Informix

         

Операторы транзакций и восстановления данных.



3. Операторы транзакций и восстановления данных.

В базе данных, не имеющей системного журнала невозможно выполнение транзакций и восстановления до текущей контрольной точки.
Поскольку за все хорошее приходится платить, наличие системного журнала у базы данных вызывает заметный рост накладных расходов и замедление работы запросов. К тому же при активной работе с базой системный журнал быстро "распухает". За ним нужно следить и периодически чистить.
Указать базе новый системный журнал. START DATABASE zawod WITH LOG IN "/ARM/log/zawod"
Восстанавливают разрушенную (например из-за сбоя оборудования) базу данных так:
В среде UNIX

  1. Уничтожают остатки базы.
  2. Заливают вместо них копию базы с ленты (например, недельной давности) используя команду cpio или утилиту INFORMIX dbimport.
  3. Входят в среду INFORMIX и выполняют операторы:
DATABASE kadry EXCLUSIVE # чтобы никто не лез ROLLFORWARD DATABASE kadry # прогнать базу вперед # по системному журналу CLOSE DATABASE # теперь всем можно работать
Транзакция BEGIN WORK # начать транзакцию . . . # операторы

IF все нормально THEN COMMIT WORK ELSE ROLLBACK WORK END IF
Если во время транзакции программа "свалилась" то INFORMIX автоматически сделает откатку.



Содержание раздела