数据库做的冷备份,迁移到另一个数据库中,数据库的版本,路径都是一样的。也是最新的控制文件,但重启时却报控制文件过时。
如下:
SQL> startup
*
第1行出现错误:
ORA-01122:数据库文件1验证失败
ORA-01110:数据文件1: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\SYSTEM01.DBF'
ORA-01207:文件比控制文件更新-旧的控制文件
重建控制文件:
1、SQL>alter database backup controlfile to trace as ‘E:\trace’;
2、关闭数据库:shutdown immediate
3、启动:startup nomount
4、打开‘E:\trace’文件,在数据库执行下面的语句,重建控制文件
CREATE CONTROLFILE REUSE DATABASE "XBOMS" NORESETLOGSNOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO01.LOG'SIZE 50M,
GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO02.LOG'SIZE 50M,
GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO03.LOG'SIZE 50M
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\SYSTEM01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\UNDOTBS01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\SYSAUX01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\USERS01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\MLOG_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\GPE_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\LOG_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\DH_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\DRILL_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\PUB_NORM_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\MLOG_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\GPE_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\LOG_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\DH_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\DRILL_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\PUB_LOB_SPACE.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\XBMIDDLE_MLOG_SPACE.DBF'
CHARACTER SET ZHS16GBK
;
5、RECOVER DATABASE
6、ALTER DATABASE OPEN;