服务器运行失败(服务器异常关机导致Oracle启动失败)

背景服务器突然断电或者人为强制关闭服务导致Oracle数据服务不能正常启动操作系统:Windows数据库没有定期备份故障描述数据库无法启动,报 ORA-01589:要打开数据库必须使用RESETLOGS 或 NORESETLOGS 选项。使用alter database open resetlogs 启动数据库报 ORA-01194:文件1需要更多恢复来保持一致性,ORA-01110:数据文件1:‘F:\ORACLE\ORADATA\ORACAS\SYSTEM01.DBF’。原因分析突然断电和强制关机导致数据文件记录SCN不一致,导致数据库无法正常启动恢复步骤1.先关闭数据库做冷备,备份数据文件,redo,控制文件,密码,参数文件2.启动数据到mount状态SQL> startup mount3.使用alter database open resetlogs出现如下内容:SQL> alter database open resetlogs;alter database open resetlogs*第 1 行出现错误:ORA-01190: 控制文件或数据文件 1 来自最后一个 RESETLOGS 之前ORA-01110: 数据文件 1: 'D:\APP\LEARY\ORADATA\ORACLE\SYSTEM01.DBF'4.设置以下参数SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;SQL> alter system set "_allow_error_simulation"=true scope=spfileSQL> alter system set undo_management=manual scope=spfile;SQL> alter database open正常到这里,数据库一般可以打开,如果还不能打开则继续通过下面的操作5.重新生成控制文件1)关闭数据库SQL> shutdown immediate2)把数据开启到mount状态SQL> startup mount;3)生成创建控制文件脚本SQL> alter database backup controlfile to trace as 'D:\ctl1.txt';这时候会在D盘下生产ctl1.txt文件,根据数据库是归档还是非归档模式下,选择一段内容重建控制文件;注意:需要根据数据库模式,选择相应的重新脚本。如下在非归档模式下,选择第一段内容4)根据得到的ctl1文件建立ora.sql内容如下:CREATE CONTROLFILE REUSE DATABASE "ORACAS" NORESETLOGS NOARCHIVELOG MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226LOGFILE GROUP 2 'F:\ORACLE\ORADATA\ORACAS\REDO02.LOG' SIZE 100M, GROUP 3 'F:\ORACLE\ORADATA\ORACAS\REDO03.LOG' SIZE 100MDATAFILE 'F:\ORACLE\ORADATA\ORACAS\SYSTEM01.DBF', 'F:\ORACLE\ORADATA\ORACAS\UNDOTBS01.DBF', 'F:\ORACLE\ORADATA\ORACAS\CWMLITE01.DBF', 'F:\ORACLE\ORADATA\ORACAS\DRSYS01.DBF', 'F:\ORACLE\ORADATA\ORACAS\EXAMPLE01.DBF', 'F:\ORACLE\ORADATA\ORACAS\INDX01.DBF', 'F:\ORACLE\ORADATA\ORACAS\ODM01.DBF', 'F:\ORACLE\ORADATA\ORACAS\TOOLS01.DBF', 'F:\ORACLE\ORADATA\ORACAS\USERS01.DBF', 'F:\ORACLE\ORADATA\ORACAS\XDB01.DBF'CHARACTER SET ZHS16GBK;;5)控制文件生成后重新打开数据库,按照ctl1.txt的步骤继续操作SQL> recover database;SQL> alter database open resetlogs;注意:如果打开数据时提示临时表空间缺失则需要手动添加临时表空间6)到这里基本能强制打开Oracle数据库检查业务系统、数据库是否运行正常,如果运行正常本次恢复Oracle数据库成功。否则重建数据库实例,把当前强制打开的数据库实例数据导入新实例中————————————————–结束自建机房服务器一定要配备UPS数据库定期做备份,如采用:RMAN每周一次全备、每天增量备


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/36717/