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.数据库打开后查看之前的数据文件是否完整。

你可能感兴趣的:(oracle数据库,恢复,控制文件)