powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578 в LOB сегменте
14 сообщений из 14, страница 1 из 1
ORA-01578 в LOB сегменте
    #38444579
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Может кто-то знает как можно проскочить один проблемный блок в LOB сегменте?

Код: plsql
1.
2.
3.
4.
5.
SQL> SELECT SEGMENT_TYPE,OWNER,SEGMENT_NAME FROM DBA_EXTENTS WHERE FILE_ID = 51 AND 133824 BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS-1;

SEGMENT_TYPE	   OWNER							SEGMENT_NAME
------------------ ------------------------------   --------------------------
LOBSEGMENT	   		SAPSR3							SYS_LOB0000055255C00005$$



Код: plsql
1.
2.
3.
SQL> execute dbms_repair.skip_corrupt_blocks('SAPSR3', 'DYNPSOURCE');

PL/SQL procedure successfully completed.


Код: plsql
1.
2.
3.
4.
5.
SQL> SELECT OWNER, TABLE_NAME, SKIP_CORRUPT FROM DBA_TABLES WHERE TABLE_NAME ='DYNPSOURCE';

OWNER			       TABLE_NAME		      SKIP_COR
------------------------------ ------------------------------ --------
SAPSR3			       DYNPSOURCE		      ENABLED





Код: plsql
1.
2.
3.
4.
5.
6.
SQL> create table DYNPSOURCE_corrupt AS SELECT * FROM SAPSR3.DYNPSOURCE;
create table DYNPSOURCE_corrupt AS SELECT * FROM SAPSR3.DYNPSOURCE
                                                        *
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 51, block # 133824)
ORA-01110: data file 51: '/oracle/PRD/sapdata3/sr3700_11/sr3700.data11'





Сам data файл не имеет повреждения:
Код: plsql
1.
2.
# cp /oracle/PRD/sapdata3/sr3700_11/sr3700.data11 /tmp
#



Когда происходит полное сканирование таблицы, вылетает ошибка блока. Соот-но манипуляции вида: создать новую таблицу с исключением повреждённой rowid также не увенчались успехом. :(
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38444584
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, забыл указать версию ORA:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select BANNER from V$VERSION;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE	10.2.0.4.0	Production
TNS for HPUX: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38444986
trace111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VGusev2007,

Import-Export не пройдет?
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445167
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trace111,

Может и пройдёт, но я думаю что при импорте будет делаться полное сканирование таблицы - а оно валится...

Вас не затруднит подсказать как мне можно сделать импорт/экспорт таблицы: SAPSR3.DYNPSOURCE ?
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445311
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
VGusev2007,

ORA-1578 ORA-26040 in a LOB segment - Script to solve the errors (Doc ID 293515.1)
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445343
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VGusev2007,

STFF
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445373
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,

А где ноты и документацию по ORACLE получать? Я так понял Doc ID 293515.1 - это нота от оракла? У нас есть действующая поддержка от SAP, видимо ORA туда тоже должен входить...
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445376
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
123йй,

я если честно ничего не понял из той темы. Но насколько я понял, проблему они не решили ведь... :(
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38445382
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,

http://theone79.tistory.com/839 Вроде оно..?
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38446576
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решено.

Сходил по ссылке: http://theone79.tistory.com/839


Код: 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.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
SQL> select owner, segment_name, segment_type 
  2  from   dba_extents
  3  where  file_id = 51
  4  and 133824 between block_id and block_id + blocks-1;  

OWNER
------------------------------
SEGMENT_NAME
--------------------------------------------------------------------------------
SEGMENT_TYPE
------------------
SAPSR3
SYS_LOB0000055255C00005$$
LOBSEGMENT


SQL> select table_name, column_name
  2  from   dba_lobs
  3  where  segment_name = 'SYS_LOB0000055255C00005$$'
  4  and    owner = 'SAPSR3';

TABLE_NAME
------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
DYNPSOURCE
LOGICINFO


SQL> select table_name 
  2  from dba_lobs 
  3  where segment_name = 'SYS_LOB0000055255C00005$$'
  4  and owner = 'SAPSR3'; 

TABLE_NAME
------------------------------
DYNPSOURCE


SQL> describe SAPSR3.DYNPSOURCE;
 Name					   Null?    Type
 ----------------------------------------- -------- ----------------------------
 PROGNAME				   NOT NULL VARCHAR2(120)
 DYNPNUMBER				   NOT NULL VARCHAR2(12)
 R3STATE				   NOT NULL VARCHAR2(3)
 FIELDINFO					    BLOB
 LOGICINFO					    BLOB
 EXTENSIONS					    BLOB

SQL> create table corrupted_data (corrupted_rowid rowid);

set concat off
declare
  error_1578 exception;
  pragma exception_init(error_1578,-1578);
  n number;
begin
   for cursor_lob in (select rowid r, &&lob_column from &&table_owner.&table_with_lob) loop
   begin
     n:=dbms_lob.instr(cursor_lob.&&lob_column,hextoraw('889911')) ;
   exception
     when error_1578 then
       insert into corrupted_data values (cursor_lob.r);
       commit;
   end;
  end loop;
end;
/ 
Table created.

На вопросы вводим:

Enter value for lob_column: LOGICINFO
Enter value for table_owner: SAPSR3
Enter value for table_with_lob: DYNPSOURCE
old   6:    for cursor_lob in (select rowid r, &&lob_column from &&table_owner.&table_with_lob) loop
new   6:    for cursor_lob in (select rowid r, LOGICINFO from SAPSR3.DYNPSOURCE) loop
old   8:      n:=dbms_lob.instr(cursor_lob.&&lob_column,hextoraw('889911')) ;
new   8:      n:=dbms_lob.instr(cursor_lob.LOGICINFO,hextoraw('889911')) ;


PL/SQL procedure successfully completed.


SQL> set concat off
SQL> update &table_owner.&table_with_lob 
  2  set &lob_column = empty_blob() 
  3  where rowid in (select corrupted_rowid from corrupted_data);
Enter value for table_with_lob: DYNPSOURCE
old   1: update &table_owner.&table_with_lob
new   1: update SAPSR3.DYNPSOURCE
old   2: set &lob_column = empty_blob()
new   2: set LOGICINFO = empty_blob()

1 row updated.

SQL> commit;
Commit complete.



Как-то так. :)
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #38446582
VGusev2007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender, спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ORA-01578 в LOB сегменте
    #39639555
kabanasy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VGusev2007, извиняюсь за беспокойство. В теме ora-01578 вы описывали способ борьбы с 01578 в lobsegments. Я выпонил процедуры, которые описаны в топике, но v$database_block_corruption все равно остался при своем, с записями. Я может что-то не допонял. Если можно вкратце поясните что делает ваш способ решения.
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #39639567
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VGusev2007xtender,

А где ноты и документацию по ORACLE получать? Я так понял Doc ID 293515.1 - это нота от оракла? У нас есть действующая поддержка от SAP, видимо ORA туда тоже должен входить...
Насколько я понимаю, в ряде случае поддержку по СУБД может оказывать та же компания, что и поддержку по прикладному ПО.

Попробуйте написать в саппорт ERP системы, опишите проблему, попросите дать доступ на металинк или, в крайнем случае, прислать нужные ноты от Oracle.
...
Рейтинг: 0 / 0
ORA-01578 в LOB сегменте
    #39639568
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. блин.... не заметил, что пост древний ((((
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01578 в LOB сегменте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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