一次工作站宕机,突然断电关机,还没来得及对 其中的虚拟机Oracle P6服务器做快照,再重新启动数据库服务时报错无法正常运行。
后通过度娘方法反复尝试后,终于恢复正常;这次自己处理维护,收获满满;以下是过程记录,可做参照
分析原因:
- 数据库异常停止,停止的时候还没有来得及将缓存区中的LOG归档,就被强制SHUTDOWN了。
 - 数据库再次启动的时候,会去检查SCN 系统变动码.如果发现不一致,那么就意味着有不一致的LOG需要处理.
 
报错情况:
SQL> startup
 ORACLE 例程已经启动。
 Total System Global Area  135338868 bytes
 Fixed Size                   453492 bytes
 Variable Size             109051904 bytes
 Database Buffers           25165824 bytes
 Redo Buffers                 667648 bytes
 数据库装载完毕。
 ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open resetlogs;
 alter database open resetlogs
 *
 ERROR 位于第 1 行:
 ORA-01194: file 1 needs more recovery to be consistent
 ORA-01110: 数据文件 1:'/home/oracle/u01/app/oradata/umsdb/system01.dbf'
SQL> recover database using backup controlfile;
 ORA-00279: change 886589271 generated at 09/04/2018 09:06:39 needed for thread1
 ORA-00289:  suggestion : /home/oracle/arch/1_98395_909619752.dbf
ORA-00280: change 886589271 for thread 1 is in sequence #98395
指定日志: {=suggested | filename | AUTO | CANCEL}
 /home/oracle/u01/app/oradata/umsdb/redo01.log
 ORA-00310: archived log contains sequence 98986; sequence 98395 required
 ORA-00334: 归档日志:  '/home/oracle/u01/app/oradata/umsdb/redo01.log'
处理办法,根据提示指定归档日志文件
SQL> recover database using backup controlfile;
 ORA-00279: change 886589271 generated at 09/04/2018 09:06:39 needed for thread1
 ORA-00289: suggestion : /home/oracle/arch/1_98395_909619752.dbf
ORA-00280: change 886589271 for thread 1 is in sequence #98395
指定日志: {=suggested | filename | AUTO | CANCEL}
 /home/oracle/u01/app/oradata/umsdb/redo03.log
 ORA-00310: archived log contains sequence 98985; sequence 98395 required
 ORA-00334: 归档日志:  '/home/oracle/u01/app/oradata/umsdb/redo03.log'
如果存档日志刚好包含要求的序列号,那么恭喜,数据库会提示成功。
指定日志: {=suggested | filename | AUTO | CANCEL}
 /home/oracle/u01/app/oradata/umsdb/redo02.log
 已应用的日志。
 完成介质恢复。
 SQL> alter database open resetlogs;
 数据库已更改。
以上完成之后,再重新重启数据库服务即恢复正常。
总结
- 在管理VM虚拟机时就做好快照策略,硬盘容量足够大的话可以每天定时做一次backup,如果条件有限建议每次退出时做一个快照,保留最后的3个快照
 - 数据库维护的操作做的不是很多,以后还得多做写功课
 










