Welcome 微信登录

首页 / 数据库 / MySQL / 归档模式,恢复没有备份的数据文件

场景:1.数据库开启归档;2.创建数据文件之后的所有归档日志都在线;3.数据文件或者表空间没有进行过备份,数据库也没有全库备份,数据文件异常丢失;
步骤:创建测试用的表空间:
SQL> create tablespace bbb datafile "/opt/Oracle/oradata/R11203/bbb.dbf" size 100m;SQL> create table test_b (id number(10)) tablespace bbb;SQL> insert into test_b values (1);SQL> commit;
SQL>select name,file# from v$datafile;NAME                                                                       FILE#--------------------------------------------------------------------------------
/opt/oracle/oradata/R11203/aaa.dbf                                     10/opt/oracle/oradata/R11203/bbb.dbf                                     1111 rows selected.
SQL> host删除数据文件,模拟异常丢失bash-4.2$ ls -al /opt/oracle/oradata/R11203/bbb.dbf-rw-rw---- 1 oracle    dba        10493952 Apr  4 09:53  /opt/oracle/oradata/R11203/bbb.dbfbash-4.2$ mv /opt/oracle/oradata/R11203/bbb.dbf  /opt/oracle/oradata/R11203/bbb.dbf.bakbash-4.2$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Fri Apr 409:55:03 2014Copyright (c) 1982, 2011, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 -64bit ProductionWith the Partitioning, OLAP, Data Mining and Real
 Application Testing optionsSQL> alter tablespace bbb read only;alter tablespace bbb read only*ERROR at line 1:ORA-01116: error in opening database file 11ORA-01110: data file 11:
 "/opt/oracle/oradata/R11203/bbb.dbf"ORA-27041: unable to open fileHPUX-ia64 Error: 2: No such file or directoryAdditional information: 3SQL> shutdown immediate;ORA-01116: error in opening database file 11ORA-01110: data file 11:
 "/opt/oracle/oradata/R11203/bbb.dbf"ORA-27041: unable to open fileHPUX-ia64 Error: 2: No such file or directoryAdditional information: 3SQL> select status from v$instance;STATUS------------OPEN
SQL> alter system switch logfile;System altered.SQL> /System altered.SQL> /System altered.SQL>/System altered.SQL> /System altered.SQL> /System altered.SQL>停机SQL> shutdown immediate;ORA-01116: error in opening database file 11ORA-01110: data file 11:
 "/opt/oracle/oradata/R11203/bbb.dbf"ORA-27041: unable to open fileHPUX-ia64 Error: 2: No such file or directoryAdditional information: 3SQL> shutdown abort;ORACLE instance shut down.把数据库启动到mount状态SQL> startup mount;ORACLE instance started. 
Total System Global Area  329859072 bytesFixedSize               2182336 bytesVariableSize            285213504 bytesDatabaseBuffers         37748736bytesRedoBuffers             4714496 bytesDatabase mounted.使用alter database create datafile <> as ....的方式,重建这个丢失的数据文件:SQL> alter database create datafile 11;Database altered.通过归档日志和redo log对数据文件进行恢复SQL> recover datafile 11;Media recovery complete.SQL> alter database open;Database altered.SQL> select * from test_b;     ID----------        1在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址