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

2014-11-24 18:23:51 · 作者: · 浏览: 0

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


重装Windows系统,重做数据库


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;