在Windows上保留原来数据库的数据文件、控制文件、重做日志文件
重装Windows系统,重做数据库。
1、 安装Oracle数据库软件
2、 使用Oracle dbca创建一个与原来数据库名称一样的数据库
3、 先备份spfile文件(一般位于$ORACLE_HOMEdbs目录下),生成一个pfile文件(一般位于$ORACLE_HOMEdatabase目录下):
SQL>create pfile from spfile;
4、 修改pfile文件种控制文件的路径。路径指向原来保留数据库的控制文件
5、 启动数据库
SQL>startup
如果数据库启动到mount状态,不能启动到open状态,通常报下面的错误:
ORA-01122:数据库文件1验证失败
ORA-01110:数据文件1: 'E:ORACLEPRODUCT10.2.0ORADATAXBOMSSYSTEM01.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:ORACLEPRODUCT10.2.0ORADATAXBOMSREDO01.LOG' SIZE50M,
GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAXBOMSREDO02.LOG' SIZE50M,
GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAXBOMSREDO03.LOG' SIZE50M
DATAFILE
'E:ORACLEPRODUCT10.2.0ORADATAXBOMSSYSTEM01.DBF',
'E:ORACLEPRODUCT10.2.0ORADATAXBOMSUNDOTBS01.DBF',
'E:ORACLEPRODUCT10.2.0ORADATAXBOMSSYSAUX01.DBF',
'E:ORACLEPRODUCT10.2.0ORADATAXBOMSUSERS01.DBF',
CHARACTER SET ZHS16GBK
;
5、RECOVER DATABASE
6、ALTER DATABASE OPEN;