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;

相关内容