RMAN-06172 Troubleshooting
今天在RMAN还原测试过程中,遇到了"RMAN-06172: no autobackup found or specified handle is not a valid copy or piece"这个错误,如下所示:
RMAN> restore spfile to pfile "/u01/app/oracle/product/10.2.0/db_1/dbs/initSCM2.ora"
from "/u04/backup/backupsets/ora_cfc-4095319980-20180327-00";
Starting restore at 28-MAR-18
using channel ORA_DISK_1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/28/2018 14:20:12
RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
当然,此处是还原参数文件,其实还原控制文件或其它数据文件都会遇到这个错误,关于这个错误,官方解释为:
Versions 11.1, 11.2, 12.1
Error: RMAN-06172 no AUTOBACKUP found or specified handle is not a valid copy or piece
---------------------------------------------------------------------------
Cause: A restore could not proceed because no AUTOBACKUP was found or
specified handle is not a valid copy or backup piece. In case of
restore from AUTOBACKUP, it may be the case that a backup exists, but
it does not satisfy the criteria specified in the user's restore
operands. In case of restore from handle, it may be the handle is not a
backup piece or control file copy. In may be that it does not exist.
Action: Modify AUTOBACKUP search criteria or verify the handle.
Versions 9.2, 10.1, 10.2
Error: RMAN-06172 no autobackup found or specified handle is not a valid copy or piece
---------------------------------------------------------------------------
Cause: A restore could not proceed because no autobackup was found or
specified handle is not a valid copy or backup piece. In case of
restore from autobackup, it may be the case that a backup exists, but
it does not satisfy the criteria specified in the user's restore
operands. In case of restore from handle, it may be the handle is not a
backup piece or controflile copy. In may be that it does not exist.
Action: Modify autobackup search criteria or verify the handle.
导致RMAN-06172错误的原因如上,但是引起这个错误的场景非常多, 个人总结了一下,大概可以从下面几个方面去判别、分析:
1:备份集过期或备份文件不存在
RMAN> list backup of controlfile;
RMAN> list backup of spfile;
如果备份集文件不存在,那么肯定会报这个错误,另外backuppiece过期了,那么上面命令就会显示spfile或controlfile过期(expired),此时需要运行类似下面命令来解决问题。
RMAN> crosscheck backup of controlfile;
备份集有两种状态A(Available,RMAN认为该项存在于备份介质上);X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
crosscheck backup 命令的目的是检查RMAN的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。
如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck backup将把状态重新从Expired标记回Available。
还有一种情况是从自动备份还原出现RMAN-06172错误。这个是因为备份集不存在了,也可以通过list backup of xxx查看确认。
RMAN> restore spfile from autobackup;
2:RMAN通道(CHANNEL)配置不正确
参考官方文档:Restore of controlfile autobackup using LiteSpeed (tape) fails with RMAN-06172 (文档 ID 2021758.1)
原因分析:
LiteSpeed requires a tape channel to be allocated. A disk channel will not work even though when using LiteSpeed you can see the controlfile backup on disk. If a 'list backup of controlfile" shows the backup as on tape, a tape channel must be allocated.
LiteSpeed
需要分配一个磁带通道。 即使使用LiteSpeed,磁盘通道也不起作用,您可以在磁盘上看到控制文件备份。 如果“控制文件的列表备份”将备份显示为磁带上,则必须分配磁带通道。
解决方案:
Use a run block with a tape channel allocation:
run {
allocate channel dev device type 'sbt_tape';
restore controlfile from '<full path/file name to controlfile backup>';
release channel dev;
}
3:Media Manager安装错误
参考官方文档Cannot restore controlfile from RMAN backup (文档 ID 1054412.1)
解决方案:
After reinstalling the Lite Speed Media Manager the controlfile was able to restore successfully.
Support for third party Media Management software that interacts with RMAN is provided by the 3rd party software vendo
4:文件权限问题
个人遇到的这个案例中,在root账号下使用SFTP拷贝了备份文件,文件的属主为root用户,而RMAN命令运行在oracle用户下,所以在还原时,由于权限问题,RMAN认为文件不存在,从而报RMAN-06172错误。
这种情况的判别、验证步骤如下:
1: 找到对应的备份文件
list backup of xxx
2: 使用ls -lrt 检查文件权限属性。
3: 修改备份文件的属主
chown oracle:oinstall *
RMAN-06172 Troubleshooting的更多相关文章
- [Oracle][RMAN] Use RMAN to Migrate database from CentOS_5-11201-SingleDB to OracleLinux_5-11204-SingleDB
リンク:How to Move/Restore DB to New Host and File System using RMAN (Doc ID 1338193.1)https://docs.ora ...
- 如何利用RMAN Debug和10046 Trace来诊断RMAN问题?
在做Support的这些年,我很大的收获是掌握了许多troubleshooting问题的方法和工具,对于每一类问题,都可以大体归类出一些诊断方法.无论问题多么复杂,像扒洋葱一样,一层层去掉无 ...
- 【RMAN】RMAN跨版本恢复(下)--大版本异机恢复
[RMAN]RMAN跨版本恢复(下)--大版本异机恢复 BLOG文档结构图 ORACLE_SID=ORA1024G 关于10g的跨小版本恢复参考:http://blog.chinaunix.net/u ...
- RMAN异机恢复快速参考
应用场景:服务器A为正常运行的生产环境,需要在服务器B上部署一套相同环境做测试. 数据库环境:RHEL6.4 + Oracle 11.2.0.4.7 一. 服务器A备份数据库 1.1 在线备份(数据库 ...
- 用RMAN备份EBS数据库的脚本
rman_bak.sh rman target / nocatalog log=/d01/rmanbak/bak_`date +%m%d%H%M`.log<< EOF run { c ...
- RAC+asm通过rman恢复到单实例+asm
1.恢复参数文件,并修改参数文件 参数文件指名几个最简单的就行,我的参数文件如下: 2.恢复控制文件,并启动数据库到mount 如果是把备份集从别的服务器拷贝到本地恢复的服务器的目录,使用下面的语句指 ...
- network issue troubleshooting
Today we troubleshooting a lot of network issue by using commands like: ping <ip>/<computer ...
- RMAN Catalog创建、配置和管理
环境:RHEL6.4 + Oracle 11.2.0.4 一.创建数据库catdb 1.1 官档的建库脚本示例 1.2 根据我实际环境修改如下项 1.3 创建必要目录并赋予权限 1.4 执行脚本建库 ...
- 使用RMAN创建复制数据库
我的实验环境: - 源数据库A机: RHEL6.4 + Oracle 11.2.0.4 IP地址:192.168.99.159 db_name=oradb 数据库已正常运行 - 复制数据库B机: RH ...
- DG环境数据库RMAN备份策略制定
DG环境数据库RMAN备份策略制定: 主库(Primary) 全库备份 归档备份 删除历史文件夹 备库(Standby) 删除归档 引用说明 主库(Primary) $ crontab -l 0 1 ...
随机推荐
- 面试必备技能-HiveSQL优化
Hive SQL基本上适用大数据领域离线数据处理的大部分场景.Hive SQL的优化也是我们必须掌握的技能,而且,面试一定会问.那么,我希望面试者能答出其中的80%优化点,在这个问题上才算过关. Hi ...
- leetcode — n-queens
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...
- 编码(1)学点编码知识又不会死:Unicode的流言终结者和编码大揭秘
学点编码知识又不会死:Unicode的流言终结者和编码大揭秘 http://www.freebuf.com/articles/web/25623.html 如果你是一个生活在2003年的程序员,却不了 ...
- PHP中的__call和__callStatic方法
如何防止调用不存在的方法而出错,使用__call魔术重载方法. __call方法原型如下: mixed __call(string $name,array $arguments) 当调用一个不可访问的 ...
- MySQL中间件之ProxySQL(11):链式规则( flagIN 和 flagOUT )
返回ProxySQL系列文章:http://www.cnblogs.com/f-ck-need-u/p/7586194.html 1.理解链式规则 在mysql_query_rules表中,有两个特殊 ...
- 一张图,让你和面试官聊一个小时的“Java内存模型”
如果面试官问你:你了解 Java 内存模型吗? 你就可以使用这张图,按照这张图中的顺序和面试官开聊,正常情况下,聊一个小时是差不多的,这个时候,对你的处境是非常有益的,因为面试官的时间不多了.
- 全面认识golang string
string我们每天都在使用,可是对于string的细节问题你真的了解吗? 今天我们先以一个问题开篇. 你能猜到下面代码的输出吗? package main import ( "fmt&qu ...
- 脚本解决.NET MVC按钮重复提交问题
见于:Avoiding Duplicate form submission in Asp.net MVC by clicking submit twice 脚本代码: $(document).on(' ...
- mysql+ssl主从复制
一.作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中. (从服务器I/O thread会负责来读取master binary log, 然后写入自身rela ...
- 同一个dll 不同路径下注册 一个失败 一个成功
一个路径下用regsvr32注册成功,一个注册失败,提示平台不兼容. 最后用depends查看依赖的dll,发现依赖的dll有问题,从注册成功的路径下复制一个过来,重新注册就成功了