迪奥哪款香水适合20岁:数据文件误删除后的数据库恢复

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 09:08:24
数据文件误删除后的数据库恢复1、备份控制文件(当在数据库结构发生改变的时候,要有备份控制文件的习惯)
SQL> conn
iceman/iceman@iceman;
已连接。

SQL> alter database backup controlfile to trace;
数据库已更改。

此文件将备份到D:\oracle\admin\iceman\udump,其中包含了创建控制文件夹的SQL语句。如下:
CREATE CONTROLFILE REUSE DATABASE "ICEMAN" NORESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\ICEMAN\REDO01.LOG'  SIZE 100M,
  GROUP 2 'D:\ORACLE\ORADATA\ICEMAN\REDO02.LOG'  SIZE 100M,
  GROUP 3 'D:\ORACLE\ORADATA\ICEMAN\REDO03.LOG'  SIZE 100M
-- STANDBY LOGFILE
DATAFILE
  'D:\ORACLE\ORADATA\ICEMAN\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\UNDOTBS01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\CWMLITE01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\DRSYS01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\EXAMPLE01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\INDX01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\ODM01.DBF',
  'E:\ORADATA\TOOLS01.DBF',
  'E:\ORADATA\USERS01.DBF',
  'D:\ORACLE\ORADATA\ICEMAN\XDB01.DBF',
  'E:\ORADATA\GDSB_DATA.DBF',
  'E:\ORADATA\GDSB.DBF',
  'E:\ORADATA\JF11_DATA01.DBF',
  'E:\ORADATA\JF11_DATA02.DBF',
  'E:\ORADATA\JF11_DATA03.DBF',
  'E:\ORADATA\JF11_DATA04.DBF',
  'E:\ORADATA\JF11_DATA05.DBF',
  'E:\ORADATA\JF11_INDEX01.DBF'
CHARACTER SET ZHS16GBK;
2、关闭数据库,删除数据文件
SQL> conn sys/sys@iceman as sysdba;
已连接。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\ICEMAN\SYSTEM01.DBF
D:\ORACLE\ORADATA\ICEMAN\UNDOTBS01.DBF
D:\ORACLE\ORADATA\ICEMAN\CWMLITE01.DBF
D:\ORACLE\ORADATA\ICEMAN\DRSYS01.DBF
D:\ORACLE\ORADATA\ICEMAN\EXAMPLE01.DBF
D:\ORACLE\ORADATA\ICEMAN\INDX01.DBF
D:\ORACLE\ORADATA\ICEMAN\ODM01.DBF
E:\ORADATA\TOOLS01.DBF
E:\ORADATA\USERS01.DBF
D:\ORACLE\ORADATA\ICEMAN\XDB01.DBF
E:\ORADATA\GDSB_DATA.DBF
E:\ORADATA\GDSB.DBF
E:\ORADATA\JF11_DATA01.DBF
E:\ORADATA\JF11_DATA02.DBF
E:\ORADATA\JF11_DATA03.DBF
E:\ORADATA\JF11_DATA04.DBF
E:\ORADATA\JF11_DATA05.DBF
E:\ORADATA\JF11_INDEX01.DBF
已选择18行。
SQL> alter database datafile 'E:\ORADATA\JF11_DATA05.DBF' offline drop;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
3、启动数据库到NOMOUNT状态,创建以前备份的控制文件
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ICEMAN" NORESETLOGS  NOARCHIVELOG
  --  SET STANDBY TO MAXIMIZE PERFORMANCE
      MAXLOGFILES 5
      MAXLOGMEMBERS 3
      MAXDATAFILES 100
      MAXINSTANCES 1
      MAXLOGHISTORY 226
  LOGFILE
    GROUP 1 'D:\ORACLE\ORADATA\ICEMAN\REDO01.LOG'  SIZE 100M,
 10    GROUP 2 'D:\ORACLE\ORADATA\ICEMAN\REDO02.LOG'  SIZE 100M,
 11    GROUP 3 'D:\ORACLE\ORADATA\ICEMAN\REDO03.LOG'  SIZE 100M
 12  -- STANDBY LOGFILE
 13  DATAFILE
 14    'D:\ORACLE\ORADATA\ICEMAN\SYSTEM01.DBF',
 15    'D:\ORACLE\ORADATA\ICEMAN\UNDOTBS01.DBF',
 16    'D:\ORACLE\ORADATA\ICEMAN\CWMLITE01.DBF',
 17    'D:\ORACLE\ORADATA\ICEMAN\DRSYS01.DBF',
 18    'D:\ORACLE\ORADATA\ICEMAN\EXAMPLE01.DBF',
 19    'D:\ORACLE\ORADATA\ICEMAN\INDX01.DBF',
 20    'D:\ORACLE\ORADATA\ICEMAN\ODM01.DBF',
 21    'E:\ORADATA\TOOLS01.DBF',
 22    'E:\ORADATA\USERS01.DBF',
 23    'D:\ORACLE\ORADATA\ICEMAN\XDB01.DBF',
 24    'E:\ORADATA\GDSB_DATA.DBF',
 25    'E:\ORADATA\GDSB.DBF',
 26    'E:\ORADATA\JF11_DATA01.DBF',
 27    'E:\ORADATA\JF11_DATA02.DBF',
 28    'E:\ORADATA\JF11_DATA03.DBF',
 29    'E:\ORADATA\JF11_DATA04.DBF',
 30    'E:\ORADATA\JF11_DATA05.DBF',
 31    'E:\ORADATA\JF11_INDEX01.DBF'
 32  CHARACTER SET ZHS16GBK
 33  ;
控制文件已创建
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: file 17 needs media recovery
ORA-01110: data file 17: 'E:\ORADATA\JF11_DATA05.DBF'
SQL> recover datafile 17;
完成介质恢复。
SQL> alter database open;
数据库已更改。
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\ICEMAN\SYSTEM01.DBF
D:\ORACLE\ORADATA\ICEMAN\UNDOTBS01.DBF
D:\ORACLE\ORADATA\ICEMAN\CWMLITE01.DBF
D:\ORACLE\ORADATA\ICEMAN\DRSYS01.DBF
D:\ORACLE\ORADATA\ICEMAN\EXAMPLE01.DBF
D:\ORACLE\ORADATA\ICEMAN\INDX01.DBF
D:\ORACLE\ORADATA\ICEMAN\ODM01.DBF
E:\ORADATA\TOOLS01.DBF
E:\ORADATA\USERS01.DBF
D:\ORACLE\ORADATA\ICEMAN\XDB01.DBF
E:\ORADATA\GDSB_DATA.DBF
E:\ORADATA\GDSB.DBF
E:\ORADATA\JF11_DATA01.DBF
E:\ORADATA\JF11_DATA02.DBF
E:\ORADATA\JF11_DATA03.DBF
E:\ORADATA\JF11_DATA04.DBF
E:\ORADATA\JF11_DATA05.DBF
E:\ORADATA\JF11_INDEX01.DBF
已选择18行。