首页 > 数据库 >Oracle split partition and table compression

Oracle split partition and table compression

时间:2023-02-14 10:24:55浏览次数:43  
标签:BEGIN partition NAME MAX PARTITION Oracle table DT PM

DECLARE
  V_BEGIN_DT     DATE;
  IN_PART_TYPE   VARCHAR2(30):= 'PM_MAX';
  STR_PART_DT    VARCHAR2(30);
  STR_DT         VARCHAR2(30);
BEGIN
  FOR I IN(SELECT TABLE_NAME,MAX(PARTITION_NAME) AS PARTITION_NAME
             FROM USER_TAB_PARTITIONS T 
            WHERE T.TABLE_NAME IN ('TEST_SPLIT_COMPRESS')
              AND PARTITION_NAME LIKE'PM%'
              AND PARTITION_NAME NOT IN('PM_MAX')
            GROUP BY TABLE_NAME)
  LOOP
   V_BEGIN_DT := ADD_MONTHS(TO_DATE(SUBSTR(I.PARTITION_NAME,4),'YYYYMM'),1);
    WHILE V_BEGIN_DT <= DATE'2022-08-31' --扩展至20220831
    LOOP
      STR_PART_DT := TO_CHAR(ADD_MONTHS(V_BEGIN_DT,1), 'YYYY-MM-DD HH24:MI:SS');
      STR_DT := TO_CHAR(V_BEGIN_DT,'YYYYMM');
      EXECUTE IMMEDIATE 'ALTER TABLE '||I.TABLE_NAME||' SPLIT PARTITION '||IN_PART_TYPE
            ||' AT(TO_DATE('''||STR_PART_DT||''',''YYYY-MM-DD HH24:MI:SS''))
            INTO (PARTITION PM_'||STR_DT||' COMPRESS,PARTITION '||IN_PART_TYPE||')';
            
            
        V_BEGIN_DT := ADD_MONTHS(V_BEGIN_DT,1);
    END LOOP;
  END LOOP;
END;
/ 

ALTER TABLE TEST_SPLIT_COMPRESS SPLIT PARTITION PM_MAX AT(TO_DATE('2022-03-01 00:00:00','YYYY-MM-DD HH24:MI:SS'))
            INTO (PARTITION PM_202202 COMPRESS,PARTITION PM_MAX); 

 

  

标签:BEGIN,partition,NAME,MAX,PARTITION,Oracle,table,DT,PM
From: https://www.cnblogs.com/ayumie/p/17118771.html

相关文章

  • mysql 报错:Every derived table must have its own alias
    1.情景展示使用mysql对派生表查询数据的时候,报错信息如下:Everyderivedtablemusthaveitsownalias使用谷歌翻译成中文:每个派生表都必须有自己的别名。2.具体分析因为习......
  • mysql、oracle like查询不走索引的解决方案
    1.情景展示我们知道:无论是mysql还是oracle,只要使用like查询,就可能会面临索引失效(不走索引)的问题;下面,我们将一起来看看什么情况下,索引会失效,以及如何解决不走索引的问题。已......
  • mysql、oracle 分组查询,每组取一条数据
    1.情景展示有这样一种需求:将数据按照机构进行分组,然后取每个机构下只取一条记录,如何实现?2.mysql分组查询出来某字段,然后和原来的表进行关联查询。方式一:通过内连接来实现查......
  • 12. Oracle的初始化参数和性能视图
    一.性能参数1.CPUparametercpu_count:显示的是逻辑cpu数量(thread),主要是对并行度有影响2.Memoryparameterpga_aggregate_target:可以自动对pga进行调......
  • [Oracle19C ASM管理] ASM的网络服务
    启用了ASM集群以后,网络管理放给了grid用户。grid用户的$ORACLE_HOME/network/admin有网络配置文件,而oracle用户下的网络配置文件则不存在了。[[email protected]......
  • [Oracle19C ASM管理] ASM服务的启停
    自动方式启停crsctlstatres-t查看ASM服务的状态,it'sokthatora.ons和ora.diskmon是OFFLINE[[email protected]:/home/grid]$crsctlstatres-t------......
  • HTML_04_Table
    Table1.Basictablestructure<table></table>​ createatable<tr></tr>​ indicatethestartofeachrow<td></td>​ eachcellinaroll<table><t......
  • table 布局
    ​​rowspan​​​行扩展​​rowspan="2"​​表示占据两行的高度​​colspan​​​列扩展​​colspan="2"​​表示占据两列的宽度<!DOCTYPEhtml><html><head><ti......
  • 关于DataTable的一些操作
    1.数据筛选:dt.AsEnumerable().Where(r=>r.Field<string>("Name").StartsWith("A")).FirstOrDefault(); 2.注意AsEnumerable不可连续使用,比如:varitemdata=dt.As......
  • oracle 19c 视图v$sysmetric 和视图v$con_sysmetric视图求出来数据有一些区别
    目前有一个求oracletps这么一个需求19c要用这个统计tpsselectceil(a.value)fromv$con_sysmetrica,v$containerbwherea.metric_name='UserTransactionPerSec......