暂无图片
如何删除recover状态的数据文件,归档和备份已经误删了
我来答
分享
ora_hub
2022-05-26
如何删除recover状态的数据文件,归档和备份已经误删了

一个表空间里面有10几个datafile, 其中3个变成recover状态了。 

尝试recover datafile 都不行。归档和备份已经删除了。怎么才能把这几个文件删掉。

这3个文件是别人新建的,应该没有存数据。


我来答
添加附件
收藏
分享
问题补充
9条回答
默认
最新
Root__Liu

11g的话,先确认asm磁盘空间够不够,在使用rman copy的方法,把数据文件恢复到asm里面。
简单过程如下:

--rman backup
backup as copy datafile 27 format '+datadg';
backup as copy datafile 28 format '+datadg';
backup as copy datafile 29 format '+datadg';

--offline数据文件
alter database datafile 27 offline;
alter database datafile 28 offline;
alter database datafile 29 offline;

--rman copy
switch datafile 27 to copy;
switch datafile 28 to copy;
switch datafile 29 to copy;

--rman 恢复
recover datafile 27;
recover datafile 28;
recover datafile 29;

--sqlplus online datafile
alter database datafile 27 online;
alter database datafile 28 onlien;
alter database datafile 29 onlien;

12C的话,在线move就行。

 alter database move datafile '。。。' to '+datadg';

再次提醒,,,,加asm表空间一定不能忘记+号

暂无图片 评论
暂无图片 有用 0
暂无图片
ora_hub
题主
2022-05-26
谢了,谢了 我赶紧试试。。
ora_hub
题主
2022-05-26
这几个文件 不知道他怎么加的,有71G大小。。。ram copy的话应该没空间放了。 asm空间本来就不够了,我可能先尝试加ASM磁盘了。
Root__Liu

先检查下,物理层面数据文件是不是被删掉了。

要删除的话,可以这么删除
ALTER DATABASE DATAFILE ‘’ OFFLINE DROP;

暂无图片 评论
暂无图片 有用 0
ora_hub
题主
2022-05-26
物理文件在,这个命令可以执行成功 ,就是查看v$datafile 这几个文件还是recover的状态
ora_hub

有个疑问,数据库我看了 没有开启归档模式,为啥还需要这个归档文件。。。

暂无图片 评论
暂无图片 有用 0
ora_hub


已经offline drop 了,还在呢

暂无图片 评论
暂无图片 有用 0
Root__Liu

图片不清晰看不清楚。

为什么数据文件的ONLINE_STATUS是RECOVER?通常是由于执行了 alter database datafile 1 offline drop导致,估计是因为添加数据文件时写错了名字或者是底层操作系统执行了删除,但是这个命令并不是真正的删除某个数据文件,而是把一个数据文件置于离线状态,并且需要恢复的目的。

我理解现在是数据文件已经是recover状态了,你online的时候提示让recover,但实际上归档也已经删掉了,所以不能从归档里面恢复过来数据。这个时候如果确定数据不需要恢复的话,可以考虑从它在的表空间删除掉。
ALTER TABLESPACE test DROP DATAFILE ‘’;

当然,最保险的做法,那就是导出表空间的数据,删除表空间(drop tablespace xxx including contents and datafiles),重建表空间在导入数据。或者move到其他表空间重建后在move回去。

暂无图片 评论
暂无图片 有用 0
ora_hub
题主
2022-05-26
本来是磁盘空间满了。他们加数据文件加在本地磁盘了,不是在ASM里面,这个yahuan好像还不是共享磁盘,所以加完就报数据文件不能访问了。 ALTER TABLESPACE test DROP DATAFILE ‘’; 这个我也尝试了 都不行
ora_hub


本来是磁盘空间满了。他们加数据文件加在本地磁盘了,不是在ASM里面,这个yahuan好像还不是共享磁盘,所以加完就报数据文件不能访问了。

ALTER TABLESPACE test DROP DATAFILE ‘’; 这个我也尝试了 都不行

暂无图片 评论
暂无图片 有用 0
Root__Liu
2022-05-26
你这个。。。。。属于故障了。
Root__Liu

是哪个版本,不同版本有不同的处理方法

暂无图片 评论
暂无图片 有用 0
ora_hub
题主
2022-05-26
linux6.3 , oracle 11.2.0.4 的rac环境
ora_hub
题主
2022-05-26
这个对asm加个磁盘有影响吗,现在没空间,也没法move到别的表空间。
Root__Liu

别赶紧试,,,,先研究下理解下原理,在找点经验看看,考虑下风险,如果空间不够先解决空间的问题,跟客户说下情况,最好申请个时间做。

暂无图片 评论
暂无图片 有用 0
ora_hub
题主
2022-05-26
嗯嗯 搜了一下,rac数据文件误加到本地,更改到asm的资料看下。 谢了!
ora_hub
题主
2022-05-26
好的 我研究下 rac误添加数据文件到本地,更改到asm的方法。谢谢
Root__Liu

这个情况,看你这几个数据文件写的那么整齐,应该是人为指定加到本地的,asm识别不到,但是控制文件里面有记录,所以是recover状态。

暂无图片 评论
暂无图片 有用 0
ora_hub
题主
2022-05-26
控制文件里 rename一下吧。我先研究看看吧。
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏