ORACLE-删除表空间 恢复

来源:互联网 发布:unity3d ios 编辑:程序博客网 时间:2024/06/01 08:29

----删除前最好rman冷备份一次,controlfile要单独备份 alter database backup controlfile to '/oradata/controlfile.bak'; 如果不备份控制文件也可以在备份的ramn恢复控制文件,下面是我做的实验:

1、第一种恢复方法
SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMP
ECOLOGY


SQL> drop tablespace ecology including contents and datafiles;


SQL>shutdown immediate;


SQL>startup nomount;


RMAN>restore controlfile from '/oradata/controlfile.bak'; (控制文件需要在nomount状态下转储)


RMAN>alter database mount;


RMAN>report schema;

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    450      SYSTEM               ***     /oradata/oaback/system01.dbf
2    25       UNDOTBS1             ***     /oradata/oaback/undotbs01.dbf
3    300      SYSAUX               ***     /oradata/oaback/sysaux01.dbf
4    5        USERS                ***     /oradata/oaback/users01.dbf
5    0        ECOLOGY              ***     /oradata/oaback/ecology.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /oradata/oaback/temp01.dbf

(以上命令执行后可以看到删除的表空间,控制文件转储成功,因为表空间信息存储在controlfile,如果执行此命令没有看到删除的表空间,那么需要转储更早时间备份的controlfile,首先关闭数据库,启动到nomount,restore controlfile from '/oradata/controlfile.bak';在启动到mount,执行report schema 能看到删除的表空间则证明controlfile转储成功)

 

执行以下命令恢复删除的表空间

RMAN> run{
set until time '2013-08-20 14:45:00';
allocate channel c1 type disk;
allocate channel c2 type disk;
restore database;
recover database;
alter database open resetlogs;
}


2、第二种恢复方法
先用rman:  restore controlfile from '/oradata/comtrolfile.bak';


然后:recover database until time '2013-08-20 14:44:00' using backup controlfile;(这个时间点要自己找,或者大概估计一个)


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oradata/oaback/redo03.log
Log applied.
Media recovery complete.

SQL> alter database open resetlogs;
Database altered.

 

/oradata/oaback/redo03.log是当前日志组的一个成员

 

 

 

 


 

原创粉丝点击