Oracle控制文件比数据文件旧的缘由

数据库 Oracle
以下的文章主要介绍的是Oracle控制文件要比数据文件旧的缘由,如果你对其相关内容感兴趣的话,你就可以浏览以下的文章了。

我们大家都知道,数据库的服务器(本文以Oracle,非归档模式,把相关的软件安装于本地,把相关的Oracle控制文件放于本地,别的文件在相关的磁盘阵列)我们对其需要重做相关的OS,于是将Oracle相关的文件全部冷备到其他机器。

在拷贝数据文件的时候,system01.dbf出现一些问题,无法拷贝,于是再次打开数据库(在这之前,控制文件已经)检查了一下所有文件的状态,并没有查到什么原因导致system01.dbf无法拷贝。

当时的决定是:放弃冷备,OS重装后直接重装Oracle,然后导入数据恢复。比较幸运的是,OS重装后,磁盘阵列的卷信息居然都自动恢复了,将备份好的软件解tar,将控制文件也拷回,打开数据库时提示:Oracle控制文件比数据文件旧,无法打开。

恢复过程:

1、尝试使用旧的Oracle控制文件去恢复数据文件到一个比较旧的状态:

 

  1. SQL> recover database using BACKUP CONTROLFILE;  
  2. ORA-00279: ?? 2734997 (? 03/09/2010 15:53:32 ??) ???? 1 ????  
  3. ORA-00289: ??: /opt/app/oracle/product/10.2.0/dbs/arch1_6_709571253.dbf  
  4. ORA-00280: ?? 2734997 (???? 1) ??? #6 ?  

 

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

 

  1. cancel 

介质恢复已取消。

 

  1. SQL> recover database using BACKUP CONTROLFILE;  
  2. ORA-00279: ?? 2734997 (? 03/09/2010 15:53:32 ??) ???? 1 ????  
  3. ORA-00289: ??: /opt/app/oracle/product/10.2.0/dbs/arch1_6_709571253.dbf  
  4. ORA-00280: ?? 2734997 (???? 1) ??? #6 ?  

 

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

 

  1. cancel 

介质恢复已取消。

 

  1. SQL> alter database open resetlogs;  
  2. alter database open resetlogs  
  3. *  

 

第 1 行出现错误:

 

  1. ORA-01113: ?? 1 ??????  
  2. ORA-01110: ???? 1: '/usr3/oradata1/sysdata/system01.dbf'  

 

2、重建控制文件:

 

  1. SQL>alter database backup controlfile to trace; 

在udump目录下找到相应的trc文件,先删除旧的控制文件,然后使用第二段重建Oracle控制文件的语句重建控制文件:

SQL> CREATE CONTROLFILE REUSE DATABASE "CRNOPHQ" RESETLOGS NOARCHIVELOG

2 MAXLOGFILES 16

3 MAXLOGMEMBERS 3

4 MAXDATAFILES 1024

5 MAXINSTANCES 8

6 MAXLOGHISTORY 292

7 LOGFILE

8 GROUP 1 (

9 '/usr3/redo_log/redo01a.log',

10 '/usr3/redo_log/redo01b.log'

11 ) SIZE 1024M,

12 GROUP 2 (

13 '/usr3/redo_log/redo02a.log',

14 '/usr3/redo_log/redo02b.log'

15 ) SIZE 1024M,

16 GROUP 3 (

17 '/usr3/redo_log/redo03a.log',

18 '/usr3/redo_log/redo03b.log'

19 ) SIZE 1024M

20 -- STANDBY LOGFILE

21 DATAFILE

22 '/usr3/oradata1/sysdata/system01.dbf',

23 '/usr3/oradata1/sysdata/undotbs01.dbf',

24 '/usr3/oradata1/sysdata/sysaux01.dbf',

25 '/usr3/oradata1/sysdata/users01.dbf',

26 '/usr3/oradata1/sysdata/sysaux02.dbf',

27 '/usr3/oradata1/sysdata/system02.dbf',

28 '/usr3/oradata1/sysdata/undotbs02.dbf',

29 '/usr3/oradata1/sysdata/undotbs03.dbf',

30 '/usr3/oradata1/sysdata/undotbs04.dbf',

31 '/usr3/oradata1/sysdata/users02.dbf',

32 '/usr3/oradata1/data/dbs_d_crnophq01.dbf',

33 '/usr3/oradata1/data/dbs_i_crnophq01.dbf',

34 '/usr3/oradata3/data/dbs_d_perf01.dbf',

35 '/usr3/oradata3/data/dbs_d_perf02.dbf',

36 '/usr3/oradata3/data/dbs_d_perf03.dbf',

37 '/usr3/oradata3/data/dbs_d_perf04.dbf',

38 '/usr3/oradata3/data/dbs_d_perf05.dbf',

39 '/usr3/oradata2/data/dbs_i_perf01.dbf',

40 '/usr3/oradata2/data/dbs_i_perf02.dbf',

41 '/usr3/oradata2/data/dbs_d_ne01.dbf',

42 '/usr3/oradata2/data/dbs_d_ne02.dbf',

43 '/usr3/oradata2/data/dbs_d_ne03.dbf',

44 '/usr3/oradata2/data/dbs_d_ne04.dbf',

45 '/usr3/oradata2/data/dbs_i_ne01.dbf',

46 '/usr3/oradata2/data/dbs_i_ne02.dbf',

47 '/usr3/oradata1/data/dbs_d_work01.dbf',

48 '/usr3/oradata1/data/dbs_i_work01.dbf',

49 '/usr3/oradata1/data/dbs_d_rnopoa01.dbf',

50 '/usr3/oradata1/data/dbs_i_rnopoa01.dbf',

51 '/usr3/oradata2/data/dbs_d_spatial01.dbf',

52 '/usr3/oradata2/data/dbs_i_spatial01.dbf',

53 '/usr3/oradata2/data/dbs_d_spatialmap01.dbf',

54 '/usr3/oradata2/data/dbs_i_spatialmap01.dbf'

55 CHARACTER SET ZHS16GBK

56 ;

Oracle控制文件已创建。

 

  1. SQL> alter database open resetlogs; 

数据库已更改。

 

  1. SQL> select status,instance_name from v$instance;  
  2. STATUS INSTANCE_NAME  
  3. ------------ ----------------  
  4. OPEN CRNOPHQ  

 

至此,恢复完成。

【编辑推荐】

  1. 查看Oracle当前连接数的具体方案
  2. Oracle reports功不可没,实现报表定长输出
  3. Oracle ebs的oaf开发环境进行正确的配置
  4. Oracle join的正确用法描述
  5. Oracle小数点的实际保留问题的4方案
责任编辑:佚名 来源: 互联网
相关推荐

2010-10-29 14:03:39

Oracle移动数据文

2010-04-30 16:01:17

2017-09-06 14:58:57

Oracle数据文件临时文件

2010-04-27 17:38:43

Oracle数据文件

2010-07-13 14:09:07

SQL Server数

2011-05-17 11:33:43

oracle数据库

2010-05-06 09:42:28

Oracle表空间

2010-10-26 10:24:06

Oracle控制文件

2011-06-27 13:19:36

OMF托管文件ASM

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2011-03-25 10:26:34

Oracle数据库管理表空间

2017-08-25 17:41:17

Paradox数据文件格式

2010-10-13 14:02:01

MySQL数据文件

2023-11-27 17:11:02

数据库oracle

2011-05-26 15:27:08

Oracle数据库

2010-11-25 13:22:03

OMF

2010-09-13 16:06:48

sql server数

2015-07-29 15:21:43

2010-04-20 16:56:19

Oracle数据库

2010-10-29 14:20:54

Oracle移动控制文
点赞
收藏

51CTO技术栈公众号