рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рднрдХреНрд╖рдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдлреБрд▓рд╛рдПрдВ


рд╕рд╣реА рдореВрдб рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддрд╕реНрд╡реАрд░

рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!


рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рдмреЗрд░рд╛ рдореЗрдВ, рдЯреВрдЯреЗ рд╣реБрдП рдмреНрд▓реЙрдХреЛрдВ рдХреА рдорд░рдореНрдордд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рдХрд╛рд╢рди рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдЕрдХреНрд╖реБрдгреНрдг рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рдПрдХ рдЯреВрдЯреЗ рд╣реБрдП рдПрд▓рдУрдмреА рдЦрдВрдб рдкрд░ рдЬреАрдд рдХреА рдХрд╣рд╛рдиреА рд╣реИред

рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдирд╣реАрдВ рджреВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдЬрдм рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ), рдпрд╣ рдЯреЗрдмрд▓ рдореЗрдВ рд╕рднреА рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдХреЗ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдлреНрд░реА рдмреНрд▓реЙрдХ рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИред рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╣реИред

рддреЛ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ!

рдЖрдЗрдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдЦрд╛рддреА рд╣реИ (рдЪрд┐рддреНрд░ рдореЗрдВ рдордЫрд▓реА рдХреА рддрд░рд╣), рдФрд░ рдлрд┐рд░ рдУрд░реЗрдХрд▓ рдбреАрдмреА рдкрд░ рд╕рднреА рдЦрд╛рд▓реА рд╕реНрдерд╛рди рдХреЛ рдореБрдХреНрдд рдХрд░реЗрдВред

рддреИрдпрд╛рд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ред

рд╣рдордиреЗ рдЕрдкрдиреЗ рдЯреВрдЯреЗ рд╣реБрдП рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рджреЗрдЦрд╛:
select * from v$database_block_corruption; 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡реЗ рд╣реИрдВред

рдХреНрдпрд╛ рд╣рдорд╛рд░реЗ рд╕рднреА "рдореБрдХреНрдд" рдмреНрд▓реЙрдХ рдмрд┐рд▓реНрдХреБрд▓ рджрд┐рдЦрддреЗ рд╣реИрдВ (рдЕрдЪрд╛рдирдХ рдПрдХ рдФрд░ рдЯреВрдЯрд╛ рд╣реБрдЖ рдЦрдВрдб рдЦреЛ рдЧрдпрд╛ рдерд╛?):
 SELECT e.owner, e.segment_type, e.segment_name, e.partition_name, c.file# , greatest(e.block_id, c.block#) corr_start_block# , least(e.block_id+e.blocks-1, c.block#+c.blocks-1) corr_end_block# , least(e.block_id+e.blocks-1, c.block#+c.blocks-1) - greatest(e.block_id, c.block#) + 1 blocks_corrupted , null description FROM dba_extents e, v$database_block_corruption c WHERE e.file_id = c.file# AND e.block_id <= c.block# + c.blocks - 1 AND e.block_id + e.blocks - 1 >= c.block# UNION SELECT s.owner, s.segment_type, s.segment_name, s.partition_name, c.file# , header_block corr_start_block# , header_block corr_end_block# , 1 blocks_corrupted , 'Segment Header' description FROM dba_segments s, v$database_block_corruption c WHERE s.header_file = c.file# AND s.header_block between c.block# and c.block# + c.blocks - 1 UNION SELECT null owner, null segment_type, null segment_name, null partition_name, c.file# , greatest(f.block_id, c.block#) corr_start_block# , least(f.block_id+f.blocks-1, c.block#+c.blocks-1) corr_end_block# , least(f.block_id+f.blocks-1, c.block#+c.blocks-1) - greatest(f.block_id, c.block#) + 1 blocks_corrupted , 'Free Block' description FROM dba_free_space f, v$database_block_corruption c WHERE f.file_id = c.file# AND f.block_id <= c.block# + c.blocks - 1 AND f.block_id + f.blocks - 1 >= c.block# order by file#, corr_start_block#; 


рдЯреВрдЯреА рд╣реБрдИ рдореБрдХреНрдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЯреАрдПрд╕ рдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдСрдЯреЛрдЯреЗрдХреНрд╕реНрдЯреЗрдВрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛ред рд╡рд┐рд╕реНрдореГрддрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рд╕реБрдЦрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ "рд╕рдВрдкреАрдбрд╝рд┐рдд" рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
 select 'alter database datafile '|| file_name|| ' '|| ' autoextend off;' from dba_data_files where TABLESPACE_NAME='PSAPSR3'; 

рдЯреАрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓реАред рдЙрдиреНрд╣реЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ред рдлрд┐рд░, рдЙрд╕реА рддрд░рд╣, рд╣рдо рдЙрди рдЖрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдСрдЯреЛрдЯреЗрдХреНрд╕реНрдЯреЗрдВрдб рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВрдЧреЗред
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рд╕реНрдХ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдВ? рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ? рдпрд╣рд╛рдБ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рдЙрдЪрд┐рдд рд╣реИред

(рд╣рд╛рдВ, рдореЗрд░реА рдЦрд╛рд╕рд┐рдпрдд рд╣реИ "рд╕реИрдк рдмреЗрд╕рд┐рд╕ рд╕реНрдкреЗрд╢рд▓рд┐рд╕реНрдЯред" рдпрд╣ рдЯреЗрдмрд▓рд╕реНрдкреЗрд╕ рдХреЗ рд▓рд┐рдП рдирд╛рдо рдХреА рдкрд╕рдВрдж рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдореБрдЭреЗ рд╡рд╣рд╛рдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдареАрдХ рдХрд░рдиреА рд╣реЛрдВрдЧреАред)

рдФрд░ рдХреЗрд╡рд▓ рдЕрдм, рдЬрдм рддреИрдпрд╛рд░реА рдХреЗ рдЪрд░рдг рдкреВрд░реЗ рд╣реЛ рдЧрдП рд╣реИрдВред

рдореБрдЦреНрдп рд╢рд░реАрд░

Oracle sql рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ SQL рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рдореЗрдВ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрд╕рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рд╕рднреА рдирд┐: рд╢реБрд▓реНрдХ рдЯреЗрдмрд▓рд╕реНрдкреЗрд╕ рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЬрдм рддрдХ рдХрд┐ рдЬрдЧрд╣ рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА, рддрдм рддрдХ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдЬреЛрдбрд╝реЗрдВред

рдпрд╣рд╛рдБ рдПрдХ рдкреАрдПрд▓ \ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рд╡рд╣ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред
 SET SERVEROUTPUT ON DECLARE type ARR_TABLE is table of varchar2(13); TBLS ARR_TABLE:=ARR_TABLE(); I number; SPACE_AVAILABLE float; --   tablespace TABLESPACE_FOR_FULL CONSTANT varchar2(20) := 'PSAPSR3'; --  .   ? USER_SCHEMA CONSTANT varchar2(20) := 'SAPSR3'; --    TS function TABLESPACE_FREESIZE(TN varchar2) return number as si number; begin SELECT round(sum(bytes)/1048576,2) into si from DBA_FREE_SPACE where TABLESPACE_NAME = TN; return SI; end TABLESPACE_FREESIZE; --        ora-1653 procedure create_new_tables as N number; I number; UNABLE_TO_EXTEND EXCEPTION; PRAGMA EXCEPTION_INIT(UNABLE_TO_EXTEND,-1653); BEGIN N:=TBLS.COUNT; N:=N+1; TBLS.extend; TBLS(N):='TESTTABLE'||N; execute immediate 'create table '||USER_SCHEMA||'.'||TBLS(n)||\' (id number(10), USER_NAME varchar2(10), CREATE_DATE date) tablespace '||TABLESPACE_FOR_FULL; WHILE true LOOP begin execute immediate 'alter table '||USER_SCHEMA||'.'||TBLS(n)||' allocate extent'; EXCEPTION when UNABLE_TO_EXTEND then EXIT; end; END LOOP; end create_new_tables; BEGIN -- DBMS_OUTPUT.PUT_LINE( 'Time start: '||TO_CHAR(sysdate, 'DD-MM-YYYY HH24:MI:SS')); SPACE_AVAILABLE:=TABLESPACE_FREESIZE(TABLESPACE_FOR_FULL); DBMS_OUTPUT.PUT_LINE('Space available='||SPACE_AVAILABLE); -- WHILE SPACE_AVAILABLE>0.001 LOOP CREATE_NEW_TABLES(); SPACE_AVAILABLE:=TABLESPACE_FREESIZE(TABLESPACE_FOR_FULL); --  TABLESPACE_FREESIZE   NULL   -  . end LOOP; --   for I in 1..TBLS.COUNT LOOP execute immediate 'drop table '||USER_SCHEMA||\'.'||TBLS(I); end LOOP; DBMS_OUTPUT.PUT_LINE( 'Time end: '||TO_CHAR(sysdate, 'DD-MM-YYYY HH24:MI:SS')); end; 

(рдореИрдВ рдЖрдкрдХреЛ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд▓реИрд╢ "\" рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред "рдмрдирд╛рдПрдБ рддрд╛рд▓рд┐рдХрд╛" рдФрд░ "рдбреНрд░реЙрдк рдЯреЗрдмрд▓" рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВред рд╡реЗ рдЗрд╕рд▓рд┐рдП рд╣реИрдВ рддрд╛рдХрд┐ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рди рдЬрд╛рдПред рдпреБрджреНрдз рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдзреНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдореИрдВ рджреВрд╕рд░реЛрдВ рдХреЛ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ред рдмрд╣реБрдд рдХрд╖реНрдЯрдкреНрд░рдж "рдХрд╛рдлрд┐рд░реЛрдВ" рдХреЗ рд▓рд┐рдП рдмрд╛рдж рдХреА рдЦреЛрдЬ рд╣реИред)

рдлрд┐рд░, рджрд┐рдП рдЧрдП рд╕реНрдерд┐рд░рд╛рдВрдХ TABLESPACE_FOR_FULL рдФрд░ USER_SCHEMA рдореЗрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред
рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдЧрддрд┐ рдореБрдЭреЗ рд╕реВрдЯ рдХрд░рддреА рд╣реИред

 anonymous block completed Time start: 22-10-2013 13:10:10 Space available=827,88 Time end: 22-10-2013 13:10:11 anonymous block completed Time start: 22-10-2013 13:10:27 Space available=10668,75 Time end: 22-10-2013 13:10:46 anonymous block completed Time start: 22-10-2013 13:11:26 Space available=99266,81 Time end: 22-10-2013 13:14:37 


рдмрд╕ 3 рдорд┐рдирдЯ рдореЗрдВ 100 рдЬреАрдмреА рдХреЗ рдиреАрдЪреЗред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдкрдХрд░рдг рдмрд╣реБрдд рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рдЙрдкрдХрд░рдг рдХрдордЬреЛрд░ рд╣реИ рдФрд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЖрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, Tb рдореБрдХреНрдд рд╕реНрдерд╛рди рдПрдХ рдЕрдЬреАрдм рд╕реНрдерд┐рддрд┐ рд╣реИред

рдЕрдВрддрд┐рдо рдЪрд░рдг

рдЕрдм рдСрдЯреЛрдЯреЗрдХреНрд╕реНрдЯреЗрдВрдб рд▓реМрдЯрддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 rman target / 

рдФрд░
 BACKUP VALIDATE database; 


рддрдм v $ database_block_corruption рджреГрд╢реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдл рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ... рдареАрдХ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред

рдЙрдкрд╕рдВрд╣рд╛рд░

рдХреНрдпрд╛ рдХреЛрдИ рдЫреЛрдЯрд╛ рдФрд░ рддреЗрдЬрд╝ рддрд░реАрдХрд╛ рд╣реИ? рдпрд╣ рд╣реЛрдирд╛ рд╣реА рдЪрд╛рд╣рд┐рдПред рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореИрдВрдиреЗ рдкреАрдПрд▓ \ рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рддреАрди рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рдПрд╕рдПрдкреА рдЖрдзрд╛рд░ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реВрдВ, рдбреАрдмреАрдП рдирд╣реАрдВред
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣реА рдХрд╛рдлреА рд╣реИред рд▓реЗрдХрд┐рди рдкреЗрд╢реЗрд╡рд░реЛрдВ рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рджреЗрдЦрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

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


All Articles