1. Report 命令
用户判断数据库的当前可恢复状态和提供数据库备份的特定信息
1.1 指定最近没有备份的数据文件
查询3天内没有备份过的表空间,可以用如下命令:
RMAN> report need backup days=3;
1.2 报告备份冗余或恢复窗口
可以用report need backup redundancy 命令来确定为满足备份冗余策略而需要备份的数据文件。
RMAN> report need backup redundancy =4;
RMAN> report need backup recovery window of 2 days;
1.3 报告数据文件的不可用恢复操作
如果对于表空间中对象和组成这些表空间的数据文件执行了某些不可恢复操作,那么会导致在恢复的时候出现异常,我们可以用report查看这些不可用的对象。
RMAN> report unrecoverable;
1.4 报告数据库模式(Schema)
这里的Schema指的是数据库的物理结构,包括数据文件名,数据文件号,为这些数据文件指派的表空间,数据文件的大小,以及数据文件是否含有回滚段。
RMAN> report schema;

2. Validate
2.1 效验所有的数据文件和控制文件,如果使用spfile 文件,也会效验。
RMAN> VALIDATE DATABASE; (11g 新特性)
2.2 验证某一个备份集
RMAN> validate backupset 8;
2.3 validate 某一个数据块
RMAN> VALIDATE DATAFILE 1 BLOCK 10;

3. BACKUP ... VALIDATE
backup…validate 命令做如下的效验:
(1) 检查数据文件是否存在物理或者逻辑的坏块
(2) 检查所有的数据文件是否都存在,并且存在正确的位置。
当运行backup validate时,RMAN 会按照正常的备份来读取所有的数据文件。 但是RMAN 不会产生任何的backup sets 和 image copy。
当我们使用backup validate时,不能使用backupset,maxcorrupt,proxy参数。如果想要效验某个指定的备份集,可以使用我们之前讲的validate命令。
3.1如果我们想要效验所有的数据文件和归档日志,可以运行如下命令: ( 只效验物理的损坏 )
RMAN>backup validate database archivelog all;
3.2 既效验物理的损坏,又效验逻辑的坏块
(注意: 如果加上了archivelog all,就必须要有归档文件存在,如果没有归档文件,会报如下错误:rman-20242、rman-03002 )
RMAN>backup validate check logical database archivelog all;

4. List
4.1 查看 backupset 的编号
RMAN> list backup summary;
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
36 B 0 A DISK 11-JUL-13 1 1 NO ORA11GR2_LEVEL0
37 B 0 A DISK 11-JUL-13 1 1 NO ORA11GR2_LEVEL0
39 B A A DISK 11-JUL-13 1 1 NO ARC_BAK
43 B F A DISK 11-JUL-13 1 1 NO TAG20130711T203435
KEY(关键字): 表示备份集序列号
TY(类型)和LV列表示列的备份类型:
B[Backup] 表示备份
F[Full] 表示完全备份
A[Archivelog]
0和1 表示增量备份[Incremental backup]
S 列说明备份的状态: A 表示Available,X 表示Expired.
Device Type: 说明备份的设备是磁带还是磁盘
4.2 按备份类型列出备份
列出数据文件备份,归档日志备份,控制文件和spfile文件备份列出备份信息。
RMAN> list backup by file;
RMAN> list backup of controlfile;
RMAN> list backup of spfile;
4.3 列出到期的备份
RMAN> list expired backup;
RMAN> list expired backup of archivelog all;
4.4 按表空间名和数据文件号列出备份
RMAN> list backup of tablespace users;
RMAN> list backup of datafile 3;
4.5 列出归档日志备份
4.5.1 查看当前存在的归档日志(并不意味着它们已经备份)
RMAN> list archivelog all;
4.5.2 列出归档日志备份
RMAN> list backup of archivelog all;
4.5.2 列出备份中过期的归档
RMAN> list expired backup of archivelog all;
设定时间或日志序列号来限制报告中显示的内容,如:
RMAN> list expired backup of archivelog until sequence 3;
RMAN> list expired backup of archivelog until time "to_date('2013-4-1','yyyy-mm-dd')";
4.6 列出incarnation
RMAN> list incarnation;
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 ORCL 1388303183 PARENT 1 15-AUG-09
2 2 ORCL 1388303183 PARENT 945184 09-OCT-14
3 3 ORCL 1388303183 ORPHAN 2000932 11-DEC-14
。。。
7 7 ORCL 1388303183 CURRENT 3450137 12-MAR-15
Status 列:该列列出的是incarnation的状态 (下面是几个状态值的含义)
Parent:表明对应物是非当前的incarnation
Current:当前的incarnation
ORPHAN:孤立的incarnation, 即在resetlogs命令之后进行恢复
重置SCN(Reset SCN)和重置时间(Reset Time):
说明创建数据库incarnation的时间,这也是第一个条目的Reset SCN为1的原因。 该列对使用resetlogs命令进行恢复有用,并使得能较容易的恢复到前面的incarnation。
注意一点:
使用恢复目录和不使用恢复目录这里的输出在Inc Key 上有差异。

5. crosscheck
5.1检查备份集和实际的文件
备份集有两种状态:
A(Available,RMAN认为该项存在于备份介质上),
X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
说明:当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel。备份策略不会删除过期的备份集,可以使用report obsolete命令查看过期的备份,delete obsolete 命令删除过期的备份。
5.2 交叉验证归档日志示例:
RMAN> crosscheck archivelog all;
补充:假如我们在oracle数据库在迁移当中不小心丢失了一个归档文件, 此时RMAN 会因为缺少归档日志而不能完成备份
解决方法,执行下面2条命令即可: (原理是datafiles都存在,而归档都是记录已经commit的事务,所以数据库是一致的)
RMAN>crosscheck archivelog all; -- 检查控制文件和实际物理文件的差别
RMAN>delete expired archivelog all; -- 同步控制文件的信息和实际物理文件的信息

6. delete
Rman备份中obsolete和expired的区别
obsolete:与retention policy相关,当备份或者副本根据保存策略而被丢弃的时候,就会被标记为该状态。
expired:使用crosscheck对备份进行校验,当备份或者副本被存储在rman目录中,但是并没有物理存在于备份介质上时,就会被标记为该状态;在操作系统层删除备份集后,用crosscheck 检测后就标志为X(expired)。通常指丢失(被删除)的备份。
Delete expired;
Delete obsolete;

7. RESTORE…VALIDATE
RESTORE…VALIDATE命令可以效验备份集中的某个特殊的datafile 或者backupset 能否用来进行restore操作。
必须在数据库mounted 状态或者open状态才可以使用该命令。 当我们效验数据文件时,不需要将datafiles offline。 因为我们效验数据文件时,仅仅从备份集中读取,不会影响生产环境中的数据文件。当我们效验的文件存在磁盘或者磁带上, RMAN 会读取备份片或者image copy中的所有blocks, 以验证这些备份片能否用来进行一个真实的restore操作。
7.1 效验整个数据库和所有归档的命令:
restore controlfile validate;
restore spfile validate;
RESTORE DATABASE VALIDATE;
RESTORE ARCHIVELOG ALL VALIDATE;
--如果出现类似如下的错误,就表示这个备份集不能够用来进行恢复:
RMAN-06026: some targets not found - aborting restore
The following sample output shows that RMAN encountered a problem reading the specified backup:
RMAN-03009: failure of restore command on c1 channel at 12-DEC-06 23:22:30
ORA-19505: failed to identify file "oracle/dbs/1fafv9gl_1_1"
ORA-27037: unable to obtain file status
SVR4 Error: 2: No such file or directory
Additional information: 3
7.2 验证spfile 有效性
RMAN> restore spfile validate;
7.3 验证控制文件
RMAN> restore controlfile validate;
7.4 验证归档有效性
RMAN> restore archivelog all validate;
7.5 单独效验某些归档文件:
RMAN> restore archivelog sequence 54 validate;

8 change
Change 命令允许用户修改备份集的状态。我们可能会遇到备份介质设备在某个时间段中无效的情况(如突然断电)。这时,我们就可以使用change 命令来指示这个设备上的备份是不可用的。解决硬件故障和修复磁盘后,可以再次执行change 命令,将备份改为可用的状态。
也可以将备份修改为不可用的状态。在还原和恢复操作期间,不会考虑哪些不可用的备份,但在执行delete expired命令期间这些备份记录不会被删除。
RMAN> list backup summary;
RMAN> Change backupset 16 unavailable;
RMAN> list backup summary;
RMAN> Change backupset 16 available;

rman命令详解(三)的更多相关文章

  1. RMAN命令详解和常用汇总

    RMAN命令详解和常用汇总转摘汇集,日后使用本文链接:https://blog.csdn.net/EVISWANG/article/details/50448370http://blog.itpub. ...

  2. Oracle rman 命令详解

    一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation;    list ba ...

  3. Linux命令详解 三

    Linux用户和组的属性与权限本章结构1.用户账号和组账号概述2.用户账号和组账号管理3.查询账号信息4.查看目录或文件的属性5.设置目录或文件的权限6.设置目录或文件的归属 前言在linux中一切都 ...

  4. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  5. Hexo系列(三) 常用命令详解

    Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...

  6. linux awk命令详解

    linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

  7. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  8. Linux上的free命令详解、swap机制

    Linux上的free命令详解   解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...

  9. scp命令详解

    \ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解   名称:cp 使用权限: ...

随机推荐

  1. SecureCRT的Home+End+Del键映射

    在securecrt界面:工具 → 键映射编辑器,在弹出的键盘中: 1.点击“home”,会弹出一个窗口,在“发送字符串”中输入:\033[1~ 2.点击“end”,会弹出一个窗口,在“发送字符串”中 ...

  2. [Android]豆瓣FM离线数据

    离线目录结构: /sdcard/Android/data/com.douban.radio下 ./cache/fileCaches: 离线音乐歌词(lyric) ./cache/images: 离线音 ...

  3. 我的Android进阶之旅------>解决 Error: ShouldNotReachHere() 问题

    在Android项目中创建一个包含main()方法的类,直接右键运行该类时会报如下错误: # # An unexpected error has been detected by Java Runti ...

  4. 了解CentOS服务器的基本信息

    简单描述了如何从CPU.内存.硬盘性能.负载方面去了解自己工作的服务器性能.这个很重要,必须了解机器的方方面面才能提高在自己运维工作效率. 一.查看linux服务器cpu详情 查看物理cpu个数: [ ...

  5. ABAP table control例子

    [转自]http://blog.csdn.net/lhx20/article/details/3039909Table control用于在screen上以表格的形式显示数据,在table contr ...

  6. Python 面试题(下)

    接上篇. 网络 1 三次握手 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三路握手的一部分.客户端把这段连接的序号设定为随机数 A. 服务器端应当为一个合法的SYN回送一个SYN/ACK ...

  7. Redis持久化——AOF(二)

    核心知识点: 1.AOF:以独立日志的方式记录写命令,重启时再执行命令.与RDB不同的是解决数据持久化的实时性,可以记录所有写操作. 2.AOF工作流程:写入命令.文件同步.文件重写.文件加载. 3. ...

  8. CAS的实现Atomic类库

    atomic 原子(atomic)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operation)意为"不可被中断的一个或一系列操作".在多 ...

  9. es5严格模式简谈

    一.用法: 在全局或局部开头加上“use strict”即可 就是一行字符串,不会对不兼容严格模式的浏览器产生影响.二.不再兼容es3的一些不规则语法.使用全新的es5规范.三.两种用法: 全局严格模 ...

  10. LISP

    LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用.LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C.Fortran和面向对象的 ...