- 浏览: 50848 次
- 性别:
- 来自: 北京
最新评论
oracle 分区管理
- 博客分类:
- Oracle
oracle分区表管理2009-08-30 12:29作用:将大表的数据分布到多个表分区段,不同分区彼此独立,从而提高了表的可用性和性能
种类:范围分区,散列分区(使用HASH算法),列表分区,范围/散列组合分区,范围/列表组合分区
1、范围分区表
创建范围分区表
1. create table t(v number,b number)
2. partition by range(v) (
3. partition p1 values less than ('11') tablespace test1,
4. partition p2 values less than ('21') tablespace test2);
增加与删除分区
1. alter table t add partition p3 values less than ('31') tablespace test3;
2. alter table t drop partition p3
一个时间分区的例子
1. alter session set nls_data_lanage=AMERICAN;
2. alter session set nls_data_format='DD-MON-YYYY'
3. create table t(v_date date,b number)
4. partition by range(v_date)(
5. partition p1 values less than ('01-APR-2009') tablespace test1,
6. partition p2 values less than ('01-JUN-2009') tablespace test2);
2、散列分区表
创建
1. create table t1(
2. v number,b number)
3. partition by hash(v)
4. (partition p1 tablespace test1,
5. partition p2 tablespace test2);
增加分区
1. alter table t add partition p3 tablespace test3;
删除分区
1. alter table t drop coalesce partition;
3、列表分区表
建列表分区
1. create table t(
2. v varchar2(10),
3. b number
4. )partition by list(v)
5. (partition p1 values('a','b') tablespace test1,
6. partition p2 values('c','d') tablespace test2);
#插入数据
1. SQL> insert into t values('a',10);
2. SQL> insert into t values('d',20);
#注意,插入数据时第一个字段只能为a,b,c,d
1. SQL> insert into t values('f',30);
2. ERROR at line 1:
3. ORA-14400: inserted partition key does not map to any partition
增加分区
1. alter table t add partition p3 values('31','32') tablespace test3;
删除分区
1. alter table t drop partition p3
4-1、范围/散列组合分区
建立散列组合分区
1. create table t(
2. v number,b number)
3. partition by range(v)
4. subpartition by hash(b) subpartitions 2
5. store in (test1,test2)(
6. partition p1 values less than ('11'),
7. partition p2 values less than ('21'));
查询
1. select * from t;
2. select * from t partition(p1);
3. select * from t where ....
增加主分区和子分区
1. alter table t add partition p3 values less than ('31') tablespace test3;
2. alter table t modify partition p3 add subpartition;
删除分区
1. alter table t coalesce partition;
2. alter table t modify partition p1 coalesce subpartition;
4-2、范围/列表组合分区
创建
1. create table t(
2. v number,b number)
3. partition by range(v)
4. subpartition by list(b)
5. (partition p1 values less than ('11') tablespace test1(
6. subpartition p1_1 values('1','3'),
7. subpartition p1_2 values('5','6')
8. ),
9. partition p2 values less than ('21') tablespace test2(
10. subpartition p2_1 values('13','14'),
11. subpartition p2_2 values('15','16')
12. ));
查询
1. select * from t
2. select * from t partition(p1)
3. select * from t subpartition(p1_1)
4. select * from t where .....
5. select segment_name,partition_name,tablespace_name
6. from user_segments where segment_name='T';
增加分区和子分区
1. alter table t add partition p3 values less than ('31') tablespace test3(
2. subpartition p3_1 values('25','26'),
3. subpartition p3_2 values('22','23'));
4. alter table t modify partition r3
5. add subpartition r3_3 tablespace test3 values('28','29');
删除分区
1. alter table t modify partition p1 coalesce subpartition;
5、分区表的查询
1. select * from t;
2. select * from t partition(p1);
3. select * from t partition(p2);
4. select * from t where v=XXX
6、其它设置:
1. 交换分区数据
2. alter table t exchange partition p1 with table tt;
3. 载断分区
4. alter table t truncate partition p1;
5. 修改分区名
6. alter table t rename partition p2_1 to p2;
7. 合并分区
8. alter table t merge partitions p1,p2 into partition p01
9. 重组分区
10. alter table t move partition p1 tablespace test04
11. 为列表分区和子分区加值
12. alter table t modify partition p1 add values('111');
13. alter table t modify subpartition p3_1 add values('111');
14. 从列表分区和子分区中删除值
15. alter table t modify partition p1 drop values('111')
16. alter table t modify subpartition p3_1 drop values('111')
7、分区表常用的数据字典
1. 分区表信息: dba_part_tables
2. 显示分区: dba_tab_partitions
3. 显示子分区: dba_tab_subpartitions
4. 显示分区列: dba_part_key_columns
5. 显示子分区列:dba_subpart_dey_columns
6. 显示分区索引:dba_part_indexes
7. 显示索引分区:dba_ind_partitions
发表评论
文章已被作者锁定,不允许评论。
-
awr
2012-01-17 16:02 1175Oracle AWR 手动配置 1.查看当前的AWR保存策略s ... -
Oracle Result Cache
2012-01-12 10:28 2708result cache1.结果集缓存,oracle 11g新 ... -
Oracle 登录认证相关
2011-11-30 14:11 13031.主要几个配置文件1.sql ... -
Oracle 数据库搬迁测试
2011-11-24 09:36 1100Oracle 数据库搬迁测试 测试目的:将物理文件从E盘目录移 ... -
Oracle logMiner
2011-11-21 20:37 944-- oracle 10g 10.2.0.1.0 ... -
Oracle 表访问方式
2011-11-17 12:12 1005SQL> set autotrace traceonly ... -
listener.ora、sqlnet.ora、tnsnames.ora
2011-11-10 11:20 874三个配置文件 listener.ora、sqlnet.ora、 ... -
Oracle cursor
2011-11-01 11:45 2489一 概念 游标是 ... -
Oracle 认证
2011-10-17 14:23 131.主要几个配置文件1.sql ... -
Oracle 命令大全
2011-09-29 09:33 840System Operateion Sql ... -
ORACLE数据库优化设计方案
2011-09-26 14:22 657对于ORACLE数据库的数据 ... -
Oracle over
2011-09-01 10:14 858Oracle over函数 ... -
Oracle 号段
2011-09-01 09:42 8611.用lead 和lag 可以获取相邻号段的值 SELECT ... -
oracle job
2011-08-08 20:21 895定义oracle job DECLARE V_J ... -
oracle 日期大全
2011-07-05 16:05 47751:取得当前日期是本月的第几周 SQL> select ... -
EXPIMP详解
2011-06-30 11:22 670exp将数据库内的各对象以二进制方式下载成dmp文件, ... -
oracle 手动建库
2011-06-23 14:42 885自己手动创建的一个过程,贴出来以备查看 1.建立ora ... -
ORACLE 中更改客户端日期显示方式
2011-06-23 14:27 882如,按 yyyy-mm-dd 显示如下 ALTER SESS ... -
Oracle 数据类型及存储方式
2011-04-12 15:36 905Oracle 数据类型及存储方式 概述 通过实例,全面而深入的 ... -
ORA-01092 数据库打不开的问题原因(数据库升级不成功的问题)
2011-04-11 16:13 737Oracle10.2.0.1到10.2.0.4升级,升级完成后 ...
相关推荐
Oracle 分区管理篇
oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理
oracle 分区详细管理
Oracle数据库分区管理.docx
Oracle提供了分区技术以支持VLDB(Very Large DataBase)。将数据分散到各个分区中,减少了数据损坏的可能性;可以对单独的分区进行备份和恢复;可以将分区映射到不同的物理磁盘上,来分散IO ;提高可管理性、可用性和...
如何创建,管理分区,分区索引。
为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...
《Oracle分区技术和11g分区新特性》,53页,解决大表问题 为何要数据分区(Data Partitioning) • 表与索引数据的爆炸性增长 • 在大型数据库系统中 表数据量通常 >> 10GB • 现在表的数据量比以前中等规模的数据库...
为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...
Oracle表分区管理.pdf
具有Oracle分区功能的Oracle数据库 10g 可以显著增强几乎任何数据库应用程序的可管理性、性能和可用性。分区功能可用于前沿应用程序,分区功能确实能够成为保障这些应用程序成功的关键技术成分。 同时,分区功能也可...
支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...
Oracle分区表_(Partition_Table)_的创建及管理.doc
分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。 不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束; 但是可以有不同的物理属性,比如...
在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用。
官方资料:Oracle白皮书_Oracle数据库11g中的分区 分区的优势:分区的基本知识;使用分区提高可管理性;使用分区提岛性能;使用分区提高可用性;分区一为业务建模:基本分区策略;分区扩展;PARTITION ADVISOR;分区策略和...
Oracle 8i以后推出了分区选项。分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。
Oracle分区功能提高应用程序性能 79 Oracle数据库处理时间基本准则 81 入侵Oracle数据库常用操作命令 82 Oracle数据库优化及其应用程序研究 83 Instance实例和数据库 85 Oracle数据缓冲区内部机制 85 Oracle 9i...
第3部分:模式对象,内容包括管理模式对象空间、管理表、管理索引、管理分区表和分区索引、管理簇、管理散列、管理视图、序列和同义词、模式对象的常规管理、检测和修复数据块损坏。第4部分:数据库的安全,介绍...
Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据...