在数据库undo表空间文件损坏。或者undo表空间文件缺失的情况下。无法打开数据库。

这两种情况都能够视为一种情况处理,解决方法一样。


场景:在23:10的时候新建一个undo表空间undotbs02,并切换至该undo表空间。
             

此时再闪回数据库至23:10。

            因为闪回数据库时使用的是undotbs02,而23:10时使用的是undotbs01,
            会造成undo表空间缺失。无法打开数据库。

(注:闪回数据库之后须要resetlogs)

            
            
            从上面的错误就能够看出来。此时undotbs02不存在,无法打开数据库。

解决思路非常easy:新建一个undo表空间。然后将undo_tablespace
指向新的undo表空间。

            可是....新建表空间仅仅能在数据库open状态下才干进行。

            所以:
            由于Oracle system 表空间还有回滚段。因此我们先能够让Oracle使用system表空间回滚段
            打开数据库,然后就能够新建表空间了。
            
            
            新建表空间:



           启动数据库。

           这时能够新建一个undo表空间。然后将undo_tablespace參数指向过去
           注:一定要把undo_management 參数改动为AUTO
           
           

          通过以上步骤就能够完毕undo表空间损坏或缺失导致的数据库无法打开问题。
     

总结:
      须要注意的问题:
         1.  在闪回数据库之后。打开数据库时须要使用 alter database open resetlogs;   命令重置重置日志
         2.  要闪回数据库,数据库要装载但不能打开(mount状态下闪回数据库) 
         3.  记得将undo_management 參数改动回来。

使用:alter system set undo_management=auto
scope=spfile;


    以下是利用system表空间回滚段新建undo表空间的步骤:
         1.  将数据库启动到mount
         2.  alter system  set undo_management=manual scope=spfile;    
--   设置undo表空间的管理方式 
         3.  shutdown immediate;
         4.  startup  然后新建一个undo表空间 undotbs03;
         5.  改动undo_tablespace 參数指向新建的undo表空间 undotbs03;
     ** 6.  记得将undo_management 參数改动回来。

              alter system set  undo_management=auto scope=spfile;
         7.  SQL> alter system set undo_management=manual scope=spfile;
                 auto表示:该表空间是由Oracle来管理的(自己主动分配给不同事物使用)
                 manual表示:该表空间的block是通过freelist来管理怎样存储数据的。
      8. 打开数据库
   **  9.
打开数据库后一定要把undo_management 參数改动回来。  
          alter system set undo_management=auto scope=spfile;

UNDO表空间损坏导致数据库无法OPEN的更多相关文章

  1. 总结Oracle8i 的UNDO表空间损坏(ORA-01092及ORA-00600【4193】)情况下的数据库不完全恢复的经历

    服务器断电重启导致备份生产环境的恢复目录库无法进行启动,提示Ora-01092例程终止.强行断开连接 查看跟踪日志: Wed Jan 10 08:41:37 2018 Errors in file d ...

  2. UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决

    模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除 模拟启库 SQL> STARUP; * 第 1 行出现错误: ORA-01157: 无法标识/锁定数据文件 2 ...

  3. undo表空间

    undo表空间undo表空间的管理,主要包括创建.删除.修改.切换.其中需要注意的是不能在undo表空间创建数据库对象,还有就是只能是单文件或大文件表空间. 创建创建主要有两种方法,一种是在创建数据库 ...

  4. Oracle undo 表空间管理 (摘DAVID)

    Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...

  5. 万答#18,MySQL8.0 如何快速回收膨胀的UNDO表空间

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 背 ...

  6. UNDO表空间不足解决方法

    确认UNDO表空间名称 select name from v$tablespace; 检查数据库UNDO表空间占用空间情况以及数据文件存放位置: select file_name,bytes/1024 ...

  7. Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)

    UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...

  8. 模拟数据库丢失undo表空间

    数据库无事务情况下丢失undo表空间数据文件 1. 查看当前undo表空间,并删除物理undo文件 SYS@userdata>show parameter undo_tablespace; NA ...

  9. undo表空间丢失、损坏

    1.模拟误删undo表空间 rm -rf undotbs01.dbf 2.解决步骤 SQL> shutdown immediateORA-01116: error in opening data ...

随机推荐

  1. 以root启动pycharm

    在使用scapy模块的时候提示permitted就猜想可能是权限问题.然后换成root启动啥事情都没了. 由于本机是deepin先找到pycharm.sh脚本 然后再执行sudo ./pycharm. ...

  2. container_of分析--可用good【转】

    转自:http://blog.csdn.net/tigerjibo/article/details/8299589 版权声明:本文为博主原创文章,未经博主允许不得转载. 1.container_of宏 ...

  3. 解决vim没有颜色的办法

    首先打开vim,输入命令 scriptnames看看vim加载了哪些脚本. :scriptnames 输出入下 : /home/users/xxx/.vimrc : /home/users/xxx/t ...

  4. Servlet中使用 Last-Modified、Expires和Cache-Control

    long now = System.currentTimeMillis(); long expires = System.currentTimeMillis() + (1000 * 60 * minu ...

  5. thinkphp5最美跳转页面

    声明下:此教程来自TP官网,如果需要看原文,请点击一下链接   http://www.thinkphp.cn/code/3437.html 先给大家看下效果: 直接撸代码: 第一步:为了增加对移动设备 ...

  6. 使用moneykey对APP进行健壮性测试

    注意:moneykey对app按钮伪随机点击,只能测试app稳定性和健壮性,无法进行常规测试 1.安装 A.jdk(不详细介绍) B.安装配置android配置环境:Android Studio 此环 ...

  7. serversql tinkphp

    public function iconv2utf8($Result) {         $Row=array();                    $key1=array_keys($Res ...

  8. HDU 2504 又见GCD(数论,最大公约数)

    又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. hdu1269(有向图强连通分量)

    hdu1269 题意 判断对于任意两点是否都可以互相到达(判断有向图强连通分量个数是否为 1 ). 分析 Tarjan 算法实现. code #include<bits/stdc++.h> ...

  10. java常见异常归纳

    1.java.lang.NullPointerException(空指针异常)    调用了未经初始化的对象或者是不存在的对象 经常出现在创建图片.调用数组这些操作中,比如图片未经初始化,或者图片创建 ...