oracle 删除表 索引也会删除,Oracle 分区表删除分区数据时导致索引失效解决

Oracle 分区表删除分区数据时导致索引失效解决

一描述

今天有个小任务就是要删除些数据, 哈哈, 先自己小开心一下因为要删除的数据表是我之前转换成的分区表这个分区表是按照里面有个创建时间字段来分区的, 1 个季度为 1 个分区所以我现在要将 2017 年 7 月 1 日之前的数据删除 (数据量约 1000 万), 可以直接删除表分区数据就好如果要是用 delete 去删除这么多的数据, 我还要写存储过程, 分批提交的这样做就是这样的一简单的 truncate partition 引发了后继的业务故障最终查询到该表的索引失效, 重建立后恢复真是汗!

二实验

1. 创建环境SQL>create table TEST_PARTAS(id number(11),ACCOUNT_ID number(11),CTIME date)

2partitionbyrange(CTIME)

3interval(NUMTOYMINTERVAL(3,'month'))

4(partition P0 values less than(TO_DATE('2016-01-01','yyyy-mm-dd')),

5partition p1 values less than(to_date('2017-01-01','yyyy-mm-dd')));

Tablecreated.

SQL>insertintoTEST_PARTASselectt.id,t.account_id,t.create_timefromact_test t;

3483178rows created.

SQL>commit;

Commitcomplete.

SQL>EXEC SYS.DBMS_STATS.GATHER_TABLE_STATS('SAM','TEST_PARTAS'

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值