咨询微信: dbservice1234 7 x 24 在线支持!

Oracle 在NOARCHIVELOG 模式尝试打开数据库时,ORA-376, ORA-01110

Oracle 在NOARCHIVELOG 模式尝试打开数据库时,ORA-376, ORA-01110

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

oerr ora 1589
01589, 00000, "must use RESETLOGS or NORESETLOGS option for database open"
// *Cause: Either incomplete or backup control file recovery has been
// performed. After these types of recovery you must specify either
// the RESETLOGS option or the NORESETLOGS option to open your
// database.
// *Action: Specify the appropriate option.



 

问题描述

——————-

在mount阶段尝试启动数据库导致以下:

 

ORA-00604: Error occurred at recursive SQL level 1

ORA-00376: File 2 cannot be read at this time

ORA-01110: data file 2: ‘d:\oracle\oradata\oracle\RBS01.dbf’

 

数据库在NOARCHIVELOG模式下运行,无损坏,无冷备份。

 

 

解决方案说明

——————–

一种选择是假装恢复,看看Oracle恢复数据库需要什么文件。如果Oracle只需要联机重做日志,则数据库可以被恢复并打开,而没有数据丢失。

 

在SQL*PLUS或 SVRMGL:

 

运行以下查询来确认联机重做日志的序列号:

SQL>select v1.group#,member,sequence#,first_change#

from v$log v1, v$logfile v2

where  v1.group# = v2.group#;

 

记下序列号和成员列很重要。

 

接下来,尝试恢复数据库来查看Oracle 需要什么文件:

SQL>recover database until cancel;

 

再次记下序列号。忽略建议的日志文件名称。名称会以归档日志的形式出现,但这确实是尚未归档的联机重做日志的名称。

 

如果查询结果中最低的序列号与Oracle需要恢复数据库的序列号相同,则数据库能被恢复。

 

只要从成员列复制确切的路径和文件名作为 RECOVER DATABASE 命令所需的文件名。

 

对每个联机重做日志重复过程。

 

Oracle会返回提示,恢复完成。

 

此时你能发出:

SQL> Alter database open

 

如果ORA-1589 “must use RESETLOGS or NORESETLOGS option for database open” 发生:

 

SQL> > Alter database open NORESETLOGS

 

注:打开可能要一段时间。

 

参考

———-

 

 

其他搜索词

———————–

ORA-1110 recovery online redo logs noarchive