热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

RMAN-06026错误分析与解决

RMAN-06026错误分析与解决背景:之前做了基于SCN的不完全恢复,在尝试恢复的过程中使用了_allow_resetlogs_corruption参数,resetlogs之后,Oracle使用的当前控制文件不允许从这个历史的备份集中进行恢复,从而...SyntaxHighli

RMAN-06026错误分析与解决
 
背景:
   之前做了基于SCN的不完全恢复,在尝试恢复的过程中使用了_allow_resetlogs_corruption参数,resetlogs之后,Oracle使用的当前控制文件不允许
从这个历史的备份集中进行恢复,从而导致了RMAN-06026这个错误,错误现象如下:
  www.2cto.com  
错误现象:
RMAN> restore database;
Starting restore at 26-JUL-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=47 devtype=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/26/2012 12:41:17
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 7 found to restore
RMAN-06023: no backup or copy of datafile 6 found to restore
RMAN-06023: no backup or copy of datafile 5 found to restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore
 
错误分析:
       首先我们的数据库是肯定做过全备的,但是从如上恢复反馈出来的信息可以看到没有数据文件的备份活拷贝,那么这个时候我们可以考虑尝试的使用
dbms_backup_resetore 这个包来制定路径进行数据库的手工恢复,详细步骤如下:
 
解决办法:
     执行dbms_backup_restore包来进行恢复:
      www.2cto.com  
DECLARE
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'FUN');
 sys.dbms_backup_restore.restoreSetDatafile;
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,tOname=>'/DBBak2/oradata/WWL/system01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,tOname=>'/DBBak2/oradata/WWL/undotbs01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,tOname=>'/DBBak2/oradata/WWL/sysaux01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,tOname=>'/DBBak2/oradata/WWL/users01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,tOname=>'/DBBak2/oradata/WWL/wwl001.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,tOname=>'/DBBak2/oradata/WWL/wwl002.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>07,tOname=>'/DBBak2/oradata/WWL/wwl003.dbf');
 sys.dbms_backup_restore.restoreBackupPiece(dOne=>done,handle=>'/DBSoft/product/10.2.0/db_1/dbs/0pnh23kk_1_1', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
END;
/
执行步骤如下:
1、将数据库启动到nomount状态
SQL> startup nomount;
ORACLE instance started.
Total System Global Area  100663296 bytes
Fixed Size                  1217884 bytes
Variable Size              88083108 bytes
Database Buffers            8388608 bytes
Redo Buffers                2973696 bytes
   www.2cto.com  
2、执行手工恢复包
SQL>DECLARE
 done boolean;
 devtype varchar2(256);
 done boolean;
 BEGIN
 devtype:=sys.dbms_backup_restore.deviceAllocate (type=>'',ident=>'FUN');
  6   sys.dbms_backup_restore.restoreSetDatafile;
  7   sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>01,tOname=>'/DBBak2/oradata/WWL/system01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>02,tOname=>'/DBBak2/oradata/WWL/undotbs01.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,tOname=>'/DBBak2/oradata/WWL/wwl001.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>03,tOname=>'/DBBak2/oradata/WWL/users01.dbf');
END;
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>04,tOname=>'/DBBak2/oradata/WWL/wwl001.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>05,tOname=>'/DBBak2/oradata/WWL/wwl002.dbf');
 sys.dbms_backup_restore.restoreDatafileTo(dfnumber=>06,tOname=>'/DBBak2/oradata/WWL/wwl003.dbf');
 sys.dbms_backup_restore.restoreBackupPiece(dOne=>done,handle=>'/DBSoft/product/10.2.0/db_1/dbs/0mnh01jv_1_1', params=>null);
 sys.dbms_backup_restore.deviceDeallocate;
END;
 16  /
PL/SQL procedure successfully completed.
SQL>
3、生成备份控制文件的trace
SQL> alter database backup controlfile to trace;
Database altered.
4、重建控制文件
SQL>CREATE CONTROLFILE REUSE DATABASE "WWL" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE  www.2cto.com  
  GROUP 4 (
    '/DBBak2/oradata/WWL/redo4a.log',
    '/DBBak2/oradata/WWL/redo4b.log'
  ) SIZE 128M,
  GROUP 5 (
    '/DBBak2/oradata/WWL/redo5a.log',
    '/DBBak2/oradata/WWL/redo5b.log'
  ) SIZE 128M,
  GROUP 6 (
    '/DBBak2/oradata/WWL/redo6a.log',
    '/DBBak2/oradata/WWL/redo6b.log'
  ) SIZE 128M,
  GROUP 7 (
    '/DBBak2/oradata/WWL/redo7a.log',
    '/DBBak2/oradata/WWL/redo7b.log'
  ) SIZE 128M
-- STANDBY LOGFILE
DATAFILE
  '/DBBak2/oradata/WWL/system01.dbf',
  '/DBBak2/oradata/WWL/undotbs01.dbf',
  '/DBBak2/oradata/WWL/sysaux01.dbf',
  '/DBBak2/oradata/WWL/users01.dbf',
  '/DBBak2/oradata/WWL/wwl01.dbf',
  '/DBBak2/oradata/WWL/wwl02.dbf',
  '/DBBak2/oradata/WWL/wwl03.dbf'
CHARACTER SET ZHS16CGB231280
Database altered.  www.2cto.com  
5、启动数据库
SQL>alter database open resetlogs;
Database altered.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
WWL              OPEN
SQL>
建议最后对数据库做一次全备。
 
 
作者 wuweilong

推荐阅读
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • SAP羞辱国产软件商:技术停在10年前
    SAP中国研究院总裁芮祥麟表示,国产软件厂商过于热衷概念炒作,技术水平停留在10年前的客户端架构水平。他认为,国内厂商推出基于SOA的产品或转型SAAS模式是不可能的,研发新架构需要时间。当前最热门的概念是云计算,芮祥麟呼吁国产厂商应该潜心研发底层架构。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文讲述了孙悟空写给白骨精的信件引发的思考和反省。孙悟空在信中对自己的行为进行了反思,认识到自己胡闹的行为并没有给他带来实际的收获。他也揭示了西天取经的真相,认为这是玉皇、菩萨设下的一场陷阱。他还提到了师傅的虚伪和对自己的实心话,以及自己作为师傅准备提拔的对象而被派下来锻炼的经历。他认为路上的九九八十一难也都是菩萨算计好的,唐僧并没有真正的危险。最后,他提到了观音菩萨在关键时刻的指导。这封信件引发了孙悟空对自己行为的思考和反省,对西天取经的目的和自己的角色有了更深入的认识。 ... [详细]
  • Windows2003 IIS上设置301定向,实现不带www域名跳转带www域名的方法
    打开IIS,建一个网站,主机头用不带www的域名,随便指向一个目录。然后在这个网站上点右键,属性--主目录--重定向到URL如图ÿ ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • 本文讨论了读书的目的以及学习算法的重要性,并介绍了两个算法:除法速算和约瑟夫环的数学算法。同时,通过具体的例子和推理,解释了为什么x=x+k序列中的第一个人的位置为k,以及序列2和序列3的关系。通过学习算法,可以提高思维能力和解决问题的能力。 ... [详细]
author-avatar
NE丰胸茶urghx
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有