表分区 使用

10g 时间分区,每个时间分区要建一个对应的分区。

create table table_aaa
(
entry_id VARCHAR2(18),
pre_entry_id VARCHAR2(18),
id_chk VARCHAR2(1),
i_e_flag VARCHAR2(1),
i_e_port VARCHAR2(4),
i_e_date DATE,
d_date DATE,
entry_part varchar2(20)
)
partition by range (d_Date)
subpartition by list (entry_part) subpartition template
(
subpartition EH_B values (‘B‘),
subpartition EH_C values (‘C‘),
subpartition EH_E values (‘E‘),
subpartition EH_H values (‘H‘),
subpartition EH_M values (‘M‘),
subpartition EH_N values (‘N‘),
subpartition EH_X values (‘X‘),
subpartition EH_OTHER VALUES (DEFAULT)
)
(
partition part_200201 values less than (to_date(‘200201‘,‘yyyymm‘))
);

--再增加表分区

alter table table_aaa add partition part_200202 values less than (to_date(‘200202‘,‘yyyymm‘))
(
subpartition EH_B values (‘B‘),
subpartition EH_C values (‘C‘),
subpartition EH_E values (‘E‘),
subpartition EH_H values (‘H‘),
subpartition EH_M values (‘M‘),
subpartition EH_N values (‘N‘),
subpartition EH_X values (‘X‘),
subpartition EH_OTHER VALUES (DEFAULT)
);

上面已经建立了两个分区,因为现在的业务要求是每个月一个分区,所以每个月都是再建 一个分区。

那么这样应该用一个job,调试存储过程,在存储过程里写动态建分区:

execute immediate ‘alter table table_aaa add partition values (‘||CHR(39)||‘part_‘||table_aaa.d_Date||CHR(39)||‘) (subpartition values less than(to_date(sysdate,‘|| CHR(39)||yyyymm||CHR(39)||‘)))( subpartition EH_B values (‘‘‘B‘‘‘),subpartition EH_C values (‘‘‘C‘‘‘),subpartition EH_E values (‘‘‘E‘‘‘),subpartition EH_H values (‘‘‘H‘‘‘), subpartition EH_M values (‘‘‘M‘‘‘),subpartition EH_N values (‘‘‘N‘‘‘),subpartition EH_X values (‘‘‘X‘‘‘),subpartition EH_OTHER VALUES (DEFAULT))‘;
时间: 2024-10-08 01:47:19

表分区 使用的相关文章

表分区常用脚本

use SalesDB1 go -- 查看表是否已经分区 SELECT * FROM sys .tables AS t JOIN sys .indexes AS i ON t .[object_id] = i .[object_id] AND i .[type] IN ( 0,1 ) JOIN sys .partition_schemes ps ON i .data_space_id = ps .data_space_id WHERE t .name = 'table' ; -- 只加表名不需要

oracle 表分区例子

oracle表分区详解-一步一步教你oracle分区表详解   1.创建三个不同的表空间,模拟在不同磁盘上的保存不同范围的数据    create tablespace test01 datafile '/u01/app/oracle/oradata/orcl02/test01.dbf' size 500m; ---数据文件可以不再同一存储上  create tablespace test02 datafile '/u01/app/oracle/oradata/orcl02/test02.dbf

Mysql 表分区

创建分区表: DELIMITER // create table VMMoniterData ( id_ bigint not null AUTO_INCREMENT, vmid varchar(75) null, cpu varchar(75) null, memory varchar(75) null, bpsRead varchar(75) null, bpsWrite varchar(75) null, intranetRX0 varchar(75) null, intranetRX1

oracle的表分区的定义与操作

一.表分区 (一)表分区的分类 1.范围分区(range) 2.散列分区(hash) 3.列表分区(list) 4.复合分区:范围-哈希(range-hash).范围-列表(range-list) (二)范围分区: 范围分区是应用范围比较广的分区方式,它是以列的值得范围来作为分区的划分条件,将记录存放到列值所在的range分区中. 例:按照时间创建表分区. --创建表时建立分区表 CREATE TABLE drawlist( drawname VARCHAR2(20), drawtime DAT

表分区的维护

-----------表分区的维护----------- -------增加分区 ALTER TABLE 表名 ADD PARTITION 分区名 VALUES LESS THAN(值) ----删除分区 ALTER TABLE 表名 DROP PARTITION 分区表名 ----截断分区 删除当前分区的数据,但是他并不会删除当前分区,也不会影响其他分区 ALTER TABLE 表名  TRUNCATE PARTITION 已存在的分区表 ---合并分区 高界线不能合并到低界线的 ALTER

Oracle实践--PL/SQL基础之表分区

PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. ---------------------------------------------

表分区及索引分区

分区概述 为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护.备份.恢复.事务及查询性能. 分区的优点: 1.  增强可用性:如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍可以使用: 2.  减少关闭时间:如果系统故障只影响表的一部份分区,那么只有这部份分区需要修复,矿能比整个大表修复花的时间更少:

同义词,索引,表分区

同义词:数据字典 作用:屏蔽对象的名字及其持有者,为用户简化SQL语句. 创建私有同义词: create synonym ee for scott.emp 授权:  grant  create  synonym  to  happyy2165 grant create synonym to SCOTT GRANT CREATE PUBLIC SYNONYM TO scott; 公有同义词:  数据库中任何一个用户都默认拥有public角色 create  public  synonym  tt

SQL Server表分区详解

原文:SQL Server表分区详解 什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理.这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作数据是大大有利的. 所以大数据量的数据表,对分区的需要还是必要的,因为它可以提高select效率,还可以对历史数据经行区分存档等.但是数据量少的数据就不要凑这个热

MySQL 数据库分表分区

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!一.分表 为什么要分表? 我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈. 什么是分表? 分表是将一个达标按照一定的规则分解成多张具有独立存储空间的实体表,每个表都对应三个文件,.MYD数据文件..MYI索引文件..frm表结构文件.这些表可以分