暂无图片
怎么查看过期的分区,分区是基于事件来分的。
我来答
分享
chen
2022-06-21
怎么查看过期的分区,分区是基于事件来分的。

怎么查看过期的分区,分区是基于事件来分的。

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Uncopyrightable

暂无图片 评论
暂无图片 有用 0
chen
题主
2022-06-21
我想问的是,如果分区是根据时间来分的,有些表分区中的时间比当前时间要小的话就比如我表分区只写到了202205,但是现在是202206了。我要怎么统计有哪些表分区的时间比当前时间小呢。
刘贵宾

直接列出所有分区不就可以了么

暂无图片 评论
暂无图片 有用 0
DarkAthena

查HIGH_VALUE

select table_name, PARTITION_NAME, PARTITION_POSITION, high_value from dba_tab_partitions; select table_name, PARTITION_NAME, subpartition_name, subpartition_position, high_value from dba_tab_subpartitions A;

由于high_value是个long类型,不能用于where条件,因此只能在存储过程里,把它的值赋给字符变量后,才能用于判断。
你还可以使用开窗函数,来取得PARTITION_POSITION最大的那一行对应的high_value。
当然,我不确定你是否有max分区,并且也不确定你分区字段的数据类型和格式,而且分区也不一定就是用时间进行分区,因此无法写出一个通用的sql来查出所有满足你要求的分区表。

所以还是直接查出每个分区表的每个分区上的high_value后再来进行人工排查吧

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏