рдУрд░реЗрдХрд▓ рд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ рдпрд╛ рдмреИрдХрдЕрдк рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ

рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдЖрд░рдПрд╕реА рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред рдХрд╛рд░реНрдп, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд╛рдлреА рддреБрдЪреНрдЫ рд╣реИ, рдЕрдЧрд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рдирд╣реАрдВ рд╣реИ: рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рдХреБрд▓рддрд╛ рд╣реИ (рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдФрд░ рд╕рдордЭ рд╕реЗ рдирд╣реАрдВ), рдЧреНрд░рд╛рд╣рдХ рдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рдбреАрдмреАрдП рдирд╣реАрдВ рд╣реИ (рдареАрдХ рд╣реИ, рдРрд╕рд╛ рд╣реБрдЖ) рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХрдВрд╕реЛрд▓ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ рдбреЗрдЯрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореБрдЭреЗ рдПрдХ рд╕реБрдВрджрд░ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдмреИрдВрд▓ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдкрдбрд╝рд╛ред рдФрд░ рдлрд┐рд░ рдПрдХ рд░реЛрдбрд╝рд╛ рдерд╛ред

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

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

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЕрдиреБрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдордЬрд╝реЗрджрд╛рд░ рдирд┐рдХрд▓рд╛ред

рдкрд╣рд▓реА - рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ (RMAN рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдПрдХ рджреЗрдВ)ред

 /u01/app/oracle/rman_backup/backup.rmn 
RUN { BACKUP SPFILE FORMAT '+FRA/racdb/backupset/spfile_%d_%s_%T' DATABASE INCLUDE CURRENT CONTROLFILE FORMAT '+FRA/racdb/backupset/data_%d_%s_%T' ARCHIVELOG ALL FORMAT '+FRA/racdb/backupset/arc_%d_%s_%T'; BACKUP DEVICE TYPE DISK FORMAT '/backup/data_%d_%s_%T_%U' BACKUPSET COMPLETED AFTER 'SYSDATE - 1/24'; CROSSCHECK BACKUP; CROSSCHECK BACKUPSET; CROSSCHECK ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED ARCHIVELOG ALL; DELETE NOPROMPT EXPIRED BACKUP; DELETE NOPROMPT OBSOLETE; }

 /u01/app/oracle/rman_backup/run_backup.sh #!/bin/bash /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target / cmdfile=$* 

рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ (run_backup.sh рдФрд░ backup.rmn) рдХреЛ рд╕рднреА рдЙрдкрд▓рдмреНрдз рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдореЗрдВ рдПрдХ рд╣реА рдкрде (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ - / u01 / app / oracle / rman_backup /) рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ rman рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдорд╛рд░реНрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд┐рд░ рджрд┐рд▓рдЪрд╕реНрдк рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд╣рддреЗ рд╣реИрдВред
 $ sqlplus / as sysdba SQL> create or replace directory bkp_dir as '/u01/app/oracle/rman_backup/'; 

рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреАрдВрдЪреЗрдВрдЧреЗ рдФрд░ рдЙрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред
 $ sqlplus / as sysdba SQL> create user bkp identified by rmanbkp; SQL> grant connect to bkp; SQL> grant create table to bkp; SQL> grant create procedure to bkp; SQL> grant create type to bkp; SQL> grant create job to bkp; SQL> grant read, write, execute on directory bkp_dir to bkp; 

рд╣рдо рдПрдХ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рдмреИрдХрдЕрдк рдЪрд▓рд╛рдирд╛ рд╣реИред
 SQL> connect bkp/rmanbkp SQL> create table bkp ( 2 line varchar2(255) 3 ) 4 organization external ( 5 type oracle_loader 6 default directory BKP_DIR 7 access parameters ( 8 records delimited by newline 9 preprocessor BKP_DIR:'run_backup.sh' 10 fields terminated by ';' ldrtrim 11 reject rows with all null fields 12 ) 13 location ('backup.rmn') 14 ) 15 reject limit unlimited; 

рдлрд┐рд░ - рднрдВрдбрд╛рд░рдг, рдЬреЛ рдЕрдиреБрд╕реВрдЪреА рдкрд░ рдЪрд┐рдХреЛрдЯреА рджреЗрдЧрд╛ (рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рдЬрд╣рд╛рдВ рд╕рдлрд▓рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдбреАрдмреАрдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╕реВрдЪрдирд╛ рджреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдкрддреЗ рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝реА рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ)ред
 SQL> create or replace procedure run_backup is 2 arrBackupLog backup_log; 3 4 cursor curBackupErrorsExist is 5 select 1 from dual 6 where exists ( 7 select 1 from table (arrBackupLog) 8 where column_value like 'RMAN-%' 9 ); 10 11 nDummy number(1); 12 bErrorsFound boolean; 13 begin 14 -- run weekly rman backup script 15 select line 16 bulk collect into arrBackupLog 17 from bkp; 18 -- report backup 19 open curBackupErrorsExist; 20 fetch curBackupErrorsExist into nDummy; 21 bErrorsFound := curBackupErrorsExist%found; 22 close curBackupErrorsExist; 23 24 if bErrorsFound then 25 dbms_output.put_line ('BACKUP FAILED'); 26 else 27 dbms_output.put_line ('BACKUP SUCCEEDED'); 28 end if; 29 end run_backup; 30 / 

рдФрд░, рдЕрдВрдд рдореЗрдВ, рдиреМрдХрд░реА, рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рдВрд░рдХреНрд╖рдХ рдХреЛ рдЦреАрдВрдЪ рд▓реЗрдЧреАред
 SQL> begin 2 dbms_scheduler.create_job ( 3 job_name => 'DAILY_BACKUP' 4 , job_type => 'STORED_PROCEDURE' 5 , job_action => 'run_backup' 6 , start_date => systimestamp 7 , repeat_interval => 'FREQ=DAILY;BYHOUR=04;BYMINUTE=0;BYSECOND=0' 8 , comments => 'Run daily RMAN backup' 9 , enabled => true 10 ); 11 end; 12 / 

рдРрд╕реА рдмрд╛рддред рдУрд░реЗрдХрд▓, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗред

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИред
Oracle┬о рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ, 11 рдЬреА рд░рд┐рд▓реАрдЬрд╝ 2 (11.2)
рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдПрдХреНрд╕рдЯрд░реНрдирд▓ рдЯреЗрдмрд▓, рдЕрд░реВрдк рдирдВрджрд╛
Oracle рдбреЗрдЯрд╛рдмреЗрд╕ 11g рд░рд┐рд▓реАрдЬрд╝ 2 рдореЗрдВ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░ рдлрд╝реАрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

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


All Articles