PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

一例冷备份恢复引起的ORACLE数据库频繁重启故障

原创
2016-06-07 17:37:03 892浏览

环境:ORACLE11GR2+windows2012描述:客户还原冷备份后启动数据库,启动后大概30秒左右数据库无法操作,提示ORA-03113:通信通道的文件结尾解决,再次启动后经过

环境: ORACLE 11G R2+windows2012

描述: 客户还原冷备份后启动数据库,启动后大概30秒左右数据库无法操作,提示ORA-03113:通信通道的文件结尾解决,再次启动后经过30秒左右会再次无法操作。


处理过程:


1.进入操作系统,查看相关日志。

查看日志报错,发现ORA-00600: internal error code, arguments: [3005]

同时观察到DATA目录的undo表空间物理文件时间未发生变化,其他物理文件更新都已经成为最新时间。

于是对重做表空间物理文件进行重建操作

具体操作步骤如下:


sqlplus /nolog

SQL> conn /as sysdba;

SQL> startup mount;

SQL> --根据目前的动态参数文件创建静态参数文件

SQL> create pfile='D:\20130101.ora' from spfile;


#修改生成的20130101.ora文件


*.undo_management='MANUAL'

*._corrupted_rollback_segments=(_SYSSMU3$)

[oracle@DB ~]$ exit

SQL> --查看原undo表空间名

SQL> show parameter undo;

NAME TYPE VALUE

------------------------------------ --------------------------------- ------------------------------

undo_management string AUTO

undo_retention integer 10800

undo_tablespace string UNDOTBS1

SQL> --关闭数据库

SQL> shutdown immediate;

SQL> --根据修改后的20130101.ora静态参数文件启动数据库

SQL> startup pfile='D:\20120101.ora'

SQL> --创建新的undo表空间


SQL> create undo tablespace UNDOTBS2 datafile '数据文件目录\undotbs01.dbf' size 2g;

SQL> --删除原undo表空间


SQL> drop tablespace UNDOTBS1 including contents and datafiles;

SQL> --修改新的表空间undotbs2名为undotbs1

SQL> alter tablespace UNDOTBS2 rename to UNDOTBS1;

SQL> --关闭数据库

SQL> shutdown immediate;

SQL> --再次启动数据库(问题解决)

SQL> startup;


数据库至此恢复正常,经过24个小时的运行,无任何问题,问题已经解决。

PS:估计客户在冷备份的时候拷贝的UNDO表空间物理文件受损或者在库没有完全停止的情况下拷贝,,造成文件受损,在没有UNDO表空间的情况库可以启动,但如果有数据修改就会发生写入UNDO表空间失败,数据连接断掉。

本文出自 “IT人的网络人生” 博客,请务必保留此出处

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。