Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
Хочу сразу сказать что ошибку создал осознано, на тестовой БД, но коль есть ошибка хотелось бы узнать есть ли красивое решение для нее?
В ASM создал отдельную дисковую группу DGROUPB из нескольких блочных устройств, избыточность нормальная! В этой дисковой группе создал табличное пространство и в нем же одну таблицу.
Затем решил произвести логическую ошибку на диске из DGROUPB.

dd if=/dev/zero of=/dev/raw/raw9 bs=10M count=10 seek=1

Потом хочу получить количество строк из таблички и получаю ошибку
ORA-08103: object no longer exists

В алерте asm и БД пусто.

Т.к. я знаю что у меня проблемный диск /dev/raw/raw9, я удаляю его из дисковой группы и после этого ошибка ORA-08103 уходит, можно дальше работать!

Понимаю что ошибка очень надумана и в жизни маловероятно такое встретить, но все же хотелось узнать есть ли варианты определить с каким физическим диском у меня проблемы?

Enterprise Linux Enterprise Linux Server release 5.4
Oracle 10.2.0.5
29 июл 10, 15:34    [9178894]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik
Понимаю что ошибка очень надумана и в жизни маловероятно такое встретить, но все же хотелось узнать есть ли варианты определить с каким физическим диском у меня проблемы?
для начала
ALTER DISKGROUP BLA-BLS CHECK ALL; ?
правда если с метаданныма АСМа все будет ОК, то эта операция ничего не обнаружит,
фактически будет логическое повреждение на уровре файлов БД

проблема в том, что диск реально не поврежден + метаданные АСМ скорее всего не повреждены
по крайней мере они еще не были востребованы,
а карта выделение экстентов уже была отдана АСМом экземпляру БД
29 июл 10, 16:42    [9179599]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
ALTER DISKGROUP DGROUPB CHECK ALL; ошибок не выдает!
С метаданными все хорошо, я затер данные пропустив начало диска.
Т.к. у меня зеркалирование, на других дисках есть экстенты которые валидны и отличаются от испорченного! можно ли заставить ASM сделать сравнение или как он проверяет что у него не развалилось зеркало?

Я попробовал еще сделать
alter diskgroup dgroupb rebalance power 6

В алерте появились сообщения о повреждении блоков и в принципе ругань на мой диск, но rebalance прошел успешно, но ошибка ORA-08103 осталась, а при повторном rebalance в алерте даже и про поврежденные блоки больше нет ругани.

Ошибки после первого rebalance.
WARNING: cache read a corrupted block gn=2 fn=4 blk=3 from disk 4
NOTE: a corrupted block was dumped to the trace file
Thu Jul 29 20:19:21 NOVST 2010
NOTE: stopping process ARB4
NOTE: stopping process ARB5
Thu Jul 29 20:19:21 NOVST 2010
NOTE: cache successfully read gn 2 fn 4 blk 3 count 1 from disk 3
Thu Jul 29 20:19:21 NOVST 2010
WARNING: cache read a corrupted block gn=2 fn=4 blk=4 from disk 4
NOTE: a corrupted block was dumped to the trace file
NOTE: cache successfully read gn 2 fn 4 blk 4 count 1 from disk 3
Thu Jul 29 20:19:21 NOVST 2010
WARNING: cache read a corrupted block gn=2 fn=4 blk=5 from disk 4
NOTE: a corrupted block was dumped to the trace file
NOTE: cache successfully read gn 2 fn 4 blk 5 count 1 from disk 3
29 июл 10, 17:48    [9180240]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik,

ASM управляет метаданными, а не самими данными
если повреждения на уровне данных, то и ищите на этом уровне
RMAN> BACKUP CHECK LOGICAL VALIDATE ...;
тут опять будет зависеть от того какая копия экстента повреждена/переписана
если первичная - то обнаружится
если зеркало, то в общем случае не обнаружится,
и если блоки был в кеше, то при изменениях будут препесаны поверху "поврежденных" нормальными

не совсем понятно чего хочется добиться ?
видится похожая ситуация, когда мимо аппаратного рейда в одном зеркале страйпа перетерли
информацию, при этом диск остался полностью живой(т.е. не битый)...
29 июл 10, 18:13    [9180437]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
denix1,

Спасибо, за ответы!

BACKUP CHECK LOGICAL VALIDATE, действительно позволяет получить сбойные блоки, но и я думаю только те которые были "первичными" и даже восстановив их я все равно не могу быть уверен что в ASM все зеркальные экстенты одинаковые.

Мне бы и хотелось понять, при наличии зеркалирования может ли ASM отследить что зеркальные копии экстентов, отличаются? Мне кажется у него для этого есть возможности.
30 июл 10, 07:40    [9181979]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik
BACKUP CHECK LOGICAL VALIDATE, действительно позволяет получить сбойные блоки, но и я думаю только те которые были "первичными" и даже восстановив их я все равно не могу быть уверен что в ASM все зеркальные экстенты одинаковые.
при записи, а именно это будет выполнятся при восстановлении, будут обновлены все копии экстента, а не толко первичная

led_yurik
Мне бы и хотелось понять, при наличии зеркалирования может ли ASM отследить что зеркальные копии экстентов, отличаются?
ну вот и повод потеребить тех.поддержку :)
led_yurik
Мне кажется у него для этого есть возможности.
а еще некоторые люди глубоко уверены, что АСМ производит ребалансировку на основании статистики доступа к конкретном эктенту...

ПС.
стоит еще раз подумать на предмет того, что "путь ввода-вывода не проходит через АСМ"
АСМ отдает экземпляру БД карту экстентов и дальнейшие операции ввода-вывода
выполняются уже самим экземпляром БД
при этом физический сбой диска отрабатывается АСМом как и должно быть....
30 июл 10, 12:02    [9183426]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik,

кстати, заглянул с свои записи по АСМу и привожу выдержку, которая может быть интересна в контексте поднятого вопроса

"новые фитчи в 11.:
-автоматическое восстановление первичной копии AU при обнаружении повторных ошибок чтения и наличия работоспособной зеркальной копии AU
(Note:416046.1 ASM - Internal Handling of Block Corruptions)"

вроде как по ноте должно работать начиная с 10.1, но данная фитча указана в новых возможностях 11.1,
так что похоже в ноте описка
проверю как работает в 11.2 и отпишусь...
30 июл 10, 12:11    [9183510]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
denix1,

Обнаружил еще интересный факт.
перевожу ТП с моей табличкой в offline.
В алерте asm пусто,
В алерте БД

Read of rdba: 0x01400001 (file 5, block 1) failed with ORA-01210.
Hex dump of (file 5, block 1) in trace file /u01/app/oracle/admin/tasm/udump/tasm_ora_10841.trc
Corrupt block relative dba: 0x01400001 (file 5, block 1)
Completely zero block found during datafile header read
Trying reread from mirror side DGROUPB_0000.
Reread of rdba: 0x01400001 (file 5, block 1) failed with ORA-01210
Hex dump of (file 5, block 1) in trace file /u01/app/oracle/admin/tasm/udump/tasm_ora_10841.trc
Corrupt block relative dba: 0x01400001 (file 5, block 1)
Completely zero block found during datafile header read
Trying reread from mirror side DGROUPB_0001.
Reread of rdba: 0x01400001 (file 5, block 1) found valid data.

Starting control autobackup
Control autobackup written to DISK device
handle '+DGROUPA/tasm/autobackup/2010_07_30/s_725729480.284.725729481'
Completed: alter tablespace tools offline
Fri Jul 30 15:31:32 NOVST 2010
SUCCESS: diskgroup DGROUPB was dismounted

Т.е. при обнаружении сбойного блока в момент offline, oracle смог восстановить его с зеркального диска!
P.S.
когда я перевел ТП в онлайн, табличку это не подлечило!
30 июл 10, 12:50    [9183891]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
denix1
led_yurik
BACKUP CHECK LOGICAL VALIDATE, действительно позволяет получить сбойные блоки, но и я думаю только те которые были "первичными" и даже восстановив их я все равно не могу быть уверен что в ASM все зеркальные экстенты одинаковые.
при записи, а именно это будет выполнятся при восстановлении, будут обновлены все копии экстента, а не толко первичная

Согласен, но если я правильно понимаю, ASM не отслеживает состояние экстентов, то может сложится ситуация, в один момент rman читает блок с "нормального диска", его копия лежит на сбойном! тогда в этот раз rman получит нормальную копию блока и по этому блоку мы даже не получим ошибку, но в другой раз первичным может стать блок со сбойного диска и мы опять столкнемся с проблемой ORA-08103.
Такая ситуация возможна?

автор
led_yurik
Мне бы и хотелось понять, при наличии зеркалирования может ли ASM отследить что зеркальные копии экстентов, отличаются?
ну вот и повод потеребить тех.поддержку :)

При первой же возможности... :)

автор
led_yurik
Мне кажется у него для этого есть возможности.
а еще некоторые люди глубоко уверены, что АСМ производит ребалансировку на основании статистики доступа к конкретном эктенту...


В предыдущем сообщение я давал выкладку из alerta
Trying reread from mirror side DGROUPB_0001.
Reread of rdba: 0x01400001 (file 5, block 1) found valid data.

Т.е. все таки oracle смог получить корректный блок с зеркальной копии, почему бы ему это не сделать и с другими блоками?

автор
ПС.
стоит еще раз подумать на предмет того, что "путь ввода-вывода не проходит через АСМ"
АСМ отдает экземпляру БД карту экстентов и дальнейшие операции ввода-вывода
выполняются уже самим экземпляром БД
при этом физический сбой диска отрабатывается АСМом как и должно быть....

И по книжкам так написано и тут претензий нет, хочется получить механизм который был заставил ASM, думаю именно ASM, а не БД проверить валидность зеркала!
30 июл 10, 13:14    [9184121]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik
denix1
led_yurik
BACKUP CHECK LOGICAL VALIDATE, действительно позволяет получить сбойные блоки, но и я думаю только те которые были "первичными" и даже восстановив их я все равно не могу быть уверен что в ASM все зеркальные экстенты одинаковые.
при записи, а именно это будет выполнятся при восстановлении, будут обновлены все копии экстента, а не толко первичная

Согласен, но если я правильно понимаю, ASM не отслеживает состояние экстентов, то может сложится ситуация, в один момент rman читает блок с "нормального диска", его копия лежит на сбойном! тогда в этот раз rman получит нормальную копию блока и по этому блоку мы даже не получим ошибку, но в другой раз первичным может стать блок со сбойного диска и мы опять столкнемся с проблемой ORA-08103.
Такая ситуация возможна?
на счет сбойности диска - просьба не путать аппаратную ошибку
с шаловливыми ручками! подразумевается, что диск и отдается АСМу для того,
чтобы туда никто не лазил руками - там и без этого хтавате граблей... в самом АСМе....

блок, точнее экстент, первичным стать не может - он либо первичный, либо зеркало
30 июл 10, 13:38    [9184366]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
denix1
led_yurik
denix1
led_yurik
BACKUP CHECK LOGICAL VALIDATE, действительно позволяет получить сбойные блоки, но и я думаю только те которые были "первичными" и даже восстановив их я все равно не могу быть уверен что в ASM все зеркальные экстенты одинаковые.
при записи, а именно это будет выполнятся при восстановлении, будут обновлены все копии экстента, а не толко первичная

Согласен, но если я правильно понимаю, ASM не отслеживает состояние экстентов, то может сложится ситуация, в один момент rman читает блок с "нормального диска", его копия лежит на сбойном! тогда в этот раз rman получит нормальную копию блока и по этому блоку мы даже не получим ошибку, но в другой раз первичным может стать блок со сбойного диска и мы опять столкнемся с проблемой ORA-08103.
Такая ситуация возможна?
на счет сбойности диска - просьба не путать аппаратную ошибку с шаловливыми ручками! подразумевается, что диск и отдается АСМу для того,
чтобы туда никто не лазил руками - там и без этого хтавате граблей... в самом АСМе....
Прошу считать сбойный диск == диском с испорченными данными :).
Согласен, в реальной работе очень сложно схватить подобную ситуацию, но перед реализацией на боевой системе, хочется собрать как можно больше граблей!

автор
блок, точнее экстент, первичным стать не может - он либо первичный, либо зеркало

А если из двух дисков один аварийно выйдет из строя, я думаю экстенты на оставшемся диске должны стать все первичными.
30 июл 10, 14:23    [9184855]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik
автор
блок, точнее экстент, первичным стать не может - он либо первичный, либо зеркало

А если из двух дисков один аварийно выйдет из строя, я думаю экстенты на оставшемся диске должны стать все первичными.
это решит операция ребалансировки
как вариант - возможен случай когда недостающих первичных экстентов наплодят в других фейлур группах
а может и тех что есть поднимут в ранге
30 июл 10, 16:37    [9186074]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
led_yurik
хочется получить механизм который был заставил ASM, думаю именно ASM, а не БД проверить валидность зеркала!
возможно это то чего так хотелось
429098.1 11g ASM New Feature

5.ASMCMD New Commands
remap - You can remap and recover bad blocks on an ASM disk in normal or high redundancy that have been reported by storage management tools such as disk scrubbers. ASM reads from the good copy of an ASM mirror and rewrites these blocks to an alternate location on disk.
1 авг 10, 16:06    [9189884]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
Alex Roudnev
Member

Откуда: Валнут Крик, Калифорния
Сообщений: 5547
Вы все занимаетесь тем, что сравниваете традиционную файловую систему (asm) и реад под ней (тот же ASM) с ZFS-ом. Это единственная знакомая мне ФС в которой подобные опыты над дисками были бы распознаны и обезврежены.

Так что не мучайте кошечку, ASM как и любой примитивный софтверный рейд очень плохо распознает реальные ошибки данных особенно если блок с диска все-таки читается. Если вам нужна полная гарантия, жертвуйте скоростью и ставьте вниз ZFS - там есть контрольные суммы блоков и он распознает любую порчу блока внутри райда, даже и если просто диск не оттуда блок считал (бывает, хотя и редко).
2 авг 10, 23:52    [9197172]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
Alex Roudnev
Вы все занимаетесь тем, что
99.9% мужчин этим занимается
0.1% просто не признается...

Alex Roudnev
там есть контрольные суммы блоков
т.е. в оракле это уже отменили ?
3 авг 10, 13:33    [9199641]     Ответить | Цитировать Сообщить модератору
 Re: ASM ORA-08103: object no longer exists  [new]
led_yurik
Member

Откуда: Новосибирск
Сообщений: 173
denix1
led_yurik
хочется получить механизм который был заставил ASM, думаю именно ASM, а не БД проверить валидность зеркала!
возможно это то чего так хотелось
429098.1 11g ASM New Feature

5.ASMCMD New Commands
remap - You can remap and recover bad blocks on an ASM disk in normal or high redundancy that have been reported by storage management tools such as disk scrubbers. ASM reads from the good copy of an ASM mirror and rewrites these blocks to an alternate location on disk.


Пока ясно что в 10 это может стать проблемой, в 11 нужно пробовать!

denix1 - Спасибо Вам за ответы!
12 авг 10, 11:35    [9251900]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить