- 浏览: 78287 次
文章分类
最近工作中需要给数据库创建分区,简单学习了一下,做下笔记。
oracle11g之前,维护分区需要手工,11g之后使用interval来实现自动扩展分区,使得维护工作变得简单。
根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR'))
根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))
根据天: INTERVAL(NUMTODSINTERVAL(1,'DAY'))
根据时分秒: NUMTODSINTERVAL( n, { 'DAY'|'HOUR'|'MINUTE'|'SECOND'})
下面使用按月分区做个试验:
创建分区表:
查看ZL_RANGE表的分区:
可以看到只有一个分区
插入不同月份的数据:
查看分区,可以看到有四个分区:
如果不喜欢分区的名字,可以自己修改:
查询表分区的信息
SELECT * FROM USER_SEGMENTS;
清空表分区数据:
alter table 表名 truncate partition 分区名;
直接删除分区:
alter table 表名 drop partition 分区名;
oracle11g之前,维护分区需要手工,11g之后使用interval来实现自动扩展分区,使得维护工作变得简单。
根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR'))
根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH'))
根据天: INTERVAL(NUMTODSINTERVAL(1,'DAY'))
根据时分秒: NUMTODSINTERVAL( n, { 'DAY'|'HOUR'|'MINUTE'|'SECOND'})
下面使用按月分区做个试验:
创建分区表:
create table zl_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')) );
查看ZL_RANGE表的分区:
select partition_name from user_tab_partitions where table_name='ZL_RANGE';
可以看到只有一个分区
插入不同月份的数据:
INSERT INTO ZL_RANGE VALUES(1,TO_DATE('2013-12-01','YYYY-MM-DD')); INSERT INTO ZL_RANGE VALUES(2,TO_DATE('2014-01-01','YYYY-MM-DD')); INSERT INTO ZL_RANGE VALUES(3,TO_DATE('2014-12-01','YYYY-MM-DD')); INSERT INTO ZL_RANGE VALUES(4,TO_DATE('2014-12-10','YYYY-MM-DD')); INSERT INTO ZL_RANGE VALUES(5,TO_DATE('2013-11-10','YYYY-MM-DD')); INSERT INTO ZL_RANGE VALUES(6,TO_DATE('2014-11-10','YYYY-MM-DD')); COMMIT;
查看分区,可以看到有四个分区:
如果不喜欢分区的名字,可以自己修改:
alter table t_range rename partition SYS_P41 to p_2014_02_01; alter table t_range rename partition SYS_P42 to p_2015_01_01; alter table t_range rename partition SYS_P43 to p_2014_12_01;
查询表分区的信息
SELECT * FROM USER_SEGMENTS;
清空表分区数据:
alter table 表名 truncate partition 分区名;
直接删除分区:
alter table 表名 drop partition 分区名;
发表评论
-
oracle之分析函数
2020-03-11 14:07 0row_number() over(partition by ... -
oracle之日期函数
2016-12-20 10:55 9541、sysdate:返回当前日期 2、add_months(d ... -
oracle之数据字典
2016-07-18 18:55 0Oracle字典视图包括 ... -
oracle之回滚和undo表空间
2016-07-12 16:19 0Oracle undo表空间爆满的解决 1. 启 ... -
oracle之dblink
2016-07-12 14:34 0有时候需要从另一 ... -
oracle之监听配置文件
2016-07-11 13:57 0listener.ora文件为配置在oracle服务器 ... -
oracle之异常学习
2016-07-05 18:22 856ORACLE异常包括预定义异常,非预定义异常,自定义异常。 1 ... -
oracle的regexp_like函数使用正则表达式
2016-07-08 10:17 9064一、正则表达式入门 1. ... -
oracle中on、where、having的区别
2016-05-27 11:49 0http://www.cnblogs.com/java-cla ... -
面试准备
2016-05-14 22:57 0web安全测试: http://blog.sina.com.c ... -
常用sql
2016-04-28 15:52 01、删除表中重复数据 方式一:rowid select * f ... -
oracle之高水位线
2016-03-24 18:25 0insert /*+append*/ into table1 ... -
oracle中rowid与rownum学习
2016-03-21 16:00 0rowid与rownum 都被称为伪列,但它们的存在方 ... -
SST
2016-01-21 16:57 0会员系统通过MQ获取CDH月结账号数据代码 1、插入 插 ... -
oracle排查异常sql的一些方法
2015-11-19 15:27 1006转自http://blog.itpub.net/2315585 ... -
oracle导入导出
2015-11-13 18:37 0Oracle数据导入导出imp/exp就相当于oracle数据 ... -
oracle索引学习
2015-11-12 16:45 0一、索引基础 1、索引 ... -
oracle中to_char函数转换后多出空格的问题
2015-11-06 14:50 1509今天编写往数据库中插入200万数据的存储过程,遇到to ... -
好的网站
2015-09-11 13:54 0plsql开发笔记和小结 http://www.blogjav ... -
merge用法总结
2015-08-04 19:32 01、merge语法 merge [hit] into [ ...
相关推荐
文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!
6. **11g 中自动增加新分区**:从 Oracle 11g 开始,支持自动创建新的分区,以适应不断增长的数据需求。 - 示例:创建自动增加分区的表。 ```sql CREATE TABLE sales ( year NUMBER, month NUMBER, sales_...
3. **自动存储管理(Automatic Storage Management, ASM)**:ASM是Oracle 11g中的一个集成存储管理解决方案,简化了数据库存储的管理和配置,支持自动磁盘管理和数据冗余。 4. **数据加密**:Oracle 11g加强了数据...
Oracle 10g(10g代表10th Generation,即第十代)是Oracle公司发布的一个重要版本,发布于2004年。这一版本在之前的版本基础上进行了大量的改进和优化,引入了许多新特性,特别是在网格计算方面有着显著的进步。以下...
Oracle 11g是Oracle公司推出的一款企业级数据库系统,版本号为11g(Generation 11)。该版本于2007年发布,相比之前的版本在性能、安全性、可用性以及可管理性等方面都有了显著的提升。Oracle 11g支持多种操作系统...
Oracle Database 11g(简称Oracle11g)是甲骨文公司(Oracle Corporation)推出的一款关系型数据库管理系统。Oracle11g继承了Oracle10g的优秀特性,并在此基础上进行了大量的优化与改进,提供了更强大的数据处理能力...
Oracle 数据库 11g 企业版提供了数据仓库功能,包括 OLAP、可选分区、可选数据挖掘和可移动的表空间等。 Oracle 数据库 11g 各版本提供了不同的数据库管理功能,Enterprise Edition 是最全面的版本,可以满足大型...
Oracle 11g是Oracle公司推出的数据库管理系统的一个重要版本,它在11g系列中包含了多个方面的改进和增强,旨在提供更高的性能、可用性和可管理性。本篇将围绕Oracle 11g的关键特性,结合课程实例代码进行深入探讨。 ...
Oracle 11g包含了一系列性能优化工具和特性,如自动工作负载仓库(AWR)、自动统计信息收集、SQL优化顾问等。通过监控和分析,可以找出性能瓶颈并采取相应措施,如调整索引、优化SQL语句等。 七、安全性 Oracle 11g...
分享一个自己编写的Oracle 9i、10g、11g通用的Range分区自动扩展存储过程,可以在输入相应参数后自动实现RANGE表分区的扩展,推荐在数据仓库、经营分析等OLAP数据库中使用。
Oracle 11g是甲骨文公司发布的一款企业级数据库管理系统,它提供了广泛的功能和优化,以满足大型企业和组织的数据管理需求。这份“Oracle 11g官方中文帮助文档”是一个高清完整版的资源,旨在为中文用户提供详尽的...
Oracle11g R2 64位不仅提供了强大的数据处理能力,还具备了一系列高级功能,如自动内存管理、数据加密、高可用性支持等,使得它成为众多企业构建稳定、高效数据库系统的首选。随着技术的发展,虽然Oracle后续版本...
我们可以看到Oracle 11g在逻辑存储、物理存储、内存管理、进程管理、并行处理、分区技术、安全性和高可用性等方面的深度设计和创新,这使得Oracle 11g成为了业界领先的数据库管理系统之一。对于IT专业人员来说,深入...
Oracle 11g是一款广泛应用的关系型数据库管理系统,其在企业级数据存储和管理中占据重要地位。而ojdbc6.jar是Oracle公司为Java开发者提供的驱动包,它使得Java应用程序能够与Oracle 11g数据库进行无缝连接和交互。在...
ArcSDE 10.2 for Oracle 10g 和 11g 是Esri公司提供的一个关键组件,用于在Oracle数据库系统上管理和操作地理空间数据。这个安装包专为Windows平台设计,允许用户在Oracle数据库环境中高效地存储、管理和共享GIS...
Oracle Database 11g是Oracle公司推出的一款企业级关系型数据库管理系统,它在Oracle 10g的基础上进行了大量的改进和增强,提供了更高级的数据管理功能,如数据仓库优化、安全性增强、资源管理和分区等功能。Oracle ...