Oracle 表分区是基于范围或间隔的
我必须做数据库分区测试,我现在创建了表中的间隔分区如果我移动时钟进行测试,新的分区不会被创建吗?它仍然显示旧分区。你知道怎么解决这个问题吗?如何在oracle数据库中检查表是范围分区还是间隔分区 在使用下面的代码删除分区后,我得到了区间分区表作为范围分区 SQL>在int AS中创建或替换过程分区\u deletevar 2 v日期:=系统日期; 3号; 4发生次数; 5 l_drop_sql varchar22000; 6开始 7立即执行“alter table sch1.1设置间隔”; 8立即执行“alter table sch1.1设置间隔”; 9-选择以cfcc作为表所有者的A或L开头的表 10对于在dba选项卡中选择表所有者、表名称、分区名称、高值的CUR,其中表所有者和REGEXP类似于表名称“^A”循环 11执行立即“选择”| | curs.high|u值| |“从双精度”到v;-将高_值从long转换为date 12从dual中选择roundSYSDATE-v到i;-查找当前日期和分区创建日期之间的差异 13从dba_选项卡_分区中选择count*into ocurance,其中table_name=curs.table_name;-查找特定表的现有分区数 14-发生率>1表示只有一个分区的表未被删除 15如果i>var且发生率>1,则 16 dbms|u输出。将|u行“天数为”| i; 17 dbms|u output.put|u line'表名和分区名分别为'||curs.table|u name |和'|curs.partition| name; 18 l|U drop|U sql:='alter table'|| curs.table|U owner |'.| curs.table|U name | |'drop partition'| curs.partition|U name | | |'更新全局索引'; 19 dbms_output.put_linel_drop_sql; 20立即执行l_drop_sql; 21如果结束,则结束; 22端环; 23立即执行“alter table sch1.1审计设置间隔NUMTOYMINTERVAL1,月”; 24立即执行“alter table CFCC.ALERTAUDITS set interval NUMTOYMINTERVAL1,MOUNT”; 25结束; 二十六/ 程序已创建Oracle 表分区是基于范围或间隔的,oracle,oracle11g,Oracle,Oracle11g,我必须做数据库分区测试,我现在创建了表中的间隔分区如果我移动时钟进行测试,新的分区不会被创建吗?它仍然显示旧分区。你知道怎么解决这个问题吗?如何在oracle数据库中检查表是范围分区还是间隔分区 在使用下面的代码删除分区后,我得到了区间分区表作为范围分区 SQL>在int AS中创建或替换过程分区\u deletevar 2 v日期:=系统日期; 3号; 4发生次数; 5 l_drop_sql varchar22000; 6开始 7立即执行“alter table sch1.1设置间隔”; 8立
请帮我解决这个问题。对于间隔分区,数据字典视图用户选项卡分区中的列间隔设置为是:
要查找表是否是间隔分区的,是否创建了基于间隔的任何分区,可以检查dbaalUser_PART_TABLES.interval。如果不为NULL,则此列包含在创建表或将表更改为间隔分区时指定的分区间隔。如果为空,则表示表未按间隔分区。如何移动时钟进行测试?请向我们展示一些代码、创建表、选择您已完成的操作等。感谢代码。因此,程序运行并打印出“ALTER TABLE…”。。。删除分区…,但分区仍然存在?您好。在执行之后,我得到了其他表的间隔字段为No,应该是Yes,对吗?
SELECT table_name, partition_name, partition_position, INTERVAL, segment_created
FROM user_tab_partitions;
TABLE_NAME PARTITION_NAME PARTITION_POSITION INTERVAL SEGMENT_CREATED
MYTABLE PRE2014 1 NO NO
MYTABLE SYS_P385 2 YES YES
MYTABLE SYS_P401 3 YES YES
MYTABLE SYS_P441 4 YES YES