Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
Добрый день!

Начало классическое: отрубили электричество :).
Потом когда все включили, стал запускать базу (10.2.0.1 на OEL4). База не запустилась, выдало block corruption в undo.
Восстановил блок rman'om (blockrecover datafile # block #).
База запустилась.

Но потом, в процессе работы, начали появляться сообщения о битых блоках в разных файлах (
Reread of rdba: 0x02c7a894 (file 11, block 501908) found same corrupted data
).

Сначала лечил "точечно" (blockrecover datafile # block # база open), но процесс проходит довольно медленно (30 мин. на восстановление одного блока).

Потом запустил dbv. Для некоторых датафайлов
Total Pages Marked Corrupt 
был равен несколько тысяч.
Вопрос: неужели простое выключение сервера способно ТАК повредить файлы данных?

Сейчас хочу восстановить все поврежденные блоки (база будет в open):
BACKUP VALIDATE DATABASE;
BLOCKRECOVER CORRUPTION LIST;
Неизвестно сколько это займет времени, но я считаю что это правильный вариант.
А вы как думаете?
3 дек 10, 12:35    [9880948]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Reylonds
Member

Откуда: Казань
Сообщений: 371
Насчет как лечить: не знаю - не сталкивался. Но вот интересно, что за железо то? У меня сколько раз база падала и в часы пиковой нагрузки и в простое(то упсы тумблером выключат, то еще что) ниразу небыло битых блоков.
3 дек 10, 12:40    [9881010]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Гость.
Guest
Несколько тысяч?
Не парьтесь с block recovery, быстрее восстанавливать целыми файлами
Ну и нет ли чего в messages?
3 дек 10, 12:53    [9881168]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
Reylonds,
Дисковая полка - Fujitsu FibreCAT SX80
Сервер тоже Fujitsu.

До вчерашнего дня, база тоже нормально поднималась после аварийных выключений (хотя это было макс. раз в год).
3 дек 10, 12:57    [9881240]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
Гость.,
Из Backup and Recovery Basics
автор
Place the database in the state appropriate for the type of recovery that you are
performing. For example, if you are recovering a single tablespace or datafile, then
you can keep the database open and take the tablespace or datafile offline. If you
are restoring all datafiles, then you must shut down the database and then mount
it before you can perform the restore.


В оффлайн переводить не хочу, т.к. большая часть пользователей работает нормально.
Но если
SQL "ALTER TABLESPACE tools OFFLINE IMMEDIATE";
RESTORE TABLESPACE tbs_1;
RECOVER TABLESPACE tools;
SQL "ALTER TABLESPACE tools ONLINE";
Будет быстрее (в 2 или больше раз)
чем
BACKUP VALIDATE DATABASE;
BLOCKRECOVER CORRUPTION LIST;
То прийдеться переводить в оффлайн.

Ваше мнение?
3 дек 10, 13:13    [9881453]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
Dmitry_rpd,

Сделайте backup validate.
Надеюсь, вы не будете неприятно разочарованы :)
3 дек 10, 13:27    [9881607]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
GL,
автор
Сделайте backup validate.

Спасибо! Уже делаю.
Обычный бекап делается 1.5 часа. По этому рассчитываю та примерно такое же время.Спасибо!

Если recover одного блока длиться 30 минут, то BLOCKRECOVER CORRUPTION LIST; при n битых блоков будет длиться n*30 минут?
3 дек 10, 13:32    [9881664]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
Dmitry_rpd
Если recover одного блока длиться 30 минут, то BLOCKRECOVER CORRUPTION LIST; при n битых блоков будет длиться n*30 минут?
Если вам удастся получить corruption list, то blockrecover всего листа будет длится (время_считывания_бэкапа)+(время наката архивлогов). Т.е. примерно столько же, сколько и blockrecover одного блока.

Только имейте ввиду, что blockrecover не восстанавливает logical corruption...
3 дек 10, 13:46    [9881801]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
Восстановил!
BACKUP VALIDATE DATABASE;
заполнил V$DATABASE_BLOCK_CORRUPTION.
CORRUPTION_TYPE был только FRACTURED и CORRUPT.
Потом запустил
BLOCKRECOVER CORRUPTION LIST;
Все вместе отработало за 3 часа.

BACKUP VALIDATE DATABASE;
и
dbv
заново еще не запускал. Но те рабочие процедуры, которые раньше затыкались из-за поврежденных блоков, сейчас работают нормально.

Остался один непонятный момент: с начала, dbv показывал для некоторых файлов
Total Pages Marked Corrupt = несколько тысяч
. Но число строк в V$DATABASE_BLOCK_CORRUPTION = 51.
Конечно, page не равно block, но всеравно подозрительно :)

Сейчас Total Pages Marked Corrupt = 0

Всем спасибо за внимание!
3 дек 10, 17:29    [9883819]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
validate
Guest
Dmitry_rpd,

ух ты! а у меня backup validate database выполняется за 15 секунд, а база несколько гиг. разумеется, реальной проверки файлов базы не происходит и табличка V$DATABASE_BLOCK_CORRUPTION не заполняется. то же с backup validate tablespace, а вот backup validate datafile прорабатывает правильно, но много их, датафайлов...
может кто знает, кто может быть виноват в таком поведении backup validate? может быть rawdevices в качестве датафайлов? или db_block_checking=false?

что ещё?
3 дек 10, 20:04    [9884608]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
validate
Guest
Dmitry_rpd,

ух ты! а у меня backup validate database выполняется за 15 секунд, а база несколько гиг. разумеется, реальной проверки файлов базы не происходит и табличка V$DATABASE_BLOCK_CORRUPTION не заполняется. то же с backup validate tablespace, а вот backup validate datafile прорабатывает правильно, но много их, датафайлов...
может кто знает, кто может быть виноват в таком поведении backup validate? может быть rawdevices в качестве датафайлов? или db_block_checking=false?

что ещё?
7 дек 10, 18:04    [9900856]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
validate
db_block_checking=false?
Это нормально
А что в db_block_checksum?
8 дек 10, 03:26    [9902494]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
validate
Guest
Вячеслав Любомудров,

спасибо за отклик - в db_block_checksum, по дефолту - true.
8 дек 10, 11:44    [9903780]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Алексей (Витебск)
Member

Откуда:
Сообщений: 411
Извините все за мои 5 копеек,
но я на всякий случай:
как-то запустил dbv, не
указав размер блока данных.
И в отчете мне dbv также
показал тысячи битых блоков в файле.
Не может здесь быть такая же ситуация ?
8 дек 10, 13:07    [9904352]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Dmitry_rpd
Member

Откуда: Киев
Сообщений: 160
Алексей (Витебск)
Извините все за мои 5 копеек,
но я на всякий случай:
как-то запустил dbv, не
указав размер блока данных.
И в отчете мне dbv также
показал тысячи битых блоков в файле.
Не может здесь быть такая же ситуация ?

Не думаю. Если не указывать размер блока, то, в моем случае, dbv говорит:
DBV-00103: Specified BLOCKSIZE (8192) differs from actual (16384)
8 дек 10, 18:36    [9907189]     Ответить | Цитировать Сообщить модератору
 Re: Много block corruption  [new]
Алексей (Витебск)
Member

Откуда:
Сообщений: 411
Dmitry_rpd,

да, точно.

Та ситуация у меня была на 9-ой версии СУБД,
а на 10.2.0.1 - аналогично, dbv-00103
9 дек 10, 10:55    [9909194]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить