这篇文章主要介绍oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!非归档模式,没有备份,直接拔电导致Undo损坏启动数据库
这篇文章主要介绍oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
非归档模式,没有备份,直接拔电导致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损坏怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!
--结束END--
本文标题: oracle非归档模式,没有备份,直接拔电导致Undo损坏怎么办
本文链接: https://lsjlt.com/news/67070.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0