ORA-01189: 文件来自于与先前文件不同的 RESETLOGS
ORA-01110: 数据文件 4: 'D:\ORCLDATA\XEPACS\USERS01.DBF'
ORA-01189解释:
Cause: In a CREATE CONTROLFILE command, either this file or all previous files were backups from before the last RESETLOGS. This also may occur if this is a file that is offline and has been offline since before the last RESETLOGS.
Action: If the file was taken offline normally before the last RESETLOGS and is still offline, omit it from the CREATE CONTROLFILE command. Rename and online the file after the database is open. Otherwise, find the version of the mentioned file consistent with the rest of the datafiles and retry the command.
1 跳过有问题的数据文件重建控制文件或只用system01.dbf重建;

2 resetlogs打开数据库 ,注意更改undo相关参数为manual;

    alter system set "_allow_resetlogs_corruption"=true scope=spfile
    alter system set audit_trail=none scope=spfile;
    alter system set undo_management=MANUAL scope=spfile;

3 启动后rename 有问题的datafile

alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\DBHOME_1\DATABASE\MISS
ING00004' to 'd:\orcldata\xepacs\users01.dbf';

由于scn较低,需要重新resetlogs调成一致,或者用bbed调整;
#4 推进scn
ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME ADJUST_SCN LEVEL 1';
LEVEL: Level 1 is usually sufficient - it raises the SCN to 1 billion
5 alter database datafile 4 online;
startup mount;
SQL> recover until cancel;
完成介质恢复。
SQL> alter database datafile 4 online;
数据库已更改。

6 SQL> alter database open resetlogs;
此场景适用于offline了很久的数据文件,再online,丢失归档,或者数据库意外宕机