powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578: ORACLE data block corrupted
25 сообщений из 92, страница 2 из 4
ORA-01578: ORACLE data block corrupted
    #37839635
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно экспорт в этом случае не поможет!? как он отработает относительно тех записей которые в битых блоках??
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839641
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84интересно экспорт в этом случае не поможет!? как он отработает относительно тех записей которые в битых блоках??
никак)
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839642
MacDuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84интересно экспорт в этом случае не поможет!? как он отработает относительно тех записей которые в битых блоках??

Как-то так:

About to export specified tables via Conventional Path ...
Current user changed to SPHDB
. . exporting table FWHDBLOT
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file # 5, block # 112676)
ORA-01110: data file 5: '/u12/oradata/SPFHD1/fh_datal01_001.dbf'
Export terminated successfully with warnings.
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839747
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof842. Как сделали repair_table?

если это важный момент......я буду уточнять как она была сделана и что в ней !!!!!
Вероятно, я не точно выразился. Меня интересует, откуда взялось содержимое repair_table, которое вы использовали на шаге fix?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839855
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо...,

Насчет repair_table...то мне скрипты по ее созданю не были предоставлены и я понятия не имею как этот тейбл создавался и что в нем внутри. Скажите мне можалуйста если это важный момент для востановления и содержание этой таблицы может повлиять на востановление, я буду уточнять эти моменты и копать в этом направление!?


Заранее благодарен!
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839868
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84,

Задам совсем прямой вопрос: ты перед fix_corrupt_block запускал check_object?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839877
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо...,


да


SQL> SET SERVEROUTPUT ON;
SQL> DECLARE num_corrupt INT;
2 BEGIN num_corrupt := 0;
3 DBMS_REPAIR.CHECK_OBJECT (SCHEMA_NAME => 'name',
4 OBJECT_NAME => 'STATUSLOG',
5 REPAIR_TABLE_NAME => 'REPAIR_TABLE',
6 CORRUPT_COUNT => num_corrupt);
7 DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
8 END;
9 /
number corrupt: 3
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839906
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84даУгу, и после этого fix_corrupt_block вернул 0. Что ж, в отсутствии бэкапов, skip_corrupt_blocks - ваше всё. Для извлечения данных из блоков можно попробовать ещё физически заглянуть в эти блоки и, если совсем невтерпёж и там не полная каша, попытаться вытянуть данные вручную и перевставить их. Но это не для слабонервных...
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839933
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо...,

) Это точно не для слабонервный ))

зарепродюсил я эту ситуацию на своей тестовай базе, вистинг команд приведен ниже.....
=============================================================================

SQL> begin
2 dbms_repair.admin_tables
3 (
4 table_name => 'REPAIR_TABLE',
5 table_type => dbms_repair.repair_table,
6 action => dbms_repair.create_action,
7 tablespace => 'TEST_TBS'
8 );
9 end;
10 /


SQL> descr repair_table;
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJECT_ID NOT NULL NUMBER
TABLESPACE_ID NOT NULL NUMBER
RELATIVE_FILE_ID NOT NULL NUMBER
BLOCK_ID NOT NULL NUMBER
CORRUPT_TYPE NOT NULL NUMBER
SCHEMA_NAME NOT NULL VARCHAR2(30)
OBJECT_NAME NOT NULL VARCHAR2(30)
BASEOBJECT_NAME VARCHAR2(30)
PARTITION_NAME VARCHAR2(30)
CORRUPT_DESCRIPTION VARCHAR2(2000)
REPAIR_DESCRIPTION VARCHAR2(200)
MARKED_CORRUPT NOT NULL VARCHAR2(10)
CHECK_TIMESTAMP NOT NULL DATE
FIX_TIMESTAMP DATE
REFORMAT_TIMESTAMP DATE

SQL>


SQL> SET SERVEROUTPUT ON
SQL> DECLARE
vCorruptBlocks INT := 0;
BEGIN
DBMS_REPAIR.CHECK_OBJECT
( 2 3 4 5
6 SCHEMA_NAME => 'SYS',
7 OBJECT_NAME => 'TEST_TABLE',
8 REPAIR_TABLE_NAME => 'REPAIR_TABLE',
9 CORRUPT_COUNT => vCorruptBlocks
10 );
11 DBMS_OUTPUT.PUT_LINE('Number of blocks corrupted: ' || TO_CHAR (vCorruptBlocks));
12 end;
13 /
Number of blocks corrupted: 1

PL/SQL procedure successfully completed.

SQL>




SQL> column object_name format a10
SQL> column repair_description format a28
SQL> set lines 10000
SQL> SELECT OBJECT_NAME, BLOCK_ID, CORRUPT_TYPE, MARKED_CORRUPT, REPAIR_DESCRIPTION
FROM REPAIR_TABLE; 2

OBJECT_NAM BLOCK_ID CORRUPT_TYPE MARKED_COR REPAIR_DESCRIPTION
---------- ---------- ------------ ---------- ----------------------------
TEST_TABLE 131 6148 TRUE mark block software corrupt

SQL>


SQL> SET SERVEROUTPUT ON
SQL> declare
2 vBlocksFixed INT := 0;
3 begin
4 DBMS_REPAIR.FIX_CORRUPT_BLOCKS
5 (
6 SCHEMA_NAME => 'SYS',
7 OBJECT_NAME=> 'TEST_TABLE',
8 OBJECT_TYPE => DBMS_REPAIR.TABLE_OBJECT,
9 REPAIR_TABLE_NAME => 'REPAIR_TABLE',
10 FIX_COUNT => vBlocksFixed
11 );
12 DBMS_OUTPUT.PUT_LINE('Number of blocks fixed: ' || TO_CHAR(vBlocksFixed));
13 end;
14 /
Number of blocks fixed: 0

PL/SQL procedure successfully completed.



===============================================================================================
В итоге мне ничего не востановило....тоесть этот механизм востановления не сработал

Может я что то делаю не так!?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839945
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
може эти блоки имеют высокую степень побитости !!!! )
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839948
Быдло__кодер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как можно испортить специально пару блоков данных?
Прочитал топик, захотелось поиграться с DBMS_REPAIR накошках тестовой базе
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839949
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Быдло__кодерА как можно испортить специально пару блоков данных?
Прочитал топик, захотелось поиграться с DBMS_REPAIR накошках тестовой базе

dd
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839959
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pravednikБыдло__кодерА как можно испортить специально пару блоков данных?
Прочитал топик, захотелось поиграться с DBMS_REPAIR накошках тестовой базе

dd

совершенно верно

dd of=/u1/oracle/product.....(дата файл) bs=8192 conv=notrunc seek=(next block) <<EOF
<text>
>EOF
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37839972
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84,

Как ты думаешь, насколько сильно побит блок после "dd .. bs=8192" и что там можно отфиксить?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840002
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходил мимо...,

думаю для Oracle он сильно битый.....и тут я думаю что только бекап в помощь.
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840007
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84и тут я думаю что только бекап в помощь.
или скип )))))
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840012
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pravednik,

скип собственно и сделали!


Спасибо всем огромное за участие!
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840022
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы очень узнать как работает DBMS_REPAIR.FIX_CORRUPT_BLOCKS. Я понимаю что нужно читать доку...но интересует Ваш личный опыт!?

Заранее благодарю!
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840053
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84Хотелось бы очень узнать как работает DBMS_REPAIR.FIX_CORRUPT_BLOCKS.
Сразу развею иллюзии ;) (если таковы есть).
FIX_CORRUPT_BLOCKS ничего не фиксит )
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840085
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pravednik,

я догадывался что это илюзия ))

Скажите а с Oracle Block Browser and EDitor кто то работал!?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840091
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84pravednik,

я догадывался что это илюзия ))

Скажите а с Oracle Block Browser and EDitor кто то работал!?
есть небольшой опыт, но это разве что "в академических целях".
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840225
zerof84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pravednik,

я тогда пока что сам попробую покрутить эту утилиту. Если что то полезное выковыряю то обязательно напишу!
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37840368
MacDuck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zerof84Скажите а с Oracle Block Browser and EDitor кто то работал!?

Это...как его beditor что ли? Его еще компилить специально надо.
Была дока где-то в pdf.
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37857157
наш человек в гаване
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pravednikzerof84интересно экспорт в этом случае не поможет!? как он отработает относительно тех записей которые в битых блоках??
никак)
Здравствуйте!

как-раз таки по этому поводу есть вопрос:

в алерт логе: ORA-0600. В трейс-файле:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
*** 2012-06-25 15:49:30.220
*** SESSION ID:(101.28940) 2012-06-25 15:49:30.220
*** CLIENT ID:() 2012-06-25 15:49:30.220
*** SERVICE NAME:(ORCL) 2012-06-25 15:49:30.220
*** MODULE NAME:(ac.exe) 2012-06-25 15:49:30.220
*** ACTION NAME:() 2012-06-25 15:49:30.220
 
* kdsgrp1-1: *************************************************
            row 0x030fa26b.92 continuation at
            0x030fa26b.92 file# 12 block# 1024619 slot 146 not found



смотрим что это за объект:

Код: sql
1.
2.
3.
4.
SELECT tablespace_name, segment_type, owner, segment_name
FROM dba_extents
WHERE file_id = 12
and 1024619 between block_id AND block_id + blocks - 1;



оказывается что это очень важная и большая таблица (12 Гб).

каждую ночь выполняется экспорт (expdp).
смотрю лог экспорта за прошедшую ночь: проблемная таблица как и все остальные
таблицы экспортировались успешно.

вопрос: почему в логе экспорта нет ни строчки про битые блоки или про то, что возникли
проблемы с выгрузкой какой-то таблицы?

ещё вопрос: есть ещё варианты для восстановления битого блока кроме dbms_repair для SE?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #37857170
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наш человек в гаваневопрос: почему в логе экспорта нет ни строчки про битые блоки или про то, что возникли
проблемы с выгрузкой какой-то таблицы?
А с чего вы взяли, что блок битый ?
Наличие номера файла и блока в трейсе совсем не означает, что это битые блоки :-)
По поводу 600-ой, берете первый аргумент и на металинк.
...
Рейтинг: 0 / 0
25 сообщений из 92, страница 2 из 4
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578: ORACLE data block corrupted
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]