Операторы транзакций и восстановления данных.
3. Операторы транзакций и восстановления данных.
В базе данных, не имеющей системного журнала невозможно выполнение транзакций и восстановления до текущей контрольной точки.
Поскольку за все хорошее приходится платить, наличие системного журнала у базы данных вызывает заметный рост накладных расходов и замедление работы запросов. К тому же при активной работе с базой системный журнал быстро "распухает". За ним нужно следить и периодически чистить.
Указать базе новый системный журнал. START DATABASE zawod WITH LOG IN "/ARM/log/zawod"
Восстанавливают разрушенную (например из-за сбоя оборудования) базу данных так:
В среде UNIX
- Уничтожают остатки базы.
- Заливают вместо них копию базы с ленты (например, недельной давности) используя команду cpio или утилиту INFORMIX dbimport.
- Входят в среду INFORMIX и выполняют операторы:
Транзакция BEGIN WORK # начать транзакцию . . . # операторы
IF все нормально THEN COMMIT WORK ELSE ROLLBACK WORK END IF
Если во время транзакции программа "свалилась" то INFORMIX автоматически сделает откатку.