联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
1、模拟环境
拷贝出来控制文件,然后对数据库进行一些操作,然后关闭数据库,使用拷贝出来的控制文件替换原控制文件,启动数据库
出现类此错误:
ORA-00338: 日志 2 (用于线程 1) 比控制文件更新
ORA-00312: 联机日志 2 线程 1: ‘E:\ORACLE\ORADATA\XFF\REDO02’
或者
ORA-01122: 数据库文件 1 验证失败
ORA-01110: 数据文件 1: ‘E:\ORACLE\ORADATA\XFF\SYSTEM01.DBF’
ORA-01207: 文件比控制文件更新 – 旧的控制文件
2、处理思路
1)创建控制文件
1.1)alter database backup controlfile to trace;
1.2)生成控制文件脚本
STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 584 LOGFILE GROUP 1 'E:\ORACLE\ORADATA\XFF\REDO01' SIZE 10M BLOCKSIZE 512, GROUP 2 'E:\ORACLE\ORADATA\XFF\REDO02' SIZE 10M BLOCKSIZE 512, GROUP 3 'E:\ORACLE\ORADATA\XFF\REDO03' SIZE 10M BLOCKSIZE 512 DATAFILE 'E:\ORACLE\ORADATA\XFF\SYSTEM01.DBF', 'E:\ORACLE\ORADATA\XFF\SYSAUX01.DBF', 'E:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF', 'E:\ORACLE\ORADATA\XFF\USERS01.DBF', 'E:\ORACLE\ORADATA\XFF\EXAMPLE01.DBF', 'E:\ORACLE\ORADATA\XFF\O_ORACLE.DBF', 'E:\ORACLE\ORADATA\XFF\XIFENFEI01.DBF', 'E:\ORACLE\ORADATA\XFF\P_TEST01.DBF', 'E:\ORACLE\ORADATA\XFF\SYS_MG01.DBF', 'E:\ORACLE\ORADATA\XFF\P101.DBF', 'E:\ORACLE\ORADATA\XFF\P201.DBF', 'E:\ORACLE\ORADATA\XFF\P301.DBF', 'E:\ORACLE\ORADATA\XFF\OGG01.DBF', 'E:\ORACLE\ORADATA\XFF\SPOT01.DBF' CHARACTER SET ZHS16GBK ;
1.3)关闭数据库
shutdown abort;
1.4)删除现在的控制文件
1.5)执行生成控制文件脚本
2)恢复数据库
recover database;
3)打开数据库
alter database open;
4)添加临时文件
alter tablespace temp add tempfile
‘E:\ORACLE\ORADATA\XFF\TEMP01.DBF’ size 20m reuse;
说明:可以使用备份的控制文件进行恢复
1:startup mount;
2:recover database using backup controlfile until cancel;
然后根据情况,指定archive log和redo file。
3:alter database open resetlogs;