现在需求是 周1至周六 每天12点,24点,分别进行增量备份
周日 24点进行 全备份。。
望高手指点~~~~
周日 24点进行 全备份。。
望高手指点~~~~
解决方案 »
- Oracle 字符串缓冲区太小
- 求教一个树形查询+聚合的sql,很难,求高手
- 免费版的64为orcale从哪里下载?
- TNS-00538: Message 538 not found
- trigger 不用for each row时,如何求new表中的记录数
- 关于blob字段的全文检索不能搜索出中文的问题
- 新手安装数据库
- 同义词的表在存储过程编译时报错:table or view does not exist
- 关于数据转出的问题。
- 这种问题sql语句怎么写?用oracle 谢谢
- (急急急)为何在PL/SQL Developer建立的表到Oracle Enterprise Manager相应的用户下看不到啊???
- DBMS O90 Oracle9i(9.0.1) is not supported in your current installation.
实现的功能是一周一次全备,其他是增量备份. 根据实际情况需要特别关注的地方都标了红.
@set ORACLE_HOME=E:\oracle92\ora92
@rem echo %ORACLE_HOME%
@set ORACLE_SID=myldrk
@rem echo %ORACLE_SID%
@set NLS_LANG=utf8
@rem echo %NLS_LANG%
@set PATH=%ORACLE_HOME%\bin
@rem echo %PATH%
@set RMAN=%ORACLE_HOME%\bin\rman.exe
@set MONTH=%date:~0,10%
@set BACKUP_DIR=E:\BACKUP\%MONTH%
@IF NOT EXIST %BACKUP_DIR% (
mkdir %BACKUP_DIR%
)@set RQ=%date:~0,10%
@set RMAN_LOG_FILE=%BACKUP_DIR%\rman_%RQ%.log@rem echo %RMAN_LOG_FILE%
@set TARGET_CONNECT_STR=ldrk2/ldrk2@ldrkps
@set DAY=%date:~13,14%
@REM 0级备份就是进行全库备份,level 1就是备份level 0后改变的数据,level 2就是备份level 1或level 0后改变的数据
@REM 如果前一个备份是level 1那么就备份这之后修改的数据,如果前个备份是level 0那么就备份level 0后的数据
@echo ==== started on %DATE% ==== >>%RMAN_LOG_FILE%
@set BACKUPTYPE=incremental level 2 database
@set >
@if "%DAY%" EQU "一" (
set BACKUPTYPE=incremental level 0 database
set >set ARCHIVE=L1_%%d_%%T
)@if "%DAY%" EQU "二" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@if "%DAY%" EQU "三" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@if "%DAY%" EQU "四" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@if "%DAY%" EQU "五" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@if "%DAY%" EQU "六" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@echo %DAY%
@if "%DAY%" EQU "日" (
set BACKUPTYPE=incremental level 1 database
set >set ARCHIVE=L1_%%d_%%T
)@REM backup format 'e:\backup\dbL0_%d_%T.arc' archivelog all delete input;
@rem echo backup %BACKUPTYPE% include current controlfile;
@rem echo sql "ALTER SYSTEM ARCHIVE LOG CURRENT";@(
echo run {
echo allocate channel Channel1 type disk format '%BACKUP_DIR%\%NAME%';
echo backup %BACKUPTYPE% include current controlfile;
echo sql "ALTER SYSTEM ARCHIVE LOG CURRENT";
echo backup format '%BACKUP_DIR%\%ARCHIVE%' archivelog all delete input;
echo backup current controlfile format '%BACKUP_DIR%\ctl_%d_%T_%s';
echo release channel Channel1;
echo }
) | %RMAN% target %TARGET_CONNECT_STR% nocatalog msglog '%RMAN_LOG_FILE%'@set ERRLEVEL=%ERRORLEVEL%@if %ERRLEVEL% NEQ 0 @goto err@set LOGMSG="备份成功!!"@goto end:err
@set LOGMSG="备份失败,请重试!!!":end@echo # >> %RMAN_LOG_FILE%
@echo ==== %LOGMSG% on %DATE% ==== >> %RMAN_LOG_FILE%
@endlocal
@REM End of Main Program -----------------------------------------------------