- 最后登录
- 2017-5-4
- 在线时间
- 81 小时
- 威望
- 999
- 金钱
- 2391
- 注册时间
- 2013-9-11
- 阅读权限
- 150
- 帖子
- 1124
- 精华
- 5
- 积分
- 999
- UID
- 1220
|
1#
发表于 2017-4-13 14:40:57
|
查看: 1399 |
回复: 0
求助:我进行恢复没有备份的数据文件在recover时报错。具体操作过程如下:
在数据库关闭的情况下,删除数据文件,模拟数据文件损坏的情况。
1、startup mount;
2:把数据文件设为脱机。
3 alter database open;
3 alter database create datafile "原文件名",生成数据文件。
4 recover datafile 6;就报如下错误:
SQL> recover datafile 6;
ORA-00279: 更改 4555038 (在 06/10/2014 16:42:57 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\DATAFILES\ARC\ARC00113_0836477580.001
ORA-00280: 更改 4555038 (用于线程 1) 在序列 #113 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开归档日志 'D:\DATAFILES\ARC\ARC00113_0836477580.001'
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????
ORA-00308: 无法打开归档日志 'D:\DATAFILES\ARC\ARC00113_0836477580.001'
ORA-27041: 无法打开文件
OSD-04002: ???????
O/S-Error: (OS 2) ????????????????
查询控制文件scn号:
SQL> select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 5088958
2 5088958
3 5088958
4 5088958
5 5088958
6 5066646
7 5088958
已选择7行。
查询数据文件头scn号是:
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 5088958
2 5088958
3 5088958
4 5088958
5 5088958
6 4555038
7 5088958
请高手指点一下我,应该怎么办?现在恢复介质恢复不了。
这个问题:归档文件D:\DATAFILES\ARC\ARC00113_0836477580.001不存在,我生成的归档文件序列号都大于113
查询SQL> select group#,sequence# from v$log;
GROUP# SEQUENCE#
---------- ----------
1 131
2 129
3 130
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------------------------------------
3 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ONLINELOG\O1_MF_3_9DYR4JVC_.LOG
3 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ONLINELOG\O1_MF_3_9DYR4KQX_.LO
2 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ONLINELOG\O1_MF_2_9DYR4GTV_.LOG
2 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ONLINELOG\O1_MF_2_9DYR4HVT_.LO
1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\ONLINELOG\O1_MF_1_9DYR4DSW_.LOG
1 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ONLINELOG\O1_MF_1_9DYR4FSW_.LO
6 rows selected
recover总是去找D:\DATAFILES\ARC\ARC00113_0836477580.001这个文件,但是生成的归档文件都是大于113的序列号。我的操作有什么疏漏吗?
这个问题已经解决,问题出在创建的表空间是在把数据库设为表空间之前。把数据库设为归档后,再删除这个表空间对应的数据文件,进行无备份恢复操作,就会报错。提醒和我遇到同样问题的同事,在执行无备份的数据文件操作,这个表空间一定是在数据库归档后创建的。否则无法执行恢复。
|
|