SYSTEM表空间数据文件被误删除后的处理

问题:某数据库SYSTEM表空间由2个数据文件组成,分别为system01.dbf和system02.dbf。因操作失误,从磁盘上将system02.dbf误删除了。致使数据库启动过程中报错。如下所示:

SQL> startup

ORACLE instance started.


Total System Global Area  536870912 bytes

Fixed Size    2097624 bytes

Variable Size  150998568 bytes

Database Buffers  377487360 bytes

Redo Buffers    6287360 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 7 - see DBWR trace file

ORA-01110: data file 7: '/oradata/orcl/system02.dbf'


处理过程 :

1、在MOUNT状态下,创建同名的数据文件。

SQL> alter database create datafile '/oradata/orcl/system02.dbf';


Database altered.


2、恢复数据文件,当提示指定日志文件时,输入“AUTO”。

SQL> recover datafile '/oradata/orcl/system02.dbf';

ORA-00279: change 847492 generated at 12/27/2013 08:33:31 needed for thread 1

ORA-00289: suggestion : /oradata/orcl/bak1/orcl_1_39_831555614.log

ORA-00280: change 847492 for thread 1 is in sequence #39



Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

AUTO

ORA-00279: change 848230 generated at 12/27/2013 09:06:59 needed for thread 1

ORA-00289: suggestion : /oradata/orcl/bak1/orcl_1_40_831555614.log

ORA-00280: change 848230 for thread 1 is in sequence #40

ORA-00278: log file '/oradata/orcl/bak1/orcl_1_39_831555614.log' no longer needed for this recovery



Log applied.

Media recovery complete.


3、正常打开数据库

SQL> alter database open;


Database altered.


4、确认数据库当前状态

SQL> select open_mode from v$database;


OPEN_MODE

----------

READ WRITE


补充说明:

1、recover 过程中,需要联机重做日志中的内容来恢复。若被误删除的文件中所包含的数据较早,还需要归档日志。故,保证联机重做日志和归档日志的完整,十分重要。


你可能感兴趣的:(System,表空间,数据文件,system02.dbf)