重建控制文件修复数据库的步骤

来源:互联网 发布:戴尔游匣7559优化教程 编辑:程序博客网 时间:2024/05/02 01:31
1、shutdown immediate;  
2、在internal或sys下运行如下创建控制文件的脚本,注意完整列出联机日志或数据文件的路径,或修改由alter database backup control file to trace备份控制文件时产生的脚本,去掉多余的注释即可。  
STARTUP NOMOUNT  
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOG  
MAXLOGFILES 32  
MAXLOGMEMBERS 2  
MAXDATAFILES 254  
MAXINSTANCES 1  
MAXLOGHISTORY 226  
LOGFILE  
GROUP 1 'D:/ORACLE/ORADATA/TEST/REDO01.LOG' SIZE 1M,  
GROUP 2 'D:/ORACLE/ORADATA/TEST/REDO02.LOG' SIZE 1M,  
GROUP 3 'D:/ORACLE/ORADATA/TEST/REDO03.LOG' SIZE 1M  
DATAFILE  
'D:/ORACLE/ORADATA/TEST/SYSTEM01.DBF',  
'D:/ORACLE/ORADATA/TEST/RBS01.DBF',  
'D:/ORACLE/ORADATA/TEST/USERS01.DBF',  
'D:/ORACLE/ORADATA/TEST/TEMP01.DBF',  
'D:/ORACLE/ORADATA/TEST/TOOLS01.DBF',  
'D:/ORACLE/ORADATA/TEST/INDX01.DBF'  
CHARACTER SET ZHS16GBK;  
  
-- Recovery is required if any of the datafiles are restored backups,  
-- or if the last shutdown was not normal or immediate.  
RECOVER DATABASE  
--if the last shutdown was not normal or immediate  
--noarchive  
-- RECOVER DATABASE UNTIL CANCELUSING BACKUP CONTROLFILE  
--archive  
-- RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL  
-- Database can now be opened normally.  
ALTER DATABASE OPEN;  
--if recover database until cancel  
--ALTER DATABASE OPEN RESETLOGS;  
  
3、如果没有错误,数据库将启动到open状态下。