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

Откуда:
Сообщений: 63
Добрый день.

За последние 2 месяца были получены сообщения
ORA-01578: ORACLE data block corrupted
на одном сервере от 2 баз:

1. была проблема с блоком в индексе;
2. была проблема с блоком в табличной партиции.

Ошибки были в нерабочее время, действий со стороны DBA на restore/recover не предпринималось.
Ошибки падали в алертлог примерно по 40 минут, потом исчезали.
v$database_block_corruption показывало проблемные блоки.
После ночного бэкапа результат из вью уже был нулевым.
Блоки никуда не исчезли и при их поиске указано, в каком сегменте находятся.

Вопрос, из-за чего могли быть сбои и почему сами собой исчезли?
8 окт 18, 14:34    [21698147]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
Vivat!San
Member

Откуда: Отсюда не возвращаются
Сообщений: 503
Например, поэтому:
автор
Oracle Active Data Guard and Automatic Block Repair
Starting in Oracle Database 11g Release 2 (11.2), the primary database automatically attempts
to repair the corrupted block in real time by fetching a good version of the same block from
a physical standby database. This capability is referred to as automatic block repair, and it
allows corrupt data blocks to be automatically repaired as soon as the corruption is detected.
Automatic block repair reduces the amount of time that data is inaccessible due to block
corruption. It also reduces block recovery time by using up-to-date good blocks in real-time,
as opposed to retrieving blocks from disk or tape backups, or from Flashback logs.
Automatic block repair requires the use of the Oracle Active Data Guard option.
You can use an Oracle Active Data Guard standby database for automatic repair of data
corruptions detected by the primary database. Additionally if the corruption is discovered
on an Active Data Guard physical standby database the corruption will be automatically
repaired with a good block from the Primary. Both of these operations are transparent to
the applications.


Посмотрите alert лог внимательно, должны быть соответстующие сообщения.
8 окт 18, 16:12    [21698297]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
Тролин
Member

Откуда:
Сообщений: 284
Надо смотреть какого типа повреждения блока было... v$database_block_corruption как раз есть колонка.

В Alerte стоит отметка какого типа был сбой, а так же в некоторых случаях стоит отметка что поврежденный блок перечитывался...

Вот у меня на болеющем сервере... такие месаги
сразу скажу что на 11.2.0.4 это баг.
Я тестировал обновив до 12.2, в общем продолжаются сыпаться сообщения что блок перечитан, но уже в v$database_block_corruption
не заполняется.
Решаем этот баг с тех.поддержкой oracle c весны 2018 года по сегодняшний день.

автор
Простой случай
Tue Oct 02 15:57:59 2018
Hex dump of (file 22, block 2165593) in trace file /oracle/u01/diag/rdbms/ois/OLS/trace/OLS_ora_45941140.trc
Corrupt block relative dba: 0x05a10b59 (file 22, block 2165593)
Bad check value found during validation
Data in bad block:
type: 6 format: 2 rdba: 0x05a10b59
last change scn: 0x05a8.a533008d seq: 0x1 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x008d0601
check value in block header: 0x19f9
computed block checksum: 0x0
Reread of blocknum=2165593, file=/oracle/u03/OLS/users03.dbf. found valid data



автор
Чуть пострашнее
Tue Oct 02 16:00:04 2018
Hex dump of (file 3, block 214554) in trace file /oracle/u01/diag/rdbms/ois/OIS/trace/OIS_ora_47448494.trcTue Oct 02 16:00:04 2018

Hex dump of (file 3, block 214554) in trace file /oracle/u01/diag/rdbms/ois/OIS/trace/OIS_ora_46596500.trc
Corrupt block relative dba: 0x00c3461a (file 3, block 214554)
Corrupt block relative dba: 0x00c3461a (file 3, block 214554)
Bad check value found during validation
Bad check value found during validation
Data in bad block:
Data in bad block:
type: 2 format: 2 rdba: 0x00c3461a
type: 2 format: 2 rdba: 0x00c3461a
last change scn: 0x05a9.9d495dcc seq: 0x1d flg: 0x04
last change scn: 0x05a9.9d495dcc seq: 0x1d flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x5dcc021d
consistency value in tail: 0x5dcc021d
check value in block header: 0xfb12
check value in block header: 0xfb12
computed block checksum: 0x8
computed block checksum: 0x8
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Reread of blocknum=214554, file=/oracle/u03/OIS/undotbs01.dbf. found same corrupt data
Tue Oct 02 16:00:04 2018
Hex dump of (file 3, block 214554) in trace file /oracle/u01/diag/rdbms/ois/OIS/trace/OIS_ora_11993592.trc

8 окт 18, 16:20    [21698319]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
Тролин
Member

Откуда:
Сообщений: 284
alex722, добавлю что есть вероятность что в какойто момент был бэкап rman блоки оракл не смог прочитать (например в момент обращения блок изменился и контрольная сумма изменилась) и эти блоки спустя время при повторной проверке оказались читаемы, соответственно oracle мог их отметить как нормальные.
8 окт 18, 16:24    [21698329]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
alex722
Member

Откуда:
Сообщений: 63
Vivat!San,
Спасибо за ответ, не похоже.
Запрос со standby:
SQL> select open_mode, controlfile_type from v$database;

OPEN_MODE CONTROL
-------------------- -------
MOUNTED STANDBY
8 окт 18, 17:48    [21698447]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
alex722
Member

Откуда:
Сообщений: 63
Тролин,

Тролин,
Спасибо за ответ.
Версия БД в последнем случае 11.2.0.3

Со второго сообщения скажу, что это было не во время бэкапа и подобные случаи, как Вы описали, я встречал.
Из первого сообщения: к сожалению не зафиксировал точное значение из v$database_block_corruption.
В alertlog сообщения у меня имеют следующий вид:

Hex dump of (file 30, block 3336593) in trace file /u01/app/oracle/diag/rdbms/db/DB/trace/DB_ora_12531.trc
Corrupt block relative dba: 0x07b2e991 (file 30, block 3336593)
Bad header found during user buffer read
Data in bad block:
type: 67 format: 6 rdba: 0x7a90da77
last change scn: 0x868e.d38dce77 seq: 0xd8 flg: 0x77
spare1: 0xcf spare2: 0x77 spare3: 0x9b77
consistency value in tail: 0x6a3f2641
check value in block header: 0xe831
computed block checksum: 0xaf32
Reading datafile '/u02/oracle_DB/name.dbf' for corruption at rdba: 0x07b2e991 (file 30, block 3336593)
Reread (file 30, block 3336593) found same corrupt data (no logical check)
Corrupt Block Found
TSN = 17, TSNAME = DATA
RFN = 30, BLK = 3336587, RDBA = 129165707
OBJN = 318516, OBJD = 318516, OBJECT = OBJECT_NAME, SUBOBJECT = SUBOBJECT_NAME
SEGMENT OWNER = OWNER_NAME, SEGMENT TYPE = Table Partition
Errors in file /u01/app/oracle/diag/rdbms/db/DB/trace/DB_ora_12531.trc (incident=8193):
ORA-01578: ORACLE data block corrupted (file # 30, block # 3336593)
ORA-01110: data file 30: '/u02/oracle_DB/name.dbf'

Из трэйса:

Corrupt block relative dba: 0x07b2e991 (file 30, block 3336593)
Bad header found during user buffer read
Data in bad block:
type: 67 format: 6 rdba: 0x7a90da77
last change scn: 0x868e.d38dce77 seq: 0xd8 flg: 0x77
spare1: 0xcf spare2: 0x77 spare3: 0x9b77
consistency value in tail: 0x6a3f2641
check value in block header: 0xe831
computed block checksum: 0xaf32
Reading datafile '/u02/oracle_DB/name.dbf' for corruption at rdba: 0x07b2e991 (file 30, block 3336593)
Reread (file 30, block 3336593) found same corrupt data (no logical check)
DDE: Problem Key 'ORA 1110' was flood controlled (0x5) (no incident)
ORA-01110: data file 30: '/u02/oracle_DB/name.dbf'
Byte offset to file# 30 block# 3336593 is 1563566080
DDE: Problem Key 'ORA 1578' was flood controlled (0x6) (incident: 8193)
ORA-01578: ORACLE data block corrupted (file # 30, block # 3336593)
ORA-01110: data file 30: '/u02/oracle_DB/name.dbf'
Action (ID=34340895) was flood controlled by a FC Qualifier
8 окт 18, 18:23    [21698504]     Ответить | Цитировать Сообщить модератору
 Re: Block corrupted  [new]
alex722
Member

Откуда:
Сообщений: 63
Из v$database_block_corruption CORRUPTION_TYPE помечен как CORRUPT
14 окт 18, 21:17    [21703733]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить