powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / corupted blocks
8 сообщений из 8, страница 1 из 1
corupted blocks
    #39939795
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi guys,

Today I had an incident on database, i did a recovery of datafile from backup and on recovery I got ORA-00600. I was able to start database with "alllow 1 corruption" options. Finally i have some corrupted blocks in datafile (i can see them here V$DATABASE_BLOCK_CORRUPTION).

I'm skipping these blocks now to avoid ORA error for DML on these tables with DBMS_REPAIR.SKIP_CORRUPT_BLOCKS and finally "validate structure" does not fail.

How can I totally repair the blocks ? I user DBMS_REPAIR.FIX_CORRUPT_BLOCKS but it does fix the blocks and I'm still see them in (V$DATABASE_BLOCK_CORRUPTION view).

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
  SET SERVEROUTPUT ON
  DECLARE num_fix INT;
  BEGIN
  num_fix  := 0;
  DBMS_REPAIR.FIX_CORRUPT_BLOCKS  (
  SCHEMA_NAME  => 'SCOTT',
  OBJECT_NAME=>  'TIGGER',
  OBJECT_TYPE  => dbms_repair.table_object,
  REPAIR_TABLE_NAME  => 'REPAIR_TABLE',
  FIX_COUNT=>  num_fix);
  DBMS_OUTPUT.PUT_LINE('num  fix: ' || TO_CHAR(num_fix));
  END;
  /
...
Рейтинг: 0 / 0
corupted blocks
    #39939815
Synoptic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gda, Cad a leagan ar an mbunachar sonraí a bhfuil tú ag obair le?
...
Рейтинг: 0 / 0
corupted blocks
    #39939819
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11g
...
Рейтинг: 0 / 0
corupted blocks
    #39939822
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
...
Рейтинг: 0 / 0
corupted blocks
    #39939843
veep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To recover corrupted blocks you should use either RMAN or copy non corrupted datafiles from backup (or standby) with following recovering

https://docs.oracle.com/cd/E25054_01/backup.1111/e10642/rcmblock.htm How to restore corruptions with RMAN
...
Рейтинг: 0 / 0
corupted blocks
    #39939850
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gda
I user DBMS_REPAIR.FIX_CORRUPT_BLOCKS
Так а что указано в repair-таблице?
...
Рейтинг: 0 / 0
corupted blocks
    #39940328
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi, here is the script I used to fix corruptions

Код: 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.
EGIN
 DBMS_REPAIR.ADMIN_TABLES (
    TABLE_NAME => 'REPAIR_TABLE',
    TABLE_TYPE => dbms_repair.repair_table,
    ACTION     => dbms_repair.create_action,
    TABLESPACE => 'USERS');
END;
/ 

BEGIN
 DBMS_REPAIR.ADMIN_TABLES (
    TABLE_NAME => 'ORPHAN_KEY_TABLE',
    TABLE_TYPE => dbms_repair.orphan_table,
    ACTION     => dbms_repair.create_action,
    TABLESPACE => 'USERS');
END;
/

 
SET SERVEROUTPUT ON
DECLARE num_corrupt INT;
BEGIN
num_corrupt := 0;
DBMS_REPAIR.CHECK_OBJECT (
    SCHEMA_NAME => 'ABS',
    OBJECT_NAME => 'RECORDS',
    REPAIR_TABLE_NAME => 'REPAIR_TABLE',
    CORRUPT_COUNT =>  num_corrupt);
DBMS_OUTPUT.PUT_LINE('number corrupt: ' || TO_CHAR (num_corrupt));
END;
/
 

SET SERVEROUTPUT ON
DECLARE num_fix INT;
BEGINnum_fix := 0;
DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
    SCHEMA_NAME => 'ABS',
    OBJECT_NAME=> 'RECORDS',
    OBJECT_TYPE => dbms_repair.table_object,
    REPAIR_TABLE_NAME => 'REPAIR_TABLE',
    FIX_COUNT=> num_fix);
DBMS_OUTPUT.PUT_LINE('num fix: ' || TO_CHAR(num_fix));
END;
/ 

SELECT OBJECT_NAME, BLOCK_ID, MARKED_CORRUPT
    FROM REPAIR_TABLE;



I see one record in REPAIR_TABLE. When I executed DBMS_REPAIR.FIX_CORRUPT_BLOCKS the result is num_fix = 0. Why it's not fixed ? What I'm doing wrong ?
...
Рейтинг: 0 / 0
corupted blocks
    #39940400
gda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
repair_table

Код: plsql
1.
2.
0BJECT_ID	TABLESPACE_ID	RELATIVE_FILE_ID	BLOCK_ID	CORRUPT_TYPE	SCHEMA_NAME	OBJECT_NAME	BASEOBJECT_NAME	PARTITION_NAME	CORRUPT_DESCRIPTION	REPAIR_DESCRIPTION	MARKED_CORRUPT	CHECK_TIMESTAMP	FIX_TIMESTAMP	REFORMAT_TIMESTAMP
64271	12	14	70031	6148	ABS	RECORDS				mark block software corrupt	ИСТИНА	23/03/2020 16:54	
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / corupted blocks
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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