Oracle控制文件的恢复


情况一、有其它的控制文件没有被损坏

1、 用好的控制文件copy覆盖损坏的控制文件(数据库关闭的情况操作)

2、 正常关闭数据库修改参数文件,删除坏掉的控制文件路径。

情况二、所有的控制文件均被损坏,但是之前做过“alter database backup controlfile to trace”操作,生成一个控制文件信息到跟踪文件中,通过该文件信息手动创建控制文件。

1、 SQL> show parameter dual;查看跟踪文件位置

2、 SQL>alter database backup controlfile to trace;生成一个控制文件信息到跟踪文件里(这一步应该是在数据库控制文件没坏之前就做的)

3、 SQL>shutdown immediate正常关闭数据库

4、 SQL>startup nomount 启动实例

5、 SQL>host vi /db/ykg/udump/*.trc    打开之前生成的trc跟踪文件

6、 SQL> CREATE CONTROLFILE REUSE DATABASE "YKG" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 16
   MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 292
LOGFILE
 GROUP 1 '/db/ykg11a.log' SIZE 4M,
 GROUP 2 '/db/ykg/ykg2a.log' SIZE 4M,
 GROUP 3 '/db/ykg/ykg3a.log' SIZE 4M
-- STANDBY LOGFILE
DATAFILE
 '/db/ykg/system1.dbf',
 '/db/ykg/undo1.dbf',
 '/db/ykg/sysaux1.dbf',
 '/db/ykg/users001.dbf'
CHARACTER SET ZHS16GBK
;
根据之前备份的控制文件里的信息来创建控制文件。

7.打开数据库
Sql>alter database open;

8.数据库打开后查看之前的数据文件是否完整。

相关内容