例如我们要对一张表按照时间创建分区:
create table cmp
(
transaction_id number primary key,
item_id number(8) not null,
item_description varchar2(300),
transaction_date date not null
)
partition by range (transaction_date)
(
partition part_01 values less than(to_date('2006-01-01','yyyy-mm-dd')) tablespace dinya_space01,
partition part_02 values less than(to_date('2010-01-01','yyyy-mm-dd')) tablespace dinya_space02,
partition part_03 values less than(maxvalue) tablespace dinya_space03
);
这样我们就分别建了以交易序号和交易日期来分区的分区表。每次插入数据的时候,系统将根据指定的字段的值来自动将记录存储到制定的分区(表空间)中。
当然,我们还可以根据需求,使用两个字段的范围分布来分区,如partition by range ( transaction_id ,transaction_date),分区条件中的值也做相应的改变,请读者自行测试。
按天创建分区:
create table anoscfg.test_123
(
begin_time date
)
partition by RANGE (BEGIN_TIME)
(
partition p1 values less than (to_date('2012-05-13', 'yyyy-mm-dd')),
partition p2 values less than (to_date('2012-05-14', 'yyyy-mm-dd')),
partition p3 values less than (to_date('2012-05-15', 'yyyy-mm-dd')),
partition p4 values less than (to_date('2012-05-16', 'yyyy-mm-dd')),
partition p5 values less than (to_date('2012-05-17', 'yyyy-mm-dd'))
);
insert into anoscfg.test_123(BEGIN_TIME) values(to_date('2012-05-12', 'yyyy-mm-dd'));
insert into anoscfg.test_123(BEGIN_TIME) values(to_date('2012-05-13', 'yyyy-mm-dd'));
insert into anoscfg.test_123(BEGIN_TIME) values(to_date('2012-05-14', 'yyyy-mm-dd'));
insert into anoscfg.test_123(BEGIN_TIME) values(to_date('2012-05-15', 'yyyy-mm-dd'));
insert into anoscfg.test_123(BEGIN_TIME) values(to_date('2012-05-16', 'yyyy-mm-dd'));
查询分区:
select * from test_123 partition(p4);
分享到:
相关推荐
文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!
分享一个自己学习和实践的关于Oracle表自动按月分区知识点,已经在项目上线并且有效的方案。
支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...
完整ORACLE创建表空间、用户、设置用户权限脚本,txt格式,很实用
Oracle10g分区常用的是:range(范围分区)、list(列表分区)、hash(哈希分区)、range-hash... 在按时间分区时,如果某些记录暂无法预测范围,可以创建maxvalue分区,所有不在指定范围内的记录都会被存储到maxvalu
在Oracle数据库中,如何查找,定位一张表最后一次的DML操作的时间呢? 方式有三种,不过都有一些局限性,下面简单的解析、总结一下。 1:使用ORA_ROWSCN伪列获取表最后的DML时间 ORA_ROWSCN伪列是Oracle 10g开始...
用存储过程创建数据表:创建时注意必须添加authid current_user,如果创建的表已存在,存储过程继续执行,但如不不加此关键语句,存储过程将出现异常,这个语句相当... 版本号 编辑时间 编辑人 修改描述 1.0.0 2012-
1z0-033-13 关于自动段空间管理 ext 与oracle 空间使用 percent oracle块参数 行迁移问题 什么时间进行索引重组 优化性能 13 1z0-033-15 讨论不同类型索引 索引组织表(簇化表) OLTP 有什么性质要求 13 1z0-033-18-...
4、索引高度:索引高度是指由于数据行的插入操作而产生的索引层数,当表中添加大量数据时,oracle将生成索引的新层次以适应加入的数据行,因此,oracle索引可能有4层,但是这只会出现在索引数中产生大量插入操作的...
说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子: 2. 修改密码 说明:...
在使用Oracle Apps时,你不得不向你的OLTP或者DSS数据库打补丁的时候,如何保证5个9的可靠性呢,5个9的可靠性意味着每年只有5分钟的停机时间。好了,虽然说没有这么严格,但是仍旧有许多测试工作和质量保证工作需要...
(四) 安装数据库oracle 软件、创建ASM磁盘组 61 五、 集群数据库的创建 79 六、 安装后任务 96 (一) 官方建议的两个安装后置任务 96 (二) 删除GI、数据库(具体参考另一文档) 97 (三) 软件下载 98 (四) ...
第2章 安装oracle database 11g 和创建数据库 第3章 升级到oracle database 11g 第4章 规划oracle 应用程序——方法、风险和标准 第ⅱ部分 sql 和sql*plus 第5章 sql 中的基本语法 第6章 基本的sql*plus ...
24.2. 创建分区表 161 24.3. 范围分区(Range) 161 24.4. 列表分区(List) 164 24.5. 散列分区(Hash) 165 24.6. 组合范围散列分区 167 24.7. 复合范围散列分区 168 24.8. 维护表分区 169 二十四、 PL/SQL基础 173 ...
第2章 安装oracle database 11g 和创建数据库 第3章 升级到oracle database 11g 第4章 规划oracle 应用程序——方法、风险和标准 第ⅱ部分 sql 和sql*plus 第5章 sql 中的基本语法 第6章 基本的sql*plus ...
在过去的14年中,他与IanAbramson和MichaelCorey为OraclePress合著了一系列图书.Abbey在国际Oracle用户团体非常活跃,经常出席COLLABORATE、OraclecOpenWorld和区域性用户组会议. Michael J.Corey是Ntirety...
1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration ...
§7.2 关于创建多个Oracle实例问题 93 §7.3 Oracle系统安装后的优化基础工作 94 §7.3.1 Oracle系统有关目录所有文件的保护 94 §7.3.2 避免新用户使用默认system系统表空间 94 §7.4 Oracle系统所在服务器的独立性...