数据库掉电
点击数:436发布日期:2023-02-05 11:51:37 来源:老鹰
ora-600, ora-07445, conn @orcl as sysdba
一客户数据库断电后启动不了,登录数据库时报以上错误。到客户现场,客户说通过后台alert日志分析是redo文件损坏。
由于是归档模式且实例是非正常关闭后损坏,为了不丢失数据,又能把数据库拉起来,作了如下操作。
SQL>startup nomount
SQL>alter system set '_allow_resetlogs_corruption'=true scope=spfile;
SQL>shutdown immediate
SQL>startup mount
SQL>recover database until cancel;
SQL>alter database open resetlogs;
至此数据库能正常打开,但是过了几分钟又会自动关闭。网上说是由于Redo records和rollback(Undo)records不一致导致。需要重新创建undo表空间。解决方法如下:
SQL>alter system set undo_management=manual scope=spfile;
SQL>alter system set undo_tablespace=system scope=spfile;
SQL>create undo tablespace undotbs2 datafile 'D:\ORACLE\APP\ADMINISTRATOR\ORCL\UNDOTBS02.DBF' size 300m;
SQL>alter system set undo_management=auto scope=spfile;
SQL>alter system set undo_tablespace=undotbs2 scope=spfile;
SQL>shutdown immediate
SQL>startup
修复完成,客户反应数据库能正常使用,相关应用也能访问了。
一客户数据库断电后启动不了,登录数据库时报以上错误。到客户现场,客户说通过后台alert日志分析是redo文件损坏。
由于是归档模式且实例是非正常关闭后损坏,为了不丢失数据,又能把数据库拉起来,作了如下操作。
SQL>startup nomount
SQL>alter system set '_allow_resetlogs_corruption'=true scope=spfile;
SQL>shutdown immediate
SQL>startup mount
SQL>recover database until cancel;
SQL>alter database open resetlogs;
至此数据库能正常打开,但是过了几分钟又会自动关闭。网上说是由于Redo records和rollback(Undo)records不一致导致。需要重新创建undo表空间。解决方法如下:
SQL>alter system set undo_management=manual scope=spfile;
SQL>alter system set undo_tablespace=system scope=spfile;
SQL>create undo tablespace undotbs2 datafile 'D:\ORACLE\APP\ADMINISTRATOR\ORCL\UNDOTBS02.DBF' size 300m;
SQL>alter system set undo_management=auto scope=spfile;
SQL>alter system set undo_tablespace=undotbs2 scope=spfile;
SQL>shutdown immediate
SQL>startup
修复完成,客户反应数据库能正常使用,相关应用也能访问了。
图文推荐
序言
2020-04-19 查看:2271
第十五章:Oracle 12c介绍
2020-04-19 查看:2208
第十四章:常用Oracle工具
2020-04-19 查看:1934
第十三章:Oracle Golde...
2020-04-19 查看:2199
第十二章:DataGuard
2020-04-19 查看:1796