处理在线日志数据过大问题之一--根据rowid批量删除
我们有一个实时日志表数据量太大了(这个不是分区表),这个表不能中断业务,我们先要在线删除部分数据。有这个是生产库不能中断业务不能使用create table rename 的方法来搞。我就老老实实的使用rowid批删除的方法。
SELECT table_name, ROUND (BLOCKS * 8192 / 1024 / 1024 , 2) "total_size(M)", ROUND (num_rows * AVG_ROW_LEN / 1024 / 1024 , 2) "used_size(M)", ROUND ( ( (BLOCKS * 8192 / 1024 / 1024 ) - (num_rows * AVG_ROW_LEN / 1024 / 1024 )), 2) "wasted_size(M)", ROUND (ROUND ( ( (BLOCKS * 8192 / 1024 / 1024 )- (num_rows * AVG_ROW_LEN / 1024 / 1024 )),2)/ ROUND (BLOCKS * 8192 / 1024 / 1024 , 2),2)* 100|| '%' wasted_percent FROM user_tables WHERE ROUND (BLOCKS * 8192 / 1024 / 1024 , 2) <> 0ORDER BY 2 desc;