ORA-19909:当进行不完全恢复之后使用open database resetlogs

来源:互联网 发布:秘密软件下载 编辑:程序博客网 时间:2024/06/06 08:30
  

今天执行完全恢复的时候报错:
SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\oracle\product\10.2.0\oradata\arch
最早的联机日志序列     5
下一个存档日志序列   7
当前日志序列           7
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-19909: 数据文件 1 属于孤立的原型
ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSTEM01.DBF'

这个问题的解决方法是:

1, 重新建control file
startup mount
alter database backup conrolfile to trace
oradebug setmypid
oradebug tracefile_name

根据trace file 重建control file


2: 当有了control file后,
SQL> recover database until cancel using backup controlfile
ORA-00279: 更改 752526 (在 01/09/2012 09:18:45 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100028771191450.ARC
ORA-00280: 更改 752526 (用于线程 1) 在序列 #28 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100028771191450.ARC
ORA-00328: 归档日志在更改 752525 结束, 需要稍后的更改 752526
ORA-00334: 归档日志:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100028771191450.ARC'


SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from demo.a;

         I
----------
         1
         2
         3
         4
         5
         6

已选择6行。

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\oracle\product\10.2.0\oradata\arch
最早的联机日志序列     0
下一个存档日志序列   1
当前日志序列           1

数据库终于能打开了。
不过好像丢了点数据。