情况介绍:
有一数据库(9i),非归档模式,以前未作过备份,控制文件也没有作过备份;
1、昨天早上无法正常启动,说两个控制文件版本不一致,一查,发现3个控制文件有不同,1和2完全相同,3却与1和2不同,那么就拿1把3覆盖了。
2、然后再启动,又报错说log 3 的log # in header,具体记不清楚了,意思就是说日志文件组3的头信息不对,那么我就mount数据库,结果发现,日志文件3是current的,既不能clear,也不能drop。
3、然后,因为有重建控制文件的脚本,然后又nomunt数据库,重建控制文件,然后使用recover database using backup controlfile,结果也报错,说需要归档的日志文件序列号为631,可是我的数据库为非归档模式,哪里来的归档文件,我就把日志文件3按照刚才的提示,重命名为提示需要的归档文件名,结果说,序列号为629,不是631,不行。
我真的是不知道该怎么办了,请帮忙解决一下,谢谢!
有一数据库(9i),非归档模式,以前未作过备份,控制文件也没有作过备份;
1、昨天早上无法正常启动,说两个控制文件版本不一致,一查,发现3个控制文件有不同,1和2完全相同,3却与1和2不同,那么就拿1把3覆盖了。
2、然后再启动,又报错说log 3 的log # in header,具体记不清楚了,意思就是说日志文件组3的头信息不对,那么我就mount数据库,结果发现,日志文件3是current的,既不能clear,也不能drop。
3、然后,因为有重建控制文件的脚本,然后又nomunt数据库,重建控制文件,然后使用recover database using backup controlfile,结果也报错,说需要归档的日志文件序列号为631,可是我的数据库为非归档模式,哪里来的归档文件,我就把日志文件3按照刚才的提示,重命名为提示需要的归档文件名,结果说,序列号为629,不是631,不行。
我真的是不知道该怎么办了,请帮忙解决一下,谢谢!
解决方案 »
- 导入dmp文件错误
- SQL server 2000连接oracel,如何判断表是否存在
- mysql 动态游标问题 雪地 裸体跪求!!!在线等。。。
- 怎样实现程序控制将数据从A库转至B库?
- 看看这三种方式实现的分页哪种最高效
- 50分求1简单存储过程或函数
- oracle中常用的数据字典有哪些?
- 在Oracle9i中如何使用SQL Server生成的脚本生成表??
- 这个SQL语句怎么写
- weblogic和Eclipse集成报错,请大神指点!如图,谢谢
- 初学Oracle,问个简单的问题!
- 我在用pro*C进行多线程往一个表里插入数据时,会报ORACLE错误,据说是ORACLE需要做相关配置才能支持多线程?应该怎样配呢?
我怎么看着 3 才是current 的controlfile
用3覆盖1,2试试序列号为629,不是631
那就试试别的 logfile吧
序列号我可以通过v$log来查看,试试别的,更加不行了
试一试:
_ALLOW_RESETLOGS_CORRUPTION=TRUE (ini.ora)
recover database using backup controlfile until cancel;
alter database open resetlogs;
总的来说,应该不是日志文件引起的,应该在控制文件.
如果是log3(current)引起的,将很难恢复,如果数据不是特别重要,建议不要浪费太多时间了.
1.control file的问题你已经解决了
2.你当前的重做日志头的状态和控制文件等不一致了
如果有当前的control file 肯定不用备份的
不知道你为什么要用备份control file 恢复?看来你要不完全恢复,但需要有一个全备的,你也没有,对不起,我说了半天,我没有办法!找oracle 支持吧!
不可恢复的操作。
sqlplus /nolog
SQLPLUS>CONNECT AS SYSDBA
SQLPLUS>STARTUP MOUNT;
SQLPLUS> recover database until time 'YYYY-MM-DD:hh:mm:ss';--'能正常启动的进一次时间'
SQLPLUS> ALTER DATABASE OPEN resetlogs;
现在有一个数据库,ORACLE817的,因为掉电,数据库不能启动。我把它的控制文件、数据文件、INIT.ora全部拿出来恢复数据库,我这样做:SVRMGRL>startup nomount;
没有问题SVRMGRL>alter database mount;
出现了这样的信息:
ORA-00214: controlfile 'D:\ORACLE\ORADATA\ORACLE\CONTROL02.CTL' version 16798 in
consistent with file 'D:\ORACLE\ORADATA\ORACLE\CONTROL01.CTL' version 16780
我把init.ora里边的CONTROL01.CTL给去掉,这个错误就没有了。
然后我又进行下一步,SVRMGRL>alter database open;
又出现这样的错误:
ORA-00314: log 3 of thread 1, expected sequence# 3990 doesn't match 3987
ORA-00312: online log 3 thread 1: 'D:\ORACLE\ORADATA\ORACLE\REDO01.LOG'各位大侠,这个问题有没有人见过?该如何解决?
http://211.99.196.144:8090/forum1/frontshow/dispbbs.jsp?boardid=84&id=8525
我现在还在重新安装数据库环境。装完了再试一下。