【rman,1】经典案例增量备份
2024-10-15 22:51:38
一.备份策略:
1.星期天晚上 -level 0 backup performed(全备份)
2.星期一晚上 -level 2 backup performed
3.星期二晚上 -level 2 backup performed
4.星期三晚上 -level 1 backup performed
5.星期四晚上 -level 2 backup performed
6.星期五晚上 -level 2 backup performed
7.星期六晚上 -level 2 backup performed
假设星期二须要恢复的话,仅仅须要1+2,
假设星期四须要恢复的话,仅仅须要1+4,
假设星期五须要恢复的话,仅仅须要1+4+5,
假设星期六须要恢复的话,仅仅须要1+4+5+6.
自己主动备份:备份脚本+crontab
bakl0
bakl1
bakl2
二.运行的脚本:
1.运行脚本:
rman target / msglog=bakl0.log cmdfile=bakl0 (/表示须要连接的目标数据库,msglog表示日志文件,cmdfile表示的是脚本文件)
rman target / msglog=bakl1.log cmdfile=bakl1
rman target / msglog=bakl2.log cmdfile=bakl2
实例:rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0
完整的命令:/u01/oracle/product/10.2.0/bin/rman target system/oracle@ora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0
2.编写rman备份脚本:
0级备份脚本:
把备份脚本放到/u01/rmanbak/script文件夹以下,vi bakl0,bakl0的内容为:
run{
allocate channel cha1 type disk;
backup
incremental level 0
format '/home/oracle/rmanbackup/inc0_%u_%T'(u表示唯一的ID,大T是日期。小t是时间)
tag monday_inc0 //标签能够顺便起,没关系
database plus archivelog delete input;
release channel cha1;
}
1级备份脚本:
run{
allocate channel cha1 type disk;
backup
incremental level 1
format '/home/oracle/rmanbackup/inc1_%u_%T'(u表示唯一的ID,大T是日期,小t是时间)
tag monday_inc1 //标签能够顺便起,没关系
database plus archivelog delete input;
release channel cha1;
}
2级备份脚本:
run{
allocate channel cha1 type disk;
backup
incremental level 2
format '/home/oracle/rmanbackup/inc2_%u_%T'(u表示唯一的ID,大T是日期,小t是时间)
tag monday_inc2 //标签能够顺便起。没关系
database plus archivelog delete input;
release channel cha1;
}
3.编写调用rman脚本的shell脚本:
调用0备份的shell脚本 rmanbak0.sh为:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl0 msglog=/home/oracle/bakl0.log
调用1备份的shell脚本 rmanbak0.sh为:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl1 msglog=/home/oracle/bakl0.log
调用2备份的shell脚本 rmanbak0.sh为:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/11.2.0/db_home_1/bin/rman target / nocatalog cmdfile=/home/oracle/script/bakl2 msglog=/home/oracle/bakl0.log
4.编写Linux定时任务运行自己主动备份
[root@gc2 ~]#crontab -e -u oracle(该命令的意思是编辑oracle用户的定时运行(-e,edit -u oracle,oracle用户))
分 时 日 月 星期(0代表星期天)
45 23 * * 0 /home/oracle/script/rmanbak0.sh(星期天的23:45会以oracle用户的身份来运行命令)
45 23 * * 1 /home/oracle/script/rmanbak2.sh
45 23 * * 2 /home/oracle/script/rmanbak2.sh
45 23 * * 3 /home/oracle/script/rmanbak1.sh
45 23 * * 4 /home/oracle/script/rmanbak2.sh
45 23 * * 5 /home/oracle/script/rmanbak2.sh45 23 * * 6 /home/oracle/script/rmanbak2.sh
或者(用于測试):
使用oracle用户加入例行任务:
crontab -e
新打开的窗体中加入一下内容:
0 24 * * * /home/oracle/bin/rmanbak0.sh
(*/3 * * * * /home/oracle/bin/rmanbak0.sh)
注。括号内的能够是做測试的时候用的,每三分钟运行一次备份。例为每天凌晨24点运行备份
#然后启动crontab ,启动crontab的命令:
[root@gc2 ~]# service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
#监控定时任务是否运行
[root@gc2 ~]# tail -f /var/log/cron
Mar 10 21:28:04 gc2 crond[4435]: (CRON) STARTUP (V5.0)
Mar 10 21:30:01 gc2 crond[4445]: (root) CMD (/usr/lib/sa/sa1 1 1)
Mar 10 21:39:08 gc2 crond[4486]: (CRON) STARTUP (V5.0)
版权声明:本文博客原创文章,博客,未经同意,不得转载。
最新文章
- fiddler抓取手机数据包
- window date type
- 剑指offer题目11-20
- 华东师大OJ:IP Address【IP地址转换】
- Shell学习笔记 - 循环语句
- iptables 代理设置
- python seq
- Linux Shell编程学习笔记
- Linq to object 技巧、用法集锦
- VS2010 rdlc 被除数为0 显示错误号
- ZooKeeper 权限管理
- python笔记:#005#算数运算符
- 【c#】RabbitMQ学习文档(一)Hello World
- bootstrap学习: 基本组件以及布局;
- laravel——ajax分页&;删除&;搜索
- springboot启动的时候日志缺少Mapping日志等
- Numpy Ndarray对象
- JavaScript 设计模式的七大原则(未完成)
- Codeforces 995 E - Number Clicker
- Intellij IDEA《十分钟,配置struts2》by me
热门文章
- CentOS Kernel Source Install
- 【Java&;Android开源库代码剖析】のAndroid-Universal-Image-Loader-part1
- cf-#189-div 2
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- poj 1198 hdu 1401 搜索+剪枝 Solitaire
- 深入了解java同步、锁紧机构
- phantomjs,selenium,pyv8,pythonwebkit,,,,,,,,,,,,,
- 在maven仓库中查找jar
- SWT的CheckBoxTreeView的上级菜单与下级菜单的选中的实现
- Bitmap