我在oracle11G下有一个分区表,其中占空间较大的是两个blob字段。
按月进行分区,通常保留两个月的分区,
最近业务量较大,表所在的表空间不断申请新的数据文件,导致asm盘组空间不足,多次报警。
现在的处理方法是删除上个月的分区
查看表空间dba_free_space已经多出来2T。
但是数据文件如何删除呢?asm盘组还是只剩下300多G,有些隐患。
按月进行分区,通常保留两个月的分区,
最近业务量较大,表所在的表空间不断申请新的数据文件,导致asm盘组空间不足,多次报警。
现在的处理方法是删除上个月的分区
查看表空间dba_free_space已经多出来2T。
但是数据文件如何删除呢?asm盘组还是只剩下300多G,有些隐患。
整个分区都被删除了,也不存在高水位线的问题,
只是分区删除后释放出来大量的空间,由于双12业务量大,所以占用空间也大,
后续是不会用到这么多空间的,
目前asm盘组只剩了300多G,我想把分区表所在的表空间中的部分数据文件删除,把空间返回给asm盘组。
但alter tablespace xxxxx drop datafile 'xxxxxxxxxx'
报错,说数据文件还被占用,查看segments,数据文件中也确实被分配了。
但是里面应该都是空的。
如何解决这个问题呢?
你这些数据文件是否还有 其它schema的对象 ,如索引。
1、导出数据,收缩表数据文件,再导入数据。
2、新建一个表空间,再 move 到新表空间,再删除原表空间。