在数据库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. 【eclipse使用git】eclipse使用私钥提交项目

    初次安装git需要配置用户名和邮箱,否则git会提示:please tell me who you are. 你需要运行命令来配置你的用户名和邮箱: $ git config --global use ...

  2. 基于x64的处理器意思

    基于x64的处理器意思是CPU的架构是X64的,也是64位的CPU. 基本简介: "x86-64",有时会简称为"x64",是64位微处理器架构及其相应指令集的 ...

  3. linux下源码安装netcat

    linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...

  4. Selenium2+python自动化70-unittest之跳过用例(skip)【转载】

    前言 当测试用例写完后,有些模块有改动时候,会影响到部分用例的执行,这个时候我们希望暂时跳过这些用例. 或者前面某个功能运行失败了,后面的几个用例是依赖于这个功能的用例,如果第一步就失败了,后面的用例 ...

  5. hdu 5172(线段树||HASH)

    GTY's gay friends Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others ...

  6. Android 曲线动画animation,类似加入购物车动画

    按照惯例先放效果图:图中小球做抛物线运动 资源图片 1.首先布局文件activity_main.xml,布局很简单,就一个测试按钮 <RelativeLayout xmlns:android=& ...

  7. Vmware vSphere常见问题及解决办法

      Vmware vSphere常见问题及解决办法 日期:2012-6-29来源:51cto Vmware vSphere 12 1. 虚拟机文件被锁,无法正常 power on 故障状态: 启动虚拟 ...

  8. linux 批量替换所有文件中包含的字符串

    sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .` 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 ...

  9. 修改hadoop的jar包运行时候分配的jvm内存

    在hadoop-env.sh中修改参数添加 export HADOOP_HEAPSIZE="4096" 设置分配的最大jvm内存为4096,一般用于jar包里面除了执行map和re ...

  10. 13、Flask实战第13天:SQLAlchemy操作MySQL数据库

    安装MySQL 在MySQL官网下载win版MySQL 双击运行 后面根据提示设置密码然后启动即可,这里我设置的密码是:123456 我们可以通过Navicat客户端工具连接上MySQL addres ...