oracle表空间误操作

背景

由于不熟悉,同事在oracle R2中创建表空间失败后,直接删除了dbf文件,再使用

alter tablespace tablespacenaem drop datafile datafile ;

drop tablespace tablespacename including content and datafiles;

发现无法再正常执行。于是删除了dba_tablespaces中表空间数据,delete from dba_tablespaces

解决步骤

1、  恢复dbf文件

recover datafile XXX.dbf;

2、  恢复dba_tablespaces中数据

select * from ts$

会发现删除的记录还在,而且online状态为3

使用Update 设置online属性为1,使用id

select * from dba_tablespaces

检查dba_tablespaces中删除的记录是否应经生成

3、  dbf文件文件设为online

alter database datafile '*****' ONLINE;

 

 

解释

由于dba_tablespaces是建立在ts$上的视图,但delete  dba_tablespaces 中的一条数据时,并没有同时删除ts$中的数据,只是将其online状态改为了3,同理删除dba_ datafiles时,会在file$将其online 设置2

 

参考

http://www.anysql.net/dba/delete_dba_tablespaces.html

http://www.itpub.net/viewthread.php?action=printable&tid=801492

http://hi.baidu.com/ancen_ye/blog/item/0fdd3f0ad7ac7a35b1351db9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值