Oracle数据库的ORA-01122 ORA-01110 ORA-01207错误

Oracle数据库的ORA-01122 ORA-01110 ORA-01207错误

Windows上保留原来数据库的数据文件、控制文件、重做日志文件

重装Windows系统,重做数据库。

1、  安装Oracle数据库软件

2、  使用Oracle dbca创建一个与原来数据库名称一样的数据库

3、  先备份spfile文件(一般位于$ORACLE_HOME\dbs目录下),生成一个pfile文件(一般位于$ORACLE_HOME\database目录下):

SQL>create  pfile  from spfile;

4、  修改pfile文件种控制文件的路径。路径指向原来保留数据库的控制文件

5、  启动数据库

SQL>startup

如果数据库启动到mount状态,不能启动到open状态,通常报下面的错误:

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" NORESETLOGS NOARCHIVELOG

           MAXLOGFILES 16

           MAXLOGMEMBERS 3

           MAXDATAFILES 100

           MAXINSTANCES 8

           MAXLOGHISTORY 292

LOGFILE

          GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO01.LOG' SIZE50M,

          GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO02.LOG' SIZE50M,

          GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\XBOMS\REDO03.LOG' SIZE50M

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',

CHARACTER SET ZHS16GBK

;

5、RECOVER DATABASE

6、ALTER DATABASE OPEN;