今天执行完全恢复的时候报错:
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
数据库终于能打开了。
不过好像丢了点数据。