ORACLE-删除表空间 恢复

本文介绍两种在Oracle数据库中恢复已删除表空间的方法。第一种方法通过还原控制文件并使用RMAN进行数据库恢复来实现;第二种方法则利用备份的控制文件进行介质恢复。文章详细展示了每一步操作的SQL命令。
部署运行你感兴趣的模型镜像

----删除前最好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是当前日志组的一个成员

 

 

 

 


 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值