MAA, 11g, lost write

На своей последней презентации по HA я  сморозил глупость про lost write в Oracle Database. Прошу прощения. На самом деле, lost write - это когда подсистема ввода вывода сообщила, что блок записан, но на самом деле этого не произошло, и у нас по прежнему на диске старый блок. Если у Вас single database, то тут поделать ничего нельзя. Вы будете получать неконсистентные данные, пока не догадаетесь,  что тут дело нечисто и не восстановитесь из backup.

Но если вы работаете с 11g и у вас есть возможность установить параметр   DB_LOST_WRITE_PROTECT, и тогда, при чтении блоков с диска, то в redo будет писаться доп. информации о текущем SCN каждого блока. Standby (если он у Вас есть), способен в момент применения redo, проверять, совпадает ли у него версия SCN блока на Standby с пришедшей вместе с redo. Если они расходятся, значит мы имеем дело с lost writes и можем запросить блок из источника, у которого SCN больше.

Конечно же механизм lost writes не имеет общего с механизмами проверки контрольной суммы блока (db_block_checksum)  и логической проверки блока (db_block_cheking), работающими еще с версии 8i. Рекомендую Metalink Note 32969.1 как самый короткий источник, объясняющий разницу в механизмах. В 11g  R1 также появился параметр db_ultra_safe, который сразу выставляет все три параметра.  Ссылка на документацию. RTFM нам всем поможет.

PS
Рекомендую также пройти  MAA Architecture Assessment.  И помните, что в  каждой шутке есть только доля шутки..
На фотографии - катамаран 2-ка с двумя достаточно взрослыми  мужчинами чуть было не сыграл в lost write в пороге водопадный на реке Китой, Саяны.

2 комментария:

  1. Анонимный26/4/10 4:57 PM

    неужели сообщение ORA-01578 и подобные ему ORA-08101/02/03/04, равно как и разнообразные коррапшн-ориентированные ORA-00600 появились только в 11g?!

    :D

    ranger.

    ОтветитьУдалить
  2. Опять путаем теплое с мягким. "коррапшн-ориентированные" были и будут. И причин у них масса. с 11g появился механизм автоматической борьбы с одним из проявлений. Не более того.

    Когда наконец наш support прочитает документацию по 11g ? :)))))

    ОтветитьУдалить