zoukankan      html  css  js  c++  java
  • RMAN,restore database kgefec: fatal error 0 kgepop: no error frame to pop to for error 603

    问题:

    在11.2.0.4环境中,使用RMAN 进行restore database恢复DB,遇到报错

    kgefec: fatal error 0

    kgepop: no error frame to pop to for error 603

    无其它异常信息

    参考链接

    Rman Fails: kgepop: no error frame to pop to for error 603 (Doc ID 1458718.1)    
    Bug 18071181 : RMAN RESTORE ACTIONS FAILED WHEN THERE ARE OVER 700 BACKUP PIECES    
    Click to add to Favorites    Email link to this document    Printable Page    To BottomTo Bottom
    Restore Database Failed with Error: "kgefec: fatal error 0 gepop: no error frame to pop to for error 603" (Doc ID 1472984.1)    
    http://db-blog.web.cern.ch/blog/szymon-skorupinski/2015-07-how-create-your-own-oracle-database-merge-patch
    https://adityanathoracledba.com/2014/11/23/rman-fails-with-kgefec-fatal-error-0-kgepop-no-error-frame-to-pop-to-for-error-603/

    阅读上述材料后,问题的原因是由于RESTORE DATABASE过程中,rman进程读取过多的db 备份片信息,导致达到进程或者oracle上线,异常退出,无法正常执行恢复过程。

    那么产生的原因有几种

    1. RMAN进程资源不足,oracle 用户配置的限制参数导致的

    2. RMAN备份过程中,产生了过多的备份1)备份没删除过;2)使用了备份参数,限制单个备份片大小,导致单次备份,产生过多的备份片信息;

    解决思路:

    1.进程资源不足,修改进程资源参数;

    2.备份片过多,temp  恢复表空间或者数据文件,  或者删除所有备份信息(保留mv需要真正恢复的备份信息),随后在注册备份信息。目的减少恢复时,读取的备份片数量;

                      永久 定期定理历史备份信息,对备份脚本或者参数修改,取消或者放宽 限制单个备份片大小的参数。

    本次问题,匹配MOS  1472984.1

    Oracle Database - Standard Edition - Version 11.2.0.2 and later
    CAUSE
    Database backupsets have many backuppieces, , at restore time all backuppieces are read from a single PL/SQL
    which requires too much memory. The rman configuration allows unlimited backupset size although limites backup piece size: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT
    '%U' MAXPIECESIZE 2000 M; CONFIGURE MAXSETSIZE TO UNLIMITED; # default This provokes that rman backup will generate backupsets with around 700 backuppieces Finally rman crashes with: "kgefec: fatal error 0 gepop: no error frame to pop to for error 603". Bug 18071181 : RMAN RESTORE ACTIONS FAILED WHEN THERE ARE OVER 700 BACKUP PIECES Fixed in Product Version 12.2 Workaround: Specify a larger value for MAXPIECESIZE when "RMAN BACKUP" is taken, to avoid getting more than 700 backup pieces [This will not help if restore a backup which has already be done ] [and has more than 700 pieces - now to be used for restore. ] SOLUTION 1.- To restore a backup already created with above conditions, we can use restore tablespace or restore datafile
    instead of restore database.
    2.- To avoid the issue limit the number of files per backupset to get several backupsets instead of only 1 with many backupieces To limit files per backupset use filesperset = <n> , this will limit the backupset to n files. If files are very big
    you can use filesperset=1 3.- Use multisection backups to split the big files in pieces instead of maxpiecesize: Eg: backup section size 2000M database;
  • 相关阅读:
    浅谈SQLite——查询处理及优化
    .NET 并行(多核)编程系列之七 共享数据问题和解决概述
    sql 存储过程学习一
    SQL中获得EXEC后面的sql语句或者存储过程的返回值的方法 【收藏】
    script刷新页面,刷新代码
    C#编程中关于数据缓存的经验总结
    SQL存储过程的概念,优点及语法
    SQLite数据库安装、试用及编程测试手记
    c# sqlite 数据库加密
    进销存管理系统的设计与实现
  • 原文地址:https://www.cnblogs.com/lvcha001/p/12200271.html
Copyright © 2011-2022 走看看