linux下rman简单的备份策略及计划任务
2016-01-05 17:09
423 查看
本次演示的是rman备份 及相应的计划任务
--下面为一些备份策略配置:
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/
--备份归档日志脚本(每天备份)
--数据库0级备份脚本(每周三和周六备份)
----备份归档日志脚本(每天2点备份)
--数据库0级备份脚本(每周三和周六 3点备份 )
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
相关文章推荐
- TLCL学习总结
- linux虚拟文件系统proc
- 【初级】linux mkdir 命令详解及使用方法实战
- linux平台常用压缩和解压缩命令
- CentOS 7 添加用户
- linux下导入、导出mysql数据库命令
- 每天一个linux命令---导出到文件
- OK335xS Linux kernel check clock 24M hacking
- centos DHCP server
- linux 延时及时间函数总结
- linux内核中增加驱动模块
- Linux服务器操作系统如何选择
- linux系统中的root超级权限的控制
- 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记
- linux卸载软件
- nagios nrpe监控Linux
- Centos 升级python
- Linux中断(interrupt)子系统之二:arch相关的硬件封装层
- linux下的交换分区swap
- Linux中断(interrupt)子系统之一:中断系统基本原理