`

oracle 创建范围列表(Rang-list)组合分区

阅读更多
创建分区:
create table GPS_POSITION
(
  ID           NVARCHAR2(32) not null,
 
  GPSTIME      DATE,
  LONGITUDE    NUMBER,
  LATITUDE     NUMBER,
  SPEED        NVARCHAR2(16),
  CITYID       NVARCHAR2(20)
)
partition by range(gpstime) subpartition by list (cityid)
subpartition template 
(
    subpartition p600000 values ('600000'),
    subpartition p600001 values ('600001'),
    subpartition psub_def values (default)         
)
(
partition p201010 values less than (to_date('2010-10-01','yyyy-mm-dd'))
)
tablespace GPS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 16K
    minextents 1
    maxextents unlimited
   );

新增加分区:
alter table gps_position add partition p201011 VALUES  less than (to_date('2010-11-01','yyyy-mm-dd'))
(
    subpartition p600000 values ('600000'),
    subpartition p600001 values ('600001'),
    subpartition psub_def values (default)         
)

删除分区:
Alter TABLE gps_position Drop PARTITION p201011;


查看分区信息:
select partition_name,subpartition_name,tablespace_name
from user_tab_subpartitions where table_name='xxx';


使用分区查询:
select * from gps_position subpartition(P201010_P600000)

select * from gps_position partition(P201010)


创建存储过程:
--存储过程
create or replace procedure add_partition( 
p_salary in number) is
v_cur BINARY_INTEGER;
v_date DATE;
sql_stmt VARCHAR2 (1000);
sql_stmt_sub VARCHAR2 (1000);
sql_log VARCHAR2 (1000);
CURSOR c_td_table IS
select cityid from gps_info
group by cityid;
begin
v_date :=TRUNC (ADD_MONTHS (SYSDATE, 2), 'MM');
sql_log :='insert into H_RETENTION(id,TABLENAME) VALUES(H_RETENTION_SEQ.Nextval'||',''p'||TO_CHAR (v_date,'YYYYMM')||''')';
sql_stmt :='ALTER TABLE GPS_POSITION ADD PARTITION p'|| TO_CHAR (v_date,'YYYYMM')|| ' VALUES  less than(to_date('''||to_char(v_date,'YYYY-MM')||'-01'',''YYYY-MM-DD''))(';  
v_cur := DBMS_SQL.open_cursor;
FOR v_table IN c_td_table
LOOP
sql_stmt_sub :=sql_stmt_sub|| ' subpartition p'|| v_table.cityid|| ' values('''|| v_table.cityid|| '''), ';
end loop;
sql_stmt_sub :=substr(sql_stmt_sub,0,TO_NUMBER(LENGTH(sql_stmt_sub)-2));
sql_stmt :=sql_stmt||sql_stmt_sub||')';

execute immediate sql_stmt;
execute immediate sql_log;
--dbms_output.put_line(sql_log);
commit;

DBMS_SQL.close_cursor(v_cur);
end add_partition;

--执行存储
begin
add_partition(1);
end;

--查询分区
select partition_name,subpartition_name,tablespace_name
from user_tab_subpartitions;

--删除分区
Alter TABLE gps_position Drop PARTITION p201011;  


--创建作业调度
variable job10 number;
begin
SYS.dbms_job.submit(:job10,'gpsuser.add_partition;',SYSDATE,'TRUNC(LAST_DAY(SYSDATE))+1+1/24');
--dbms_job.run(jobnum,TRUE); 
commit; 
end;
/


--查看相关job信息
  1、相关视图
  dba_jobs
  all_jobs
  user_jobs
  dba_jobs_running 包含正在运行job相关信息
SELECT JOB, NEXT_DATE, NEXT_SEC, FAILURES, BROKEN,WHAT FROM DBA_JOBS




1:每分钟执行

Interval => TRUNC(sysdate,'mi') + 1/ (24*60)



Interval => sysdate+1/1440

2:每天定时执行

例如:每天的凌晨1点执行

Interval => TRUNC(sysdate) + 1 +1/ (24)

3:每周定时执行

例如:每周一凌晨1点执行

Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

4:每月定时执行

例如:每月1日凌晨1点执行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

5:每季度定时执行

例如每季度的第一天凌晨1点执行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

6:每半年定时执行

例如:每年7月1日和1月1日凌晨1点

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

7:每年定时执行

例如:每年1月1日凌晨1点执行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24
分享到:
评论

相关推荐

    PyPI 官网下载 | arang-0.62.tar.gz

    《PyPI官网下载 | arang-0.62.tar.gz:深入理解Python ArangoDB库》 在Python的世界里,数据库的使用是不可或缺的一部分。ArangoDB是一个强大的、开源的多模式数据库,它支持文档、图形和键值数据模型。在Python...

    Python库 | arang-0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:arang-0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    rang -工智能生成图像的危害分析与网络真实性保护.pdf

    1. **加强立法监管**:政府应当出台相关政策法规,明确界定AI生成图像的使用范围及其法律责任,加大对违法行为的惩处力度。 2. **提高公众意识**:通过媒体宣传、教育培训等方式,增强公众对于AI生成图像的认知水平...

    Oracle 9i、10g、11g通用的Range分区自动扩展存储过程

    分享一个自己编写的Oracle 9i、10g、11g通用的Range分区自动扩展存储过程,可以在输入相应参数后自动实现RANGE表分区的扩展,推荐在数据仓库、经营分析等OLAP数据库中使用。

    Rang-Apps

    在IT行业中,"Rang-Apps"可能是一个项目或应用的名称,但没有提供足够的上下文来详细解释它是什么。不过,我们可以从这个名字推测它可能与开发或设计应用程序(Apps)有关,尤其考虑到"rang"这个词在一些语言中可能...

    rang-de

    【标题】"rang-de"可能源自印度语,意为“色彩之歌”或“染色”,在印度文化中,这通常与色彩丰富的节日Holi有关,一个庆祝春天、爱与和谐的节日。在这个活动中,人们会互相投掷彩色粉末和水,象征着生活中的多彩...

    rn-range-slider:具有范围的本机滑块

    高度优化且完全可定制的纯JS组件,用于选择值范围。 用户移动拇指时,不会重新渲染该组件。 即使有标签,更改值时也仅重新呈现标签组件。 RangeSlider使用React Native的Animated库来转换滑块/标签/选定的轨道。 ...

    汇顶ble-long rang添加

    汇顶ble-long rang添加

    mysql通过Navicat分区实操讲解

    mysql分区有利于管理非常大的表,mysql分区一共有四种类型,range分区,list分区, hash分区,key分区,我们通过Navicat 可视化工具来分区 1、打开Navicat 找到指定的数据库,设计表 2、打开设计表选择选项,下面有...

    基于范围-范围-范围模型的有限室内空间火灾定位

    基于无线传感器阵列采集的温度数据,本文提出了一种新颖的基于范围-范围-范围(Range-Range-Range, RRR)模型,旨在克服现有范围-点-范围(Range-Point-Range, RPR)模型的不足。通过使用远场定位技术,可以利用单个...

    generator-rang:使用 RequireJS 搭建 AngularJS 应用程序

    equireJS + [ANG]ularJS = RANG 带有 RequireJS 的用于 AngularJS 应用程序的 Yeoman 生成器用法安装generator-rang : npm install -g generator-rang运行yo rang以显示可用命令: yo rang发电机范围:服务 - 待办...

    matlab赋值给excel的rang问题.docx

    该函数的第四个参数`rang`用于指定Excel工作表中要写入数据的单元格范围。`rang`的设定方式直接影响数据如何被写入。下面我们将深入探讨如何正确使用`rang`,并解决在动态赋值时遇到的问题。 首先,`rang`可以是...

    rang_seek_bar

    rang_seek_bar 范围控件 例如:价格范围,距离范围.

    电解电容规格书(含参数和封装尺寸)

    Operating temperature rang - 40°C ~ +85°C Rated voltage range 6.3V ~ 160V Capacitance Range 0.47uF ~ 6800uF Capacitance Tolerance ±20% (120Hz,+20°C) Leakage current I≤ 0.03CV +3(uA)(1 ...

    jQuery UI Datepicker - Select a Date Rang

    接下来,我们需要创建两个输入框,分别代表日期范围的起始和结束。这两个输入框将与 Datepicker 插件关联: ```html ``` 然后,我们使用 jQuery 来初始化 Datepicker 并配置选择日期范围的功能: ```javascript...

    SAR成像处理处理算法-.pdf

    Rang-Doppler算法基于多普勒效应,将接收到的SAR回波数据进行距离和方位的快速傅里叶变换(FFT),以实现距离压缩和方位压缩。距离向FFT用于消除距离弯曲,方位向FFT则用于形成图像。Chirp Scaling算法考虑了信号的...

    matlab赋值给excel的rang问题.pdf

    首先,`rang`参数是`xlswrite`函数中指定目标单元格范围的字符串,通常以Excel的单元格引用格式表示,如"A1:B5"。这个范围可以是连续的一列或一行,也可以是矩形区域。 1. 在情况1中,通过`b='A1'`和`c='A2'`,我们...

    (241条消息)Python中报错“TypeError:‘list‘objectisnotcallable”的解决方法

    然后在后续的代码中,如果你试图像调用函数一样去使用`list()`,比如`list()`用于创建新的列表,Python会抛出“TypeError: 'list' object is not callable”错误,因为它现在找不到`list`这个可调用的函数,而是找到...

    2014届高三英语大一轮复习讲义 学生用书 Book 3 Unit 3 The Million Pound Bank Note

    - when the telephone rang - to study abroad - I'm afraid I won't be able - As is known to all 4. 单项填空: - B. manner(方式) - C. patience(耐心) - A. amount(数量) - C. wandering(走神...

    RT-Range ADAS测试应用介绍.pdf

    RT-Range ADAS 测试应用介绍 RT-Range 是一款高精度的自动驾驶辅助系统(ADAS)测试应用,旨在为汽车制造商和测试机构提供一站式的测试解决方案。该系统由 Oxford Technical Solutions 开发,能够获取安装在多台...

Global site tag (gtag.js) - Google Analytics