rman命令详解(三)
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命令详解(三)的更多相关文章
- RMAN命令详解和常用汇总
RMAN命令详解和常用汇总转摘汇集,日后使用本文链接:https://blog.csdn.net/EVISWANG/article/details/50448370http://blog.itpub. ...
- Oracle rman 命令详解
一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation; list ba ...
- Linux命令详解 三
Linux用户和组的属性与权限本章结构1.用户账号和组账号概述2.用户账号和组账号管理3.查询账号信息4.查看目录或文件的属性5.设置目录或文件的权限6.设置目录或文件的归属 前言在linux中一切都 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- linux awk命令详解
linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
- scp命令详解
\ svn 删除所有的 .svn文件 find . -name .svn -type d -exec rm -fr {} \; linux之cp/scp命令+scp命令详解 名称:cp 使用权限: ...
随机推荐
- 洛谷P2661 信息传递==coedevs4511 信息传递 NOIP2015 day1 T2
P2661 信息传递 题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学. 游戏开始时,每人都只知 ...
- elasticsearch从入门到出门-03-多种搜索
1.query string search 2.query DSL 3.query filter 4.full-text search 5.phrase search 6.highlight sear ...
- springboot工程自动生成工具
1 springboot工程自动生成网址 http://start.spring.io/ 2 工具 Spring Boot CLI
- 【python】-- 协程介绍及基本示例、协程遇到IO操作自动切换、协程(gevent)并发爬网页
协程介绍及基本示例 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是协程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他 ...
- 6.让ORM映射执行的时候打印SQL语句
配置Django日志:\hello_django\hello_django\settings.py 文件中的 LOGGING 加入如下配置: LOGGING = { 'version': 1, 'di ...
- spark在yarn-cluster上面执行报错
在单机模式下执行成功的spark程序,在yarn上面就报错.异常信息如下: // :: INFO DAGScheduler: Completed ResultTask(, ) // :: INFO D ...
- spring-cloud 实现更新配置不用重启服务 @FreshScope
继续前面搭建的spring cloud. 这里是基于rabbitMQ搭建的,首先需要在电脑上安装rabbitMQ. 在client端和server端分别加上如下依赖 compile group: 'o ...
- Spark Structured Streaming框架(5)之进程管理
Structured Streaming提供一些API来管理Streaming对象.用户可以通过这些API来手动管理已经启动的Streaming,保证在系统中的Streaming有序执行. 1. St ...
- android 电池(三):android电池系统【转】
本文转载自:http://blog.csdn.net/xubin341719/article/details/8709838 一.电池系统结构 Android中的电池使用方式主要有三种:AC.USB. ...
- hiho一下 第四十九周 题目1 : 欧拉路·一【无向图 欧拉路问题】
题目1 : 欧拉路·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho最近在玩一个解密类的游戏,他们需要控制角色在一片原始丛林里面探险,收集道具,并找到最 ...