linux下rman简单的备份策略及计划任务
2017-08-23 13:24
471 查看
本次演示的是rman备份 及相应的计划任务
--备份的路径如下:
--归档文件备份路径: /datarman/rmanbak/arch/
--控制文件备份路径: /datarman/rmanbak/controlfile/
--数据库文件备份路径:/datarman/rmanbak/dbfile/
--数据库文件备份日志路径:/datarman/rmanbak/dbfile_log/
[oracle@localhost dbrman_scripts]$ chmod u+x delobsolete
[oracle@localhost dbrman_scripts]$ vi delobsolete
run {
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
}
--备份归档日志脚本(每天备份)
[oracle@localhost dbrman_scripts]$ chmod u+x arch
[oracle@localhost dbrman_scripts]$ vi arch
sql 'alter system archive log current' ;
run {
allocate channel a1 type disk FORMAT '/datarman/rmanbak/arch/' ;
backup filesperset 10 format '/datarman/rmanbak/arch/arch_%T_%d_%t_%s_%p' archivelog all delete input;
release channel a1;
}
--数据库0级备份脚本(每周三和周六备份)
[oracle@localhost dbrman_scripts]$ chmod u+x level0
[oracle@localhost dbrman_scripts]$ vi level0
sql 'alter system archive log current' ;
run {
allocate channel a2 type disk ;
backup as compressed backupset incremental level 0 DATABASE filesperset 5 format '/datarman/rmanbak/dbfile/db_%T_%d_%t_%s_%p' ;
release channel a2;
}
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbdel.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbdel.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmandel_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/delobsolete
exit
EOF ---备份归档日志脚本(每天2点备份)
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbarch.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbarch.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanarchback_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/arch
exit
EOF --数据库0级备份脚本(每周三和周六 3点备份 )
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dblev0.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dblev0.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanlevel0_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/arch
@/datarman/rmanbak/dbrman_scripts/level0
exit
EOF
RMAN备份策略
总体策略为 可以恢复到10天内的数据, 周三和周六 为0级备份, 归档日志每天备份--下面为一些备份策略配置:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 10 DAYS; --恢复10天内数据的rman备份 CONFIGURE CONTROLFILE AUTOBACKUP ON; --控制文件自动备份 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/datarman/rmanbak/controlfile/%F'; --控制文件自动目录 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/datarman/rmanbak/controlfile/snapcf_emoss2.f'; --控制文件快照
--备份的路径如下:
--归档文件备份路径: /datarman/rmanbak/arch/--控制文件备份路径: /datarman/rmanbak/controlfile/
--数据库文件备份路径:/datarman/rmanbak/dbfile/
--数据库文件备份日志路径:/datarman/rmanbak/dbfile_log/
以下为备份脚本 (脚本路径:/datarman/rmanbak/dbrman_scripts)
--删除多余和无效备份脚本(每天删除)[oracle@localhost dbrman_scripts]$ chmod u+x delobsolete
[oracle@localhost dbrman_scripts]$ vi delobsolete
run {
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
}
--备份归档日志脚本(每天备份)
[oracle@localhost dbrman_scripts]$ chmod u+x arch
[oracle@localhost dbrman_scripts]$ vi arch
sql 'alter system archive log current' ;
run {
allocate channel a1 type disk FORMAT '/datarman/rmanbak/arch/' ;
backup filesperset 10 format '/datarman/rmanbak/arch/arch_%T_%d_%t_%s_%p' archivelog all delete input;
release channel a1;
}
--数据库0级备份脚本(每周三和周六备份)
[oracle@localhost dbrman_scripts]$ chmod u+x level0
[oracle@localhost dbrman_scripts]$ vi level0
sql 'alter system archive log current' ;
run {
allocate channel a2 type disk ;
backup as compressed backupset incremental level 0 DATABASE filesperset 5 format '/datarman/rmanbak/dbfile/db_%T_%d_%t_%s_%p' ;
release channel a2;
}
相应的shell执行脚本
--删除多余和无效备份脚本(每天1点删除)[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbdel.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbdel.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmandel_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/delobsolete
exit
EOF ---备份归档日志脚本(每天2点备份)
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dbarch.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dbarch.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanarchback_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/arch
exit
EOF --数据库0级备份脚本(每周三和周六 3点备份 )
[oracle@localhost dbrman_scripts]$ chmod u+x emoss2dblev0.sh
[oracle@localhost dbrman_scripts]$ vi emoss2dblev0.sh
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NAME=`date -d now +%F`
$ORACLE_HOME/bin/rman target / nocatalog log=/datarman/rmanbak/dbfile_log/emoss2dbrmanlevel0_$NAME.log<<EOF
@/datarman/rmanbak/dbrman_scripts/arch
@/datarman/rmanbak/dbrman_scripts/level0
exit
EOF
计划任务
[oracle@localhost dbrman_scripts]$ crontab -e 0 1 * * * /datarman/rmanbak/dbrman_scripts/emoss2dbdel.sh 0 2 * * * /datarman/rmanbak/dbrman_scripts/emoss2dbarch.sh 0 3 * * 3,6 /datarman/rmanbak/dbrman_scripts/emoss2dblev0.sh
相关文章推荐
- linux下rman简单的备份策略及计划任务
- PHP之Linux(十)计划任务与备份策略
- linux 计划任务 数据库rman全备份
- Win2008下expdp和rman备份策略及计划任务配置
- 基于Linux下 Oracle 备份策略(RMAN)---转自沙弥的世界
- 计划任务执行rman备份
- Linux系统文件的归档与备份与计划任务配合使用
- Linux下svn服务器的安装与配置-备份-恢复-计划任务
- 基于Linux下 Oracle 备份策略(RMAN)
- 基于Linux下 Oracle 备份策略(RMAN)
- linux下进行数据备份和计划任务练习题
- linux周期性任务计划 at及cron的简单总结
- Oracle 定时自动备份(windows任务计划,2016新增linux自动化备份)
- 基于Linux下 Oracle 备份策略(RMAN)
- ORACLE windows服务器断电重启后计划任务变更导致rman备份中断
- 基于Linux下 Oracle 备份策略(RMAN)
- 基于Linux下 Oracle 备份策略(RMAN)
- linux下创建expdp备份的计划任务
- 基于Linux下 Oracle 备份策略(RMAN)
- Linux下SVN服务器的安装与配置-备份-恢复-计划任务