在数据库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. CVE-2016-6662 mysql RCE测试

    参考:http://bobao.360.cn/learning/detail/3027.html ,我尝试第一种方法 1.先修改mysql_hookandroot_lib.c里面的反弹地址和端口: # ...

  2. 【反演复习计划】【bzoj3529】数表

    Orz PoPoQQQ大爷 按照他ppt的解法,这题可以划归到之前的题了OrzOrz 跪wy写的题解(Stealth Assassin)https://www.luogu.org/wiki/show? ...

  3. 【 浅谈Linux路由机制 】

    以下均为个人实验验证结果,如有问题,恳请指正. 现在服务器一般都有四张网卡,给了我们更多网络模型的选择.为了业务的需求,有时我们需要如下网络架构 系统:centos 7.2 x64 两张网卡不在同一个 ...

  4. hdu 5185(动态规划)

    Equation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Su ...

  5. hdu5967

    看到合肥赛区的题目都是泪啊,期末考完了来补几道 公正来说,这道题我考场确实写不出来,因为我的lct模板不够完美…… 我在学习lct的时候不知道为什么代码里加边.删边都是用了一个makeroot的操作 ...

  6. 实战WCF中net.tcp和net.msmq绑定协议

    平时很少写博文的,以前都是转载其他园友的文章,这几天有时间就自己尝试写一些wcf相关的文章,希望能给有需要的人带来一点帮助吧,水平有限再加上初次动手,写得不好还请多多包含!废话不多说了直接进入正题. ...

  7. cobbler的web界面

    添加用户名和密码 useradd test echo "123456" | passwd --stdin test 修改认证方式为pam #vim /etc/cobbler/mod ...

  8. 山东省第六届省赛 BIGZHUGOD and His Friends II(赛瓦定理)

    Description BIGZHUGOD and his three friends are playing a game in a triangle ground. The number of B ...

  9. Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)

    原始链接:http://blog.csdn.net/a464057216/article/details/52934077 requirments OS: Ubuntu 14.04+ Gitlab 8 ...

  10. Codeforces 891B - Gluttony

    891B - Gluttony 题意 给出一个数字集合 \(a\),要求构造一个数组 \(b\) 为 \(a\) 的某个排列,且满足对于所有下标集合的子集 \(S=\{x_1,x_2,...,x_k\ ...