(一)问题: 最近在做Oracle数据清理,在对分区表进行数据清理时,采用的方法是drop partition,删除的过程中,没有遇到任何问题,大概过了10分钟,开发人员反馈部分分区表上的业务失败.具体错误为: ORA-01502错误:索引或这类索引的分区处于不可用状态(英文:ora-01502:index 'schema.index_name' or partition of such index is in unusable state). (二)原因分析 查看出现问题的分区表,均有一个共同
alter table 表 drop partition(分区); 例: 表是: user_all_info 分区是 day_id,month_id 我要删除10月10号的数据 那么: alter table user_all_info drop partition(month_id='201610',day_id='20161010');
--全删除 ALTER TABLE tableName DROP PARTITION partionName UPDATE GLOBAL INDEXES; --清数据 ALTER TABLE tableName TRUNCATE PARTITION partionName UPDATE GLOBAL INDEXES;
近日,由于部门数据库读库空间过小,提出删除掉两个月之前日志表的分区(数据库分区是按时间月分区),记述如下: 上网搜索资料发现删除表分区大概分这么几步: 1.查询需要删除掉的分区: select t.DATAPARTITIONNAME from syscat.datapartitions t where tabname = '?' with ur syscat.datapartitions表存放所有的分区,根据表名时间查询出所要删除的分区名. 2.detach分区到一张临时表(该操作会创建临