рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рджрд┐рди рд╣реИред рдореИрдВ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рд┐рдирдХреНрд╕, рд╕реЛрд▓рд╛рд░рд┐рд╕, рдПрдЪрдкреА-рдпреВрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдореИрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдХрдВрдкрдиреА рдореЗрдВ рдЖрдпрд╛ рдерд╛, рдФрд░, рд╕рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рднрдпрднреАрдд рдХрд░ рджрд┐рдпрд╛, рдЬреИрд╕реЗ рдХрд┐, рдХреЗрд╡рд▓ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдмрд▓реНрдХрд┐ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рднреМрддрд┐рдХ рдмреИрдХрдЕрдк рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдЬреАрдд 2003 рд╕рд░реНрд╡рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
- рдкреВрд░реНрдг, рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдФрд░ рдмреИрдХрдЕрдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ 9i рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рд╕реЗ рдХрд┐рд╕реА рднреА рдУрд░реЗрдХрд▓ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рдЕрдзрд┐рдорд╛рдирддрдГ рдЕрдЧрд░ рдпрд╣ рдПрдХ рдПрдХрд▓ рдлрд╝рд╛рдЗрд▓ рд╣реИред
рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ рдХрд┐ рд╕рд╛рдЗрдмрд░рд╡рд┐рди рдпрд╛ рдкрд░реНрд▓ рдХреЛ рд░рдЦрдирд╛, рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдпреВрдирд┐рдХреНрд╕ рдХреА рддрд░рд╣ рдмрдирд╛рдирд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЕрдиреНрдп рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓реЗрдВ рдЖрдПрдВрдЧреАред рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ ms-dos рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдЬреЛ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдЙрд╕рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдХреБрдЫ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдкреИрд░рд╛рдЧреНрд░рд╛рдл 3 рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рдПрдХ рдмреБрд░рд╛ рд╕рдкрдирд╛ рдмрди рдЧрдпрд╛, рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛:
sqlplus "/ as sysdba" << SQL select sysdate from dual; SQL
рдореИрдВрдиреЗ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдЙрдЯрдкреБрдЯ рдЪрд░ рдХреЗ рд▓рд┐рдПред рдЪрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрдЪрд╛рдирдХ рд╕рд╛рдордиреЗ рдЖ рдЧрдИред рдЗрдХреЛ% рдПрдПрдП%% рдПрдПрдП% рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдерд╛ред 10g рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣ рд▓реЙрдЧ рдмреИрдХрдЕрдк рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдкреАрдбрд╝рди рд╣реИред 9i рдХреЗ рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣ рд▓реЙрдЧ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдХреИрдЯрд▓реЙрдЧ рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИ, рдЬрдм рдХрдИ рдмреИрдХрдЕрдк рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рдкреВрд░реНрдг рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде, DEST рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА OLD рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛:
echo off REM version 1.4 REM "rman_Backup_DB.cmd [t|a|d|0-1]" REM 0-1 (0 - ) REM a REM t , sqlplus,rman, DEST REM d , , REM ------------------- --------------------------------- REM set DEST=\\SMB_server\share REM set OLD=%DEST%\OLD set ORACLE_SID=ORCL set ORACLE_HOME=C:\APP\orabase\product\11.2.0\dbhome_1 set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 set NLS_DATE_FORMAT=YYYY.MM.DD HH24.MI.SS REM COMPRESS= 9i ( ) REM 10 =as compressed backupset set COMPRESS=as compressed backupset REM Rman set CONSTRING=target / REM sqlplus set CONSQL="/ as sysdba" REM Rman set RMAN=%ORACLE_HOME%\bin\rman REM SQLPLUS set SQLPL=%ORACLE_HOME%\bin\sqlplus REM set TFILE=%TEMP%\backup_%ORACLE_SID%.tmp REM --------------------------------------------- set ERR=0 set EXEC=%0 %1 if "%EXEC%"=="%0 " goto prov if %1==t goto prov if %1==a goto backarc if %1==d goto delarc echo alter system archive log current; > %TFILE% echo select upper ('posled '),(max (SEQUENCE#)-5) from v$archived_log where DELETED='NO'; >> %TFILE% echo exit >> %TFILE% for /F "tokens=1,2 usebackq " %%1 in (`%SQLPL% %CONSQL% @%TFILE%`) do if %%1==POSLED set SEQN=%%2 IF %1==0 ( move /Y %DEST%\*.BK? %OLD% goto backdb ) IF %1==1 goto backdb :prov echo 1.Testing sqlplus connection echo select 'POSLED ','Test_SQLPLUS_OK' from dual; > %TFILE% echo exit >> %TFILE% for /F "tokens=1,2 usebackq " %%1 in (`%SQLPL% %CONSQL% @%TFILE%`) do if %%1==POSLED set SEQN=%%2 echo Test Complete echo 2.Testing write to destination dir echo 2. Test write on destination dir OK > %DEST%\test_file.txt if ERRORLEVEL 1 ( echo Write Error goto eof ) echo Test Complete echo 3.Testing rman conection echo backup format '%DEST%\test_backup.bak' spfile; > %TFILE% %RMAN% %CONSTRING% @%TFILE% echo Test Complete echo Results: echo 1. %SEQN% type %DEST%\test_file.txt del /q /f %DEST%\test_file.txt if EXIST %DEST%\test_backup.bak ( echo 3. Testing rman OK del /q /f %DEST%\test_backup.bak ) ELSE ( echo 3. Test RMAN failed ) goto eof :delarc echo crosscheck archivelog all; > %TFILE% echo delete FORCE NOPROMPT archivelog all; >> %TFILE% %RMAN% %CONSTRING% @%TFILE% echo *********************************************************** echo *** Do not forget to do FULL BACKUP OF THE DATABASE !!! *** echo *********************************************************** goto eof :backdb echo run { > %TFILE% echo sql 'alter system archive log current'; >> %TFILE% echo sql 'alter system checkpoint'; >> %TFILE% echo allocate channel d1 type disk; >> %TFILE% echo set limit channel d1 kbytes 4000000; >> %TFILE% echo backup %COMPRESS% incremental level %1 skip inaccessible filesperset 1 format '%DEST%\%%d_%%T_%%U.bkd' database include current controlfile; >> %TFILE% echo sql 'alter system checkpoint'; >> %TFILE% echo sql 'alter system archive log current'; >> %TFILE% echo backup %COMPRESS% filesperset 40 format '%DEST%\%%d_%%T_%%U.bka' archivelog from sequence %SEQN% ; >> %TFILE% echo backup format '%DEST%\%%d_%%T_%%U.bkc' current controlfile; >> %TFILE% echo backup format '%DEST%\%%d_%%T_%%U.bks' spfile; >> %TFILE% echo } >> %TFILE% %RMAN% %CONSTRING% @%TFILE% set /a ERR=%ERR%+%ERRORLEVEL% :backarc echo %COMPRESS%|findstr compressed if ERRORLEVEL 1 ( echo alter system archive log current; > %TFILE% echo set feedback off pagesize 0 heading off verify off linesize 200 trimspool off >> %TFILE% echo spool %TFILE%.bat >> %TFILE% echo select 'move /Y '^|^|name^|^|' %DEST%' from v$archived_log where DEST_ID=1 and STATUS='A'; >> %TFILE% echo spool off >> %TFILE% echo exit >> %TFILE% %SQLPL% %CONSQL% @%TFILE% call %TFILE%.bat set /a ERR=%ERR%+%ERRORLEVEL% echo crosscheck backup; > %TFILE% echo crosscheck archivelog all; >> %TFILE% echo DELETE FORCE NOPROMPT EXPIRED backup; >> %TFILE% %RMAN% %CONSTRING% @%TFILE% ) else ( echo crosscheck backup; > %TFILE% echo crosscheck archivelog all; >> %TFILE% echo DELETE FORCE NOPROMPT EXPIRED backup; >> %TFILE% echo sql 'alter system checkpoint'; >> %TFILE% echo sql 'alter system archive log current'; >> %TFILE% echo backup %COMPRESS% filesperset 40 format '%DEST%\%%d_%%T_%%U_all.bka' archivelog all delete input; >> %TFILE% echo backup format '%DEST%\%%d_%%T_%%U.bkc' current controlfile; >> %TFILE% %RMAN% %CONSTRING% @%TFILE% ) set /a ERR=%ERR%+%ERRORLEVEL% :eof exit /b %ERR%
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдВрдХ