重建控制文件 recreate control file

简单总结如下:
1) 启动到mount
2) 执行Alter database backup controlfile to trace;
3) 找到第2步生成的trace文件,并作相应修改. 只保留创建语句
4) shutdown并启动到nomount, 执行创建语句
5) 启动到mount
6) 执行下面脚本,进行恢复
$more recover_db.sh
#!/bin/bash
source /home/oracle/.bash_profile
cd `dirname $0`

sqlplus / as sysdba  recover database noparallel;
auto
EOD
7) 执行ALTER SYSTEM ARCHIVE LOG ALL;
8) ALTER DATABASE OPEN;
9) 注册临时文件  (语句在第2步生成的trace文件末尾)
ALTER TABLESPACE TEMP2 ADD TEMPFILE '+DATA1/isddw/datafile/temp2_01' REUSE;
....

附Metalink中的步骤
Applies to:
Oracle Server - Enterprise Edition
Information in this document applies to any platform.
"Checked for relevance on 12-March-2008"
***Checked for relevance on 25-Jul-2010***

Symptoms
ORA-1122 :database file %s failed verification check
ORA-1110 : datafile :
ORA-1207: ORA 1207 file is more recent than control file

Cause
The information in this file is inconsistent with information from the control file.
The datafile header CHECKPOINT count is beyond the controlfile CHECKPOINT count.

Solution
1.Mount the database
SQL>Startup mount

2. trace the control file

SQL> Alter database backup controlfile to trace;

3. Create a control file creation script. from the tracefile generated in user_dump_dest.

Use the Noresetlogs option

4.shutdown the database and start it NOMOUNT mode

SQL>shutdown abort
SQL>startup NoMount

5.Create the control file

Use the script. generated by the 'backup controlfile to trace' command above.

Reference: Note:1012929.6 How to Recreate the Controlfile

6.Recover database

SQL>recover database ;

7.Open the database

SQL>Alter database open

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/94384/viewspace-684444/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/94384/viewspace-684444/

你可能感兴趣的:(重建控制文件 recreate control file)