Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 表分区是基于范围或间隔的_Oracle_Oracle11g - Fatal编程技术网

Oracle 表分区是基于范围或间隔的

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立

我必须做数据库分区测试,我现在创建了表中的间隔分区如果我移动时钟进行测试,新的分区不会被创建吗?它仍然显示旧分区。你知道怎么解决这个问题吗?如何在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结束; 二十六/

程序已创建


请帮我解决这个问题。

对于间隔分区,数据字典视图用户选项卡分区中的列间隔设置为是:


要查找表是否是间隔分区的,是否创建了基于间隔的任何分区,可以检查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