Oracle:管理 date类型 interval 动态变化的分区:查询、删除
-- 创建临时表,目的是获取long类型的:high_value 的值 drop table syscom_tab_partition_temp purge ; create table prm8_user.syscom_tab_partition_temp (table_name varchar2(30),partition_position int,partition_name varchar(30),high_value clob, dt date ) ; -- 清理之前的临时数据 delete from syscom_tab_partition_temp a where a.table_name=upper('partition_table_name'); ; -- 获取partition表的分区信息 insert into syscom_tab_partition_temp(table_name,partition_position,partition_name,high_value) select a.table_name,a.partition_position,a.partition_name,to_lob(a.high_value) from user_tab_partitions a where a.table_name=upper('partition_table_name') ; --特殊 date interval 类型表的 date值的处理 update syscom_tab_partition_temp set dt=to_date(substr(trim(to_char(high_value)),11,19),'SYYYY-MM-DD HH24:MI:SS') where table_name=upper('partition_table_name') ; --获取删除脚本 select p.* ,'alter table ' || p.table_name || ' drop partition ' || p.partition_name || ';' as d_sql from syscom_tab_partition_temp p where p.table_name=upper('partition_table_name') and p.partition_name<>upper('PTN_DUMMY') and p.dt<trunc(sysdate - 180 ) -- 180 day order by p.partition_position desc ; --再次查询 select a.table_name,a.partition_position as pos,a.partition_name,a.interval,a.high_value,a.tablespace_name,a.num_rows,a.blocks,a.last_analyzed,a.empty_blocks,a.composite,a.subpartition_count,a.parent_table_partition from user_tab_partitions a where a.table_name=upper('partition_table_name') and a.interval=upper('yes') order by a.table_name,a.partition_position ; --更新统计信息 begin dbms_stats.gather_table_stats(ownname => user,tabname => 'partition_table_name',cascade => true); end; /
分类:
Oracle
, Oracle学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)