рдУрд░реЗрдХрд▓ - рдПрд▓рдУрдмреА рдЦрдВрдб рдореЗрдВ рдкреАрдЯрд╛ рдмреНрд▓реЙрдХреЛрдВ рдХреА рд╡рд╕реВрд▓реА

рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрд▓рд░реНрдЯ рд▓реЙрдЧ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдкрд░, рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ:
рднреНрд░рд╖реНрдЯ рдмреНрд▓реЙрдХ рд╕рд╛рдкреЗрдХреНрд╖ dba: 0x0724c078 (рдлрд╝рд╛рдЗрд▓ 28, рдмреНрд▓реЙрдХ 2408568)
рдбреЗрдЯрд╛рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЦрдВрдбрд┐рдд рдЦрдВрдб рдкрд╛рдпрд╛ рдЧрдпрд╛
рдмреНрд▓реЙрдХрдирдо = 2408568, рдлрд╝рд╛рдЗрд▓ = E: \ ORACLE \ ORADATA \ XXX \ XXX_BLOB16.DBFред рдПрдХ рд╣реА рднреНрд░рд╖реНрдЯ рдбреЗрдЯрд╛ рдкрд╛рдпрд╛

рд╕реНрдерд┐рддрд┐ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рдереА рдХрд┐ рд╣рд╛рде рдореЗрдВ рдХреЛрдИ рдмреИрдХрдЕрдк рдирд╣реАрдВ рдерд╛ред
рдЕрдЧрд▓рд╛, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред


RMAN рдиреЗ рдЗрд╕ рдмреНрд▓реЙрдХ рдкрд░ рдЖрд░рд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдбреАрдмреНрд░реАрдлрд┐рдВрдЧ рд╢реБрд░реВ рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрдХрд╛рдИ рдХреНрдпрд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ:
SELECT owner, segment_name, segment_type FROM dba_extents WHERE file_id = 28 AND 2408568 BETWEEN block_id AND block_id + blocks - 1; OWNER ---------------------------- SEGMENT_NAME ---------------------------- SEGMENT_TYPE ------------------ DOC_USER SYS_LOB0000075021C00003$$ LOBSEGMENT 

рддрдм рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ LOB рдЦрдВрдб рдХрд┐рд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:
 SELECT table_name, column_name FROM dba_lobs WHERE owner='DOC_USER' AND segment_name='SYS_LOB0000075021C00003$$'; TABLE_NAME ------------------- COLUMN_NAME ------------------- DOC_LARGE_PIC BINARY_DATA 

DBMS_REPAIR - рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛, рдПрд▓рдУрдмреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдХрд╛рд░рдгред

рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЦреБрд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░, рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд╛рдпрд╛ рдЧрдпрд╛ - рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдерд╛:


 set serverout on exec dbms_output.enable(100000); declare error_1578 exception; pragma exception_init(error_1578,-1578); n number; cnt number:=0; badcnt number:=0; begin for cursor_lob in (select rowid r, BINARY_DATA L from DOC_USER.DOC_LARGE_PIC) loop begin n:=dbms_lob.instr(cursor_lob.L,hextoraw('AA25889911'),1,999999) ; exception when error_1578 then dbms_output.put_line('Got ORA-1578 reading LOB at '||cursor_lob.R); badcnt:=badcnt+1; end; cnt:=cnt+1; end loop; dbms_output.put_line('Scanned '||cnt||' rows - saw '||badcnt||' errors'); end; / 


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рджреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реМрдЯрд╛рдпрд╛:

 Got ORA-1578 reading LOB at AAASUNAAQAAPf7hAAY Got ORA-1578 reading LOB at AAASUNAAQAAPf7hAAp 


рдПрдХ рд╕рд░рд▓ рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдорд┐рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ - рд▓реЗрдХрд┐рди RMAN рд╕рдЦреНрддреА рд╕реЗ рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдкрд░ рдЖрд░рд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
V $ DATABASE_BLOCK_CORRUPTION рдФрд░ RMAN VALIDATE DATAFILE рдореЗрдВ рдХреНрд╡реЗрд░реА рдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдмреНрд▓реЙрдХ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрдиреЗ рд╣реБрдП рд╣реИрдВред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ рдкреВрд░реЗ рдЯреЗрдмрд▓ рд╕реНрдкреЗрд╕ рдХреЗ рдиреЗрддреНрд░рдЧреЛрд▓рдХреЛрдВ рдХреЛ рд╕реМрдВрдкрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ ALTER TABLE XXX SHRINK SPACE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред

 ALTER TABLE DOC_USER.DOC_LARGE_PIC ENABLE ROW MOVEMENT; ALTER TABLE DOC_USER.DOC_LARGE_PIC SHRINK SPACE CASCADE; 


рдлрд┐рд░ рд╣рдо RMAN рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
 RMAN VALIDATE DATAFILE 28; 

рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж, V $ DATABASE_BLOCK_CORRUPTION рд╡реНрдпреВ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреНрд▓рд┐рдпрд░ рд╣реБрдЖред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ RMAN рджреНрд╡рд╛рд░рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЖрд░рдХреНрд╖рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд▓рд╛рдкрддрд╛ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рдкреНрд░рддрд┐рдХреГрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрджреНрдпрддрди

рд╕рд░реНрд╡рд░ рдкрд░ рдбрд┐рд╕реНрдХ рдЙрдЦрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИред
рдЕрдиреБрднрд╛рдЧ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдХреЛ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рдЗрдХрдЯреНрдареЗ рд╕рд░рдгреА рдореЗрдВ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╕рднреА рдСрдкрд░реЗрд╢рди 1.5 рдЯреАрдмреА рдХреЗ рд╡рдЬрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдП рдЧрдП рдереЗред
рдЯреЗрдмрд▓ рдХрд╛ рд╡рдЬрди 70 рдЬреАрдмреА рд╣реИред
Oracle 11g R2 рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ 10g рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реИред
рдкрд╣рд▓реЗ рд╕реЗ рдмрддрд╛рдПрдВ ... SHRINK SPACE CASCADE рдХреА рдХрдИ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦреБрдж рдХреЛ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛ рд▓реЗрдВред

Source: https://habr.com/ru/post/In162319/


All Articles