折雨的天空
oracle出问题的恢复记录
2012-7-23 我好笨

本来不是我负责修复的,但是万哥请假了,要用的话只好动手修复了,反正想想,弄坏了就算了,大不了重新安一个,导入点数据就行了。



由于恢复完成时未能及时导出操作步骤,所以,步骤不是很完整,一下为恢复过程,直到倒数第二步。



Microsoft Windows [版本 5.2.3790]
(C) 版权所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 - Production on 星期一 7月 23 09:18:14 2012

Copyright (c) 1982, 2008, Oracle. All rights reserved.

SQL> connect sys as sysdba
输入口令:
已连接。
SQL> shutdown normal
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 535662592 bytes
Fixed Size 1348508 bytes
Variable Size 419433572 bytes
Database Buffers 109051904 bytes
Redo Buffers 5828608 bytes
数据库装载完毕。
SQL> alter database open
2 ;
alter database open
*
第 1 行出现错误:
ORA-16038: 日志 3 sequence# 4956 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1:
'E:\APP\ADMINISTRATOR\ORADATA\YAANCHIS\REDO03.LOG'


SQL> select group#,sequence# from v$log;

GROUP# SEQUENCE#
---------- ----------
3 4956
2 4957

SQL> alter database clear unarchived logfile 'E:\APP\ADMINISTRATOR\ORADATA\YAANC
HIS\REDO03.LOG';
alter database clear unarchived logfile 'E:\APP\ADMINISTRATOR\ORADATA\YAANCHIS\R
EDO03.LOG'
*
第 1 行出现错误:
ORA-00393: 脱机数据文件的恢复需要日志 3 (用于线程 1)
ORA-00312: 联机日志 3 线程 1:
'E:\APP\ADMINISTRATOR\ORADATA\YAANCHIS\REDO03.LOG'
ORA-01110: 数据文件 6: 'E:\APP\ADMINISTRATOR\ORADATA\YAANCHIS\YAANCHIS'


SQL>oracle出现ORA-16038,ORA-19809,ORA-00312问题的解决方法
这些是参考http://www.144d.com/post-150.html和http://www.144d.com/post-151.html这两篇日志来做的,最后两步,也是最重要的两步,是下面的:



发现clear不成功

SQL> alter database clear unarchived logfile group 1; 这步出错,然后执行:



SQL>  recover database until cancel 



SQL> alter database open;

SQL> alter system archive log start;



哈哈,数据库可以打开了。



到此,一个啥也不懂的人成功把oracle恢复到可以使用了。以上步骤真不知道在干什么。。。。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容