Oracle 11g下自动创建分区

11g之前,维护分区需要手工。11g之后使用interval来实现自动扩展分区,简化了维护。

根据年  INTERVAL(NUMTOYMINTERVAL(1,‘YEAR‘))

根据月  INTERVAL(NUMTOYMINTERVAL(1,‘MONTH‘))

根据天  INTERVAL(NUMTODSINTERVAL(1,‘DAY‘))

下面用按月自动扩展来做个试验:

SQL> create table t_range (id number not null PRIMARY KEY, test_date date)

partition by range (test_date) interval (numtoyMinterval (1,‘MONTH‘))

(

partition p_2014_01_01 values less than (to_date(‘2014-01-01‘, ‘yyyy-mm-dd‘))

);

--看到只有一个分区

SQL> select partition_name from user_tab_partitions where table_name=‘T_RANGE‘;

PARTITION_NAME

------------------------------

P_2014_01_01

SQL> insert /*+append */ into t_range  select rownum,

to_date(to_char(sysdate - 140, ‘J‘) +

trunc(dbms_random.value(0, 80)),

‘J‘)

from dual

connect by rownum <= 100000;

SQL> commit;

--可以看到SYS开头的分区是自动扩展的

SQL> select partition_name from user_tab_partitions where table_name=‘T_RANGE‘;

PARTITION_NAME

------------------------------

P_2014_01_01

SYS_P21

SYS_P22

SYS_P23

--再看看t_range的表结构

create table T_RANGE

(

ID        NUMBER not null,

TEST_DATE DATE

)

partition by range (TEST_DATE)

(

partition P_2014_01_01 values less than (TO_DATE(‘ 2014-01-01 00:00:00‘,

‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘)),

partition SYS_P21 values less than (TO_DATE(‘ 2014-02-01 00:00:00‘,

‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘)),

partition SYS_P22 values less than (TO_DATE(‘ 2014-03-01 00:00:00‘,

‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘)),

partition SYS_P23 values less than (TO_DATE(‘ 2014-04-01 00:00:00‘,

‘SYYYY-MM-DD HH24:MI:SS‘, ‘NLS_CALENDAR=GREGORIAN‘))

);

-- Create/Recreate primary, unique and foreign key constraints

alter table T_RANGE

add primary key (ID);

--如果对分区名不太爽,则可以自己修改一下:

alter table t_range rename partition SYS_P21 to p_2014_02_01;

alter table t_range rename partition SYS_P22 to p_2014_03_01;

alter table t_range rename partition SYS_P23 to p_2014_04_01;

Oracle 11g下自动创建分区

时间: 2024-08-06 02:29:21

Oracle 11g下自动创建分区的相关文章

oracle 11g下冷备数据库

1.关闭数据库 [email protected]>shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down. 2.退出[email protected]>exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning,

Oracle 11g下ORA-00119和ORA-00132错误的解决

在启动数据库时出现下列错误 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon May 5 21:56:00 2014 Copyright (c) 1982, 2013, Oracle.  All rights reserved. Connected to an idle instance. [email protected]>startupORA-00119: inv

Oracle 11g下重现library cache lock等待事件

从下面的例子中可以看到,在生产数据库中对象的重新编译会导致library cache lock,所以应该尽量避免在业务高峰期编译对象.如果是package或过程中存在复杂的依赖关系就极易导致library cache lock的出现,所以在应用开发的过程中,也应该注意这方面的问题. session1: SQL> select * from v$version; BANNER -------------------------------------------------------------

Oracle 11g 新特性:自动创建分区(Interval Partition)

分区(Partition)一直是Oracle数据库引以为傲的一项技术,正是分区的存在让Oracle高效的处理海量数据成为可能,在Oracle 11g中,分区技术在易用性和可扩展性上再次得到了增强.在10g的Oracle版本中,要对分区表做调整,尤其是对RANGE分区添加新的分区都需要DBA手动定期添加,或都使用存储过程进行管理.在11G的版本中的Interval Partition不再需要DBA去干预新分区的添加,Oracle会自动去执行这样的操作,减少了DBA的工作量.Interval Par

Windows下Oracle 11g安装以及创建数据库

安装数据库 事实上Oracle安装 1.安装准备 Oracle的安装包下载以后是两个压缩包,同时选中两个压缩包右击进行解压 2.解压完成如下图所示 3.双击 setup.exe 文件进行安装,会弹出以下窗口 安全配置:随即会进入安装界面,此时让我们填写电子邮箱,邮箱不是必填选项,可填可不填,不填写的话会有一个提示,我们可直接无视,点击是进入下一步 安装选项:直接选择默认创建和配置一个数据库(安装完数据库管理软件后,系统会自动创建一个数据库实例). 安装类型:我们选择系统默认的桌面类 典型安装:重

Oracle 11g RAC自动打GI PSU补丁(11.2.0.4.8)

一.准备工作 1,数据库环境 操作系统版本   : Redhat 6.5 x64   数据库版本     : Oracle 11.2.0.4 x64 RAC    Grid           : 11.2.0.4     Oracle database: 11.2.0.4 本文出自:http://koumm.blog.51cto.com/ 2,准备内容 GI PSU : p21523375_112040_Linux-x86-64.zip    OPatch : p6880880_112000_

platform型设备在/dev目录下自动创建设备节点的分析【转】

转自:http://blog.csdn.net/rockrockwu/article/details/7357648 系统启动过程中platform设备.驱动注册完毕,为什么在/dev目录下就自动创建好设备节点了? 在/dev目录自动创建设备节点可以通过class_create(),然后再device_create().但是在跟踪 内核platform注册过程中可以发现,其实这里面并未调用上诉两个函数,那么platform注册后 如何在/dev目录下创建设备文件节点? [cpp] view pl

Oracle 11g下 ORA-01417的解决办法

今天有兄弟反馈,有一条SQL在12C上没有问题,在11g上就报错,报错内容是ORA-01417: 表可以外部连接到至多一个其他的表.分析了下SQL,抽象为下列的例子. 在12c下没有问题: SQL> select * from v$version; BANNER                                                                               CON_ID ---------------------------------

Oracle 11g的dataguard创建中ORA-01665解决过程

Oracle 11g在创建data guard时,恢复standby控制文件不成功.在mount standby database时告诉我,控制文件不是standby控制文件,具体信息为"ORA-01665: control file is not a standby control file". 控制文件我在主库中,使用rman生成的. backup current controlfile for standby format 'xxxxxx/ctl.stdy'; 拷贝到备库上恢复.