|
|
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Помогите понять из-за чего возникла проблема и как ее решить. Есть база версии 11.2.0.4, вышел из строя жесткий диск и базы не стало. Благо резервная копия и архивлоги лежали в удаленном месте и база была восстановлена из резервной копии. Все бы хорошо, но после восстановления при инсерте данных в одну из таблиц стало вываливаться: Ora-01578 data block corrupted Ora-26040 data block was loaded using the NOLOGGING option. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 20:53 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
база была восстановлена из резервной копии Подробнее. Обычно после восстановления из бэкапа не бывает коррумпированных блоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 21:00 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Так в том то и дело. Какая инфа нужна? База восстановлена из фулбэкапа и накатаны архивлоги до момента сбоя. Коррупционные блоки в LOB сегментах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 21:07 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasyOra-26040 data block was loaded using the NOLOGGING option.RTFM* Action: Drop the object containing the block. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 21:16 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Удалить таблицу? Не вариант! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 21:28 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasyУдалить таблицу? Не вариант!Боржоми пить всё равно уже поздно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2017, 21:44 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasyКоррупционные блоки dmdmdmкоррумпированных блоков. Вы точно не из следственного комитета? Ну нет такого понятия в Oracle - "коррумпированные" или "коррупционные" блоки. Есть corrupted blocks, по-русски - поврежденные блоки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2017, 23:11 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Бекап со стендбая делали или с primary? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 13:18 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Еще проверить надо бекапы командой VALIDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 13:24 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Стендбая нет, только primary! Backup validate database проходит на ура! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 19:35 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasy, как вариант прочекать базу https://oracle-base.com/articles/misc/detect-and-correct-corruption самая страшная утилитка dbv по результату чека смотреть в v$database_block_corruption и прочекать DBMS_REPAIR это на тот случай если нужно выдернуть хоть что-то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 19:40 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasy, ну если есть саппорт 1088018.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 19:42 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasy, если есть LOB то там целая песня.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 19:47 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
dmdmdmОбычно после восстановления из бэкапа не бывает коррумпированных блоков. Они не поврежденные - медитируй над: Ora-26040 data block was loaded using the NOLOGGING option. Посему production желательно устанoвить c FORCE LOGGING. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 20:16 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasy, LOBы придется обнулять: ORA-1578 ORA-26040 in a LOB segment - Script to solve the errors (Doc ID 293515.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 20:36 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток всем. Решил вопрос! Если кому-то интересно, то делалось следующее. Были почищены записи в таблице, которой принадлежали corrupted blocks, что давало надежду, что удастся ужать размер таблицы, но попытка не увенчалась успехом. Затем создал точно такую же таблицу в другой базе и merge-ем перелили туда все данные. Удалил таблицу, содержащую corrupted blocks, но запрос v$database_block_corruption все равно выдал наличие corrupted blocks. ПБыло принято решение на удаление и пересоздание tablespace, после чего проблема решилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 10:34 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
kabanasy, Сталкивался с таким. Если битый блок не принадлежит никакому сегменту, а находится во free space, то его условно можно считать нормальным, так как при записи в него он "исправится". Чтобы не смущать себя наличием битого блока, можно принудительно заполнить его. Создадим таблицу: Код: plsql 1. 2. "Помещаем" битый блок в таблицу. Расширяем сегмент в нужном файле, пока не захватим блок (проверяем через DBA_EXTENTS): Код: plsql 1. 2. 3. 4. 5. 6. Как блок стал относиться к таблице - записываем в нее: Код: plsql 1. 2. 3. 4. 5. Когда размер сегмента достигнет размера аллоцированного пространства - можно думать, что блок записан. RMAN> validate datafile FILE#; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 12:01 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
avanyugin, Код: plaintext 1. DBMS_REPAIR не помогает? ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:12 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
StaxDBMS_REPAIR не помогает?RTFM Recovering After the NOLOGGING Clause Is Specified (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:18 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Elic, таблицу удалили, блок свободен, зачем помнить о NOLOGGING и corrupt? .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:23 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Эта информация находится в самом блоке При удалении таблицы никто его, естественно, не переформатирует А та же DBV сканирует КАЖДЫЙ блок -- она не знает свободен он или используется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:28 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровЭта информация находится в самом блоке При удалении таблицы никто его, естественно, не переформатирует А та же DBV сканирует КАЖДЫЙ блок -- она не знает свободен он или используется я понимаю что инфа в блоке, но проверить что он уже никому не нужен можно ж или скажем что в блоке нет жодной записи, проверить можно ж запросто, и снять отметку не вижу препятствий ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:46 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
StaxDBMS_REPAIR не помогает? Это было на Standard Edition ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 13:48 |
|
||
|
Ora-01578
|
|||
|---|---|---|---|
|
#18+
avanyugin, дело в том, что corrupted blocks были не во free space, а в случае с LOB-сегментами там есть нюанс, что при удалении записей из таблицы, освобожденное пространство не уходит во free space, а остается принадлежать таблице ... А DBMS_REPAIR вроде с LOB тоже не особо дружит( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2017, 17:19 |
|
||
|
|

start [/forum/topic.php?fid=52&tid=1884780]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 510ms |

| 0 / 0 |
