oracle 的分区表

今早一来,同事说分区表无法分区了

先手动分区,alter table <tablename> add partition <分区名称> values less than(to_date('《时间》','yyyy/mm/dd'))  (我们使用的是范围分区表)

查后发现分区表中有几个分区与我们自己定义的分区命名规则有些不同,这样可能造成原来写的自动增加分区的作业无法完成;

可是分区表原表已经删除,只剩下了未删除的分区(user_tab_partitions的table_name字段值变成了 BIN$.......)

查过资料后才知道有一个回收站,

恢复已经进入回收站的数据表:flashback table 《原始表名》 to before drop rename to 《恢复后的新表名》。也可以使用 flashback table 《原始表名》 to before drop。2者的区别是一个是重新建立一个表名,一个恢复后还是原来的表名。


恢复数据表后删除表分区、数据表即可。

额外的知识点

1.删除某个表不进入回收站 drop table tableName purge()

2.删除回收站的某个表信息  purge table tableName 或者删除索引 purge index origenal_indexName

3.SELECT  * FROM user_recyclebin t;

4.删除回收站所有东西:PURGE recyclebin;

当数据表剩余最后一个分区时,删除表的时候使用的是 drop table tableName purge 删除的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值