修复了Oracle的ORA-01033错误
今天数据库日志满了,然后同事删除了一部分日志,空出来一部分的磁盘空间,但是却发现数据库怎么都起不来,一直报告ORA-01033错误, ORACLE initialization or shutdown in progress.
强制Shutdown immediate之后再Startup结果报告:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'xx\redo1.log'
上网搜索发现是数据库日志读取出问题了.
于是开始检索解决的办法:
先查询出错的这个Log 1是否是当前使用中的日志:
SQL>select group#,sequence#,archived,status from v$log;
得到的结果是
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO INACTIVE
2 2 NO INACTIVE
3 3 NO CURRENT
解决的办法是:
alter database clear unarchived logfile group 1;
然后很正确的提示了
Database Altered.
之后再Shutdown一次再Startup一次就好了.
但是值得注意的是:
但是我们局内的数据库是无所谓数据一致性的,因为并没有那么强的实时性的要求.于是很顺理成章的就完成了了事~
相关材料引用自:
http://www.cnblogs.com/jimeper/archive/2008/04/14/1153234.html
强制Shutdown immediate之后再Startup结果报告:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'xx\redo1.log'
上网搜索发现是数据库日志读取出问题了.
于是开始检索解决的办法:
先查询出错的这个Log 1是否是当前使用中的日志:
SQL>select group#,sequence#,archived,status from v$log;
得到的结果是
GROUP# SEQUENCE# ARCHIVED STATUS
---------- ---------- -------- ----------------
1 1 NO INACTIVE
2 2 NO INACTIVE
3 3 NO CURRENT
解决的办法是:
alter database clear unarchived logfile group 1;
然后很正确的提示了
Database Altered.
之后再Shutdown一次再Startup一次就好了.
但是值得注意的是:
1、这种办法恢复的数据库是一致的不完全恢复,会丢失当前联机日志中的事务数据
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。
2、这种方法适合于归档数据库并且有可用的数据库全备份。
3、恢复成功之后,记得再做一次数据库的全备份。
4、建议联机日志文件一定要实现镜相在不同的磁盘上,避免这种情况的发生,因为任何数据的丢失对于生产来说都是不容许的。
但是我们局内的数据库是无所谓数据一致性的,因为并没有那么强的实时性的要求.于是很顺理成章的就完成了了事~
相关材料引用自:
http://www.cnblogs.com/jimeper/archive/2008/04/14/1153234.html
评论
发表评论