rman备份的基本知识

1、  检查数据库模式
SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     95
Current log sequence           97

制定归档路径,并修改数据库归档模式

   startup mount
   alter database archivelog
   alter database open

2、连接到target数据库
rman target /  ( 如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库)

3、常用的备份命令
 备份全库:
RMAN> backup database plus archivelog delete input;     (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)
备份表空间:
RMAN> backup tablespace system plus archivelog delete input;     (备份指定表空间及归档的重做日志,并删除旧的归档日志,如果我们不知道tablespace的名字,在rman中,可要通过report schema命令,来查看表空间的名字)
备份归档日志:
RMAN> backup archivelog all delete input;       (备份归档日志,并删除旧的归档日志)
在允许的情况下,修改并行通道,加速备份
RMAN> configure device type disk parallelism 3;   --将并行度改为3

 查看备份的具体信息
RMAN> list backupset;
备份保留策略:
RMAN> SHOW RETENTION POLICY;(查看已经配置的备份策略)
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default 基于冗余的:一份冗余
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;    (将策略修改成 基于恢复窗口的:30天)
不在备份保留策略里面的  则被视为 obsolete
使用 report obsolete来查看已废弃的备份
使用 delete noprompt obsolete删除废弃的备份
查看备份的具体信息:
RMAN> list backupset;

4、0级,1级,2级增量备份
概念:全备份和0级增量备份几乎是一样的。唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础。

1级增量备份只存储那些自从上次0级或完全备份以来改变了的数据块,如果在此之前已有1级增量备份,
则1级增量备份存储那些自从上次1级备份以来改变了的数据块。
同理2级增量备份只存储那些自从上次0级和1级备份以来改变了的数据块,如果之前有2级增量备份,
则2级增量备份存储那些自从上次2级备份以来改变了的数据块。

备份脚本
0级脚本
vi /home/oracle/rmanbak/shell/level0.sql
   crosscheck backup;//检查备份
   delete noprompt expired backup;//删除失效备份
   delete noprompt obsolete;//删除过期备份
   run{
    allocate channel cha1 type disk;
    allocate channel cha2 type disk;
    backup
    incremental level  0 database
    format '/home/oracle/rmanbak/inc0_%u_%T' (u表示唯一的ID,大T是日期,小t是时间)
    include current controlfile   //备份控制文件
    tag level0 ;//标签自定义
    sql 'alter system archive log current';   //备份归档日志前,切换下归档日志
    backup archivelog all format '/home/oracle/rmanbak/log_%u_%T';
    release channel cha1;
    release channel cha2;
   }

同理1级、2级备份的脚本写好level1,level2的脚本

自动备份
crontab
使用oracle用户执行crontab -e
[oracle@redhat4 ~]$ crontab -e

分  时  日 月 星期(0代表星期天)
 0    1   *  *    0    rman target / msglog=/home/oracle/rmanbak/log/bak0.log cmdfile=/home/oracle/rmanbak/shell/level0.sql(星期天凌晨1点oracle会来执行备份命令)
 0      *  *    1    rman target / msglog=/home/oracle/rmanbak/log/bak2.log cmdfile=/home/oracle/rmanbak/shell/level2.sql
 0    1   *  *    2    rman target / msglog=/home/oracle/rmanbak/log/bak2.log cmdfile=/home/oracle/rmanbak/shell/level2.sql
 0      *  *    3    rman target / msglog=/home/oracle/rmanbak/log/bak1.log cmdfile=/home/oracle/rmanbak/shell/level1.sql
 0      *  *    4    rman target / msglog=/home/oracle/rmanbak/log/bak2.log cmdfile=/home/oracle/rmanbak/shell/level2.sql
 0      *  *    5    rman target / msglog=/home/oracle/rmanbak/log/bak2.log cmdfile=/home/oracle/rmanbak/shell/level2.sql
 0      *  *    6    rman target / msglog=/home/oracle/rmanbak/log/bak2.log cmdfile=/home/oracle/rmanbak/shell/level2.sql


以上就是RMAN一周典型备份方案

1.星期天凌晨      -level 0 (全备份)
2.星期一凌晨      -level 2 
3.星期二凌晨      -level 2 
4.星期三凌晨      -level 1 
5.星期四凌晨      -level 2 
6.星期五凌晨      -level 2
7.星期六凌晨      -level 2 

 
恢复:
如果星期二需要恢复的话,只需要星期天+星期一+星期二
如果星期四需要恢复的话,只需要0+1+4,
如果星期五需要恢复的话,只需要0+1+4+5,
如果星期六需要恢复的话,只需要0+1+4+5+6.


最后启动crontab ,启动crontab的命令:
root> service crond restart

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27500440/viewspace-1136532/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27500440/viewspace-1136532/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值