powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578: ORACLE data block corrupted
7 сообщений из 7, страница 1 из 1
ORA-01578: ORACLE data block corrupted
    #39692119
bkolubenka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте

Друг просит помощи как всегда в таких случаях база бекапился только с data pump , noarchivelog.
Поврежден один из блоков
ORA-01578: ORACLE data block corrupted (file # 133, block # 268733)
Как поступить?
Как можно выяснить ид этих записей? чтобы наити их в старых бекапах. Как можно оценить масштаб потери и их количество?
В принципе можно даже закинуть их в мусор но надо бы выяснить максимум информации о строках


Export: Release 11.2.0.1.0 - Production on Wed Aug 22 21:03:31 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
;;;
Connected to: Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** SCHEMAS=arhiv DIRECTORY=remote DUMPFILE=arhiv.dmp LOGFILE=arhiv.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 259.0 GB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-31693: Table data object "ARHIV"."ARCHIVES" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01578: ORACLE data block corrupted (file # 133, block # 268733)
ORA-01110: data file 133: 'G:\DATABASE\DBA1\ARHIV_TABLES077.DBF'
ORA-26040: Data block was loaded using the NOLOGGING option
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
\\192.168.100.9\NFS\BACKUP\ARHIV\ARHIV.DMP
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" completed with 1 error(s) at 06:26:01
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692123
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поиском по ORA-01578 уже воспользовались, и что-то уже попробовали?
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692127
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bkolubenkaКак можно выяснить ид этих записей?Вычесть табличные id из индекса.
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692131
bkolubenka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdmПоиском по ORA-01578 уже воспользовались, и что-то уже попробовали?

Конечно смотрел

SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS WHERE file_id = 133 AND BLOCK_ID = 268733;
пустил вот но выборки нету от этого запроса
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692134
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из моих закромов.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
select log_mode  from V$DATABASE

1. ====================== Если ARCHIVELOG ======================.

select * from v$database_block_corruption;

RMAN> validate check logical database;

This will check all blocks for corruption in an online operation and update v$database_block_corruption

RMAN> recover corruption list;

This will recover all the detected corrupted blocks from step 1 in an online operation.

2. ====================== Если NOARCHIVELOG ======================.

EXP-00056: ORACLE выдала ошибку 1578
ORA-01578: разрушен блок данных ORACLE (файл # 5, блок # 121773)
ORA-01110: файл данных 5: 'C:\ORACLE\ORADATA\DBNOHT05\USERS01.DBF'


select owner, segment_type, segment_name from dba_extents where file_id = 5 and 121773 between block_id and block_id+blocks-1;

Увидим, что за объект в поврежденном блоке.

analyze table SUPERMAG.SMSPECSTAT validate structure [cascade]; - это вряд ли поможет

Под SYS:

begin dbms_repair.admin_tables('ORPHAN_KEYS_TABLE', dbms_repair.orphan_table, dbms_repair.create_action); end;
begin dbms_repair.admin_tables('REPAIR_TABLE',1,1,'SYSTEM'); end;

declare
  c number;
begin
  sys.DBMS_REPAIR.check_object('SUPERMAG', 'SMSPECSTAT', corrupt_count => c);
  dbms_output.put_line('cnt :' ||c);
end;

select * from repair_table - видим блоки, которые надо чинить

Простое решение - пропускать поврежденные блоки.

declare
  c number;
begin
  sys.DBMS_REPAIR.skip_corrupt_blocks('SUPERMAG', 'SMSPECSTAT');
  dbms_output.put_line('cnt :' ||c);
end;

Затем таблицу можно пересоздать.

Другое решение - чинить поврежденные блоки - не исследовал.

...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692137
bkolubenka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выдал SYS_LOB0000096547C00014$$
Смотрю дальше
...
Рейтинг: 0 / 0
ORA-01578: ORACLE data block corrupted
    #39692141
bkolubenka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT owner, table_name, column_name FROM dba_lobs WHERE segment_name = 'SYS_LOB0000096547C00014$$'

Выдал что это столбец отсканнированного файла

Это означает что здесь поврежден только один файл\строка?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578: ORACLE data block corrupted
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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