oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办

这篇文章主要介绍oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

专业从事成都网站建设、网站建设,高端网站制作设计,微信平台小程序开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5技术+CSS3前端渲染技术,响应式网站,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

非归档模式,没有备份,直接拔电导致Undo损坏
启动数据库,检查故障信息
SQL> conn / as sysdba
SQL> startup pfile=' ';
报错,ORA-03113:end-of-file on communucation channel
查看alert log,发现文件2发生错误,导致600错误
先查看文件2的名字
SQL> conn / as sysdba
SQL> startup mount pfile='';
SQL> select file#,status,name from v$datafile;
查看可知文件2是undo数据文件,查看资料,undotbs损坏时可采用隐含参数临时启动数据库,然后进行修复
修改init文件,加入
._allow_resetlogs_corruption=true(允许在数据文件SCN不一致的情况下启动数据库)
._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允许在rollback segments损坏的情况下启动数据库
SQL> shutdown abort;
SQL> startup pfile='';
启动成功,查看当前的rollback segments
SQL> select segment_name,status from dba_rollback_segs;

新建一个重做表空间undo
SQL> create undo tablespace undo datafile '' size 50M reuse autoextend on;
SQL> select segment_name,status from dba_rollback_segs;
修改系统默认的Undo段
SQL> alter system set undo_tablespace=undo;

删除损坏的undotbs1表空间
SQL> alter tablespace undotbs1 offline normal;
SQL> drop tablespace undotbs1 including contents and datafiles;
SQL> select from v$recover_file;
无数据
SQL> shutdown immediate;
修改参数文件,注释掉刚才添加的参数
#
._allow_resetlogs_corruption=true(允许在数据文件SCN不一致的情况下启动数据库)
#*._corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$,_SYSSMU3$,_SYSSMU4$,_SYSSMU5$,_SYSSMU6$,
_SYSSMU7$,_SYSSMU8$,_SYSSMU9$,_SYSSMU10$,_SYSSMU11$) 允许在rollback
启动数据库:
SQL> startup pfile='';

以上是“oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站栏目:oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办
本文URL:http://scyanting.com/article/gejoie.html