oracle基础~rman基础

 
一 须知
   1 若数据库开启归档,则数据库支持open状态进行RMAN备份,但此时的备份为非一致性备份,即在恢复时,需要使用到归档redo日志,才能使数据库恢复到一致性状态 
   2 备份数据的有效期在于备份结束的时候,之前的数据都可以进行恢复 可以理解成xtrabackup
   3  一次全量+归档日志的备份,归档日志的备份意义有两点  1 是删除线上的相应归档 减少磁盘占用 2 是为下次全量备份提供基于时间点的恢复, 我们可以理解成binlog
   4 rman基于时间点的恢复原理就是 1 先恢复全量备份 2 解析相应的归档日志 找到时间点以前 全量备份以后所需要的全量归档日志 3 并行应用全量的归档日志
   5 rman的catalog数据库是存储相关备份和还原信息的相关数据库 会在目标数据库创建专用库,不过现实中大多采用nocatalog数据库,将信息直接写入控制文件中
三 .常用典型备份选项
   1)FORMAT:指定备份片段的存放路径和命名规则
    BACKUP  FORMAT '/u01/app/oracle/oradata/enmo1/AL_%d/%t/%s/%p'   ARCHIVELOG LIKE '%arc_dest%';
    其中:%U获得系统分配的一个唯一名;%d为DB_NAME;%t备份设置的时间戳;%s为备份设置的编号;%p为备份片段编号。
   2)TAG:给备份片段指定一个标签,若不指定,则系统自动生成一个随机唯一标签。标签在备份原数据中总是以大写方式存储。这里指备份集的标签 一个RMAN可以存储多个备份集 ,取标签用以区分不同的备份集
四 增量备份
  1 需要0级数据文件镜像作为基础,并且这些镜像需要定义标签。
   2 定期备份期间,1级差异增量备份的标签需要和0级数据文件镜像的标签一致。通过BACKUP FOR RECOVER OF COPY命令可以指定一个只备份从上一个相同标签的备份以来发生数据块改变的增量备份。
五 常用命令
   0  
      1 crosscheck 凡是涉及到此命令 都是对于RMAN已有备份集合的元数据管理,查看磁盘是否有 如果没有 将备份集至于 expired
      2  删除标记
        expired 管理元信息  对于EXPIRED状态,与crosscheck命令是密切相关的,
        1 crosscheck expired  更新 检查备份是否存在于备份介质上, 如果不存在,则状态由AVAILABLE改为EXPIRED。
       2  delete expired删除的是那些本来RMAN以为存在但是实际上在磁盘或者磁带上已经被删除了的信息,删除的只是RMAN资料库中的记录;
        obsolete 超过了这个保留策略的备份,会被标记为obsolete,但其状态依旧为AVAILABLE
       1  report obsolete来查看已废弃的备份。
       2  delete obsolete则删除旧于备份保留策略定义的备份数据同时也更新RMAN资料库以及控制文件
     3 列出备份元信息
        list backup // of (database,spfile,controlfile,)
  3 说明
  backup database plus archivelog delete input
  backup database 是备份 数据文件 控制文件 启动文件(如果RMAN配置了参数 控制和启动文件才会进行备份 同时backup database的时候就会引起日志切换,保证一致性)
  plus archivelog 是在线日志进行归档 最后备份
  delete input rman删除 oracle中已经备份的归档日志  
  rman虽然设置有备份保留策略,但是并不会主动删除,需要利用RMAN脚本执行delete obsolete
 

原文地址:https://www.cnblogs.com/danhuangpai/p/14475908.html