oracle ora 01207,解决ORA-01207“文件比控制文件更新 - 旧的控制文件”的问题

ORA-01122:数据库文件1验证失败ORA-01110:数据文件1: 'E:ORACLEORADATADB02SYSTEM01.DBF'

ORA-01207:文件比控制文件更新-旧的控制文件

我备份一下数据库的控制文件,以及一个数据文件xyc.dbf。其中,xyc.dbf是用户xyc的默认表空间。

赋予足够的对象权限:

Grant select any talbe to xyc;

以xyc登陆:

Conn xyc/admin;

Create table emps as select * from scott.emp;

Conn sys/admin as sysdba;

Shutdown immediate;

这时,我把备份的控制文件和数据文件copy到原来目录。启动数据库:

Startup force;

结果数据库提示:

ORA-01122:数据库文件1验证失败ORA-01110:数据文件1: 'E:ORACLEORADATADB02SYSTEM01.DBF'

ORA-01207:文件比控制文件更新-旧的控制文件

这时候,需要重建控制文件:

alter database backup controlfile to trace as 'f:aa';

这时候,用ue打开f:aa,选取符合数据库的代码做成脚本controlfile.sql:执行该脚本:

@controlfile.sql

SQL> alter database open resetlogs;

alter database open resetlogs

*

第1行出现错误:

ORA-01152:文件1没有从过旧的备份中恢复

ORA-01110:数据文件1: 'D:ORACLE10.2.0ORADATAORCLSYSTEM01.DBF'

SQL> alter database open nosetlogs;

alter database open nosetlogs

*

第1行出现错误:

ORA-02288:无效的OPEN模式

SQL> alter database open setlogs;

alter database open setlogs

*

第1行出现错误:

ORA-02288:无效的OPEN模式

SQL> alter database open resetlogs;

alter database open resetlogs

*

第1行出现错误:

ORA-01152:文件1没有从过旧的备份中恢复

ORA-01110:数据文件1: 'D:ORACLE10.2.0ORADATAORCLSYSTEM01.DBF'

SQL> recover database using backup controlfile;

ORA-00279:更改781657 (在03/13/2009 20:54:59生成)对于线程1是必需的

ORA-00289:建议:

D:ORACLE10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2009_03_14O1_MF_1_26_%U_.A

RC

ORA-00280:更改781657 (用于线程1)在序列#26中

指定日志: {=suggested | filename | AUTO | CANCEL}

D:oracle10.2.0flash_recovery_areaORCLARCHIVELOG2009_03_12O1_MF_1_25_4VL33

L89_.ARC

ORA-00310:归档日志包含序列25;要求序列26

ORA-00334:归档日志:

'D:ORACLE10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2009_03_12O1_MF_1_25_4VL3

3L89_.ARC'

SQL> alter database open resetlogs;

alter database open resetlogs

*

第1行出现错误:

ORA-01113:文件1需要介质恢复

ORA-01110:数据文件1: 'D:ORACLE10.2.0ORADATAORCLSYSTEM01.DBF'

SQL> recover database using backup controlfile;

ORA-00279:更改781657 (在03/13/2009 20:54:59生成)对于线程1是必需的

ORA-00289:建议:

D:ORACLE10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2009_03_14O1_MF_1_26_%U_.A

RC

ORA-00280:更改781657 (用于线程1)在序列#26中

指定日志: {=suggested | filename | AUTO | CANCEL}

D:oracle10.2.0oradataorclREG003B.LOG

ORA-00310:归档日志包含序列25;要求序列26

ORA-00334:归档日志: 'D:ORACLE10.2.0ORADATAORCLREG003B.LOG'

SQL> recover database using backup controlfile;

ORA-00279:更改781657 (在03/13/2009 20:54:59生成)对于线程1是必需的

ORA-00289:建议:

D:ORACLE10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2009_03_14O1_MF_1_26_%U_.A

RC

ORA-00280:更改781657 (用于线程1)在序列#26中

指定日志: {=suggested | filename | AUTO | CANCEL}

D:oracle10.2.0oradataorclREDO02.LOG

ORA-00310:归档日志包含序列24;要求序列26

ORA-00334:归档日志: 'D:ORACLE10.2.0ORADATAORCLREDO02.LOG'

SQL> recover database using backup controlfile;

ORA-00279:更改781657 (在03/13/2009 20:54:59生成)对于线程1是必需的

ORA-00289:建议:

D:ORACLE10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2009_03_14O1_MF_1_26_%U_.A

RC

ORA-00280:更改781657 (用于线程1)在序列#26中

指定日志: {=suggested | filename | AUTO | CANCEL}

D:oracle10.2.0oradataorclREDO01.LOG

已应用的日志。

完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

SQL> conn xyc/admin;

已连接。

SQL> select table_name from user+tables;

select table_name from user+tables

*

第1行出现错误:

ORA-00903:表名无效

SQL> select table_name from user_tables;

TABLE_NAME

------------------------------

DEPT3

DEPT4

DEPT5

DEPT6

EMPS

DEPT

EMP

已选择7行。

至此,表emps恢复。

[@more@]

ORA-01122:数据库文件1验证失败ORA-01110:数据文件1: 'E:ORACLEORADATADB02SYSTEM01.DBF'

ORA-01207:文件比控制文件更新-旧的控制文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值