Сбой питания и восстановление данных Oracle - PullRequest
0 голосов
/ 23 октября 2009

База данных OracleXE, и вот проблема:

  • данные вводятся в таблицы
  • ИБП не выдерживает шок питания
  • Сервер Oracle перезагружается после сбоя питания
  • все кажется нормальным
  • через некоторое время мы понимаем, что некоторые данные отсутствуют в нескольких таблицах (это нормально, потому что все вставки произошли в одной транзакции), а некоторые данные выглядят наполовину зафиксированными
  • пара перезагрузок, выполненных сотрудником
  • самая странная вещь, полусоставленные данные восстановлены в нормальном состоянии!

Я предполагаю, что потеря данных возможна, но возможна липотерять часть транзакции?

Есть ли у Oracle какое-то восстановление после этих ситуаций?

Сценарий написан на основе журналов моего приложения и журналов Oracle, потому что это удаленная система.

[РЕДАКТИРОВАТЬ] Мой DBA дома болен.

listener.log, кажется, в порядке, и я не очень читатель alert_xe.log :) Я думаю, что это важная информация:

Oracle Data Guard is not available in this edition of Oracle. 
Thu Oct 15 10:52:05 2009
alter database mount exclusive
Thu Oct 15 10:52:09 2009
Setting recovery target incarnation to 2
Thu Oct 15 10:52:09 2009
Successful mount of redo thread 1, with mount id 2581406229
Thu Oct 15 10:52:09 2009
Database mounted in Exclusive Mode
Completed: alter database mount exclusive
Thu Oct 15 10:52:09 2009
alter database open
Thu Oct 15 10:52:10 2009
Beginning crash recovery of 1 threads
Thu Oct 15 10:52:10 2009
Started redo scan
Thu Oct 15 10:52:10 2009
Completed redo scan
 3923 redo blocks read, 520 data blocks need recovery
Thu Oct 15 10:52:10 2009
Started redo application at
 Thread 1: logseq 649, block 88330
Thu Oct 15 10:52:12 2009
Recovery of Online Redo Log: Thread 1 Group 2 Seq 649 Reading mem 0
  Mem# 0 errs 0: C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_2_558PBOPG_.LOG
Thu Oct 15 10:52:14 2009
Completed redo application
Thu Oct 15 10:52:14 2009
Completed crash recovery at
 Thread 1: logseq 649, block 92253, scn 7229931
 520 data blocks read, 498 data blocks written, 3923 redo blocks read
Thu Oct 15 10:52:15 2009
Thread 1 advanced to log sequence 650
Thread 1 opened at log sequence 650

[РЕДАКТИРОВАТЬ:] «Кэширование записи» было оставлено по ошибке.Это объясняет потерю данных.

Ответы [ 2 ]

2 голосов
/ 24 октября 2009

Звучит очень странно для меня. Данные либо есть, либо не зафиксированы. Я подозреваю, что один из твоих коллег придурковатый. 1001 *

0 голосов
/ 25 октября 2009

Из вашего журнала предупреждений это выглядит как обычное автоматическое восстановление экземпляра. Последние две строки указывают на то, что база данных открыта и ведется запись журналов повторов. Я никак не могу поверить, что частичная сделка существовала. Это либо совершено, либо нет - промежуточного состояния не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...