打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ORACLE


    ORACLE--分区表数据清理

    由于分区表数据增加;没做清除操作;导致表空间告急。需要清理很久之前的数据;释放空间。步骤如下

    一,查看哪个表占的空间

    1
    2
    3
    4
    SELECT t.segment_name, SUM(t.bytes / 1024 / 1024)
      FROM user_segments t
     GROUP BY t.segment_name
     ORDER BY SUM(t.bytes / 1024 / 1024) DESC

    二、查看每个子分区的记录

    1
    SELECT a.table_name,a.partition_name FROM user_tab_partitions  a WHERE a.table_name = 'TBL_SMSMT_AUTOACTIV_BILL_HIS';

    三、检查分区表的索引是否LOCAL类型
    --先查看该表的索引

    1
    SELECT * FROM User_Indexes a WHERE a.table_name  = 'TBL_SMSMT_AUTOACTIV_BILL_HIS';

     --在查看索引是否为local类型;若不存在;则为全局索引

    1
    select table_name,index_name,LOCALITY from user_part_indexes where table_name='TBL_SMSMT_AUTOACTIV_BILL_HIS' ;

    四、如果都是LOCAL索引,直接清除表分区数据(如果是全局索引,清除完成后需要重建)

         本地索引在你删除子分区表的时候会跟着删除;不会影响。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201305;
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201306;
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201307;
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201308;
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201309;
    ALTER TABLE TBL_SMSMT_AUTOACTIV_BILL_HIS DROP PARTITION P201310;
    ALTER INDEX SYS_C00105590 REBUILD;          
    ALTER INDEX I_TBL_SMSMT_AUTOACTIV_BILL_HIS REBUILD;        --其中SYS_C00105590,I_TBL_SMSMT_AUTOACTIV_BILL_HIS是全局索引

     五, 验证是否释放空间;(可忽略)

      再执行第一步;

    本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
    打开APP,阅读全文并永久保存 查看更多类似文章
    猜你喜欢
    类似文章
    mysql常用操作命令
    MySQL DISABLE/ENABLE KEYS的作用
    数据库系统原理(第四章:SQL与关系数据库基本操作 )
    mysql 基础教程 很全
    详解分区表上的索引问题
    oracle partition - oracle - hgcwen_wen
    更多类似文章 >>
    生活服务
    热点新闻
    分享 收藏 导长图 关注 下载文章
    绑定账号成功
    后续可登录账号畅享VIP特权!
    如果VIP功能使用有故障,
    可点击这里联系客服!

    联系客服