`

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
 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Oracle 分区管理篇

    Oracle 分区管理篇

    oracle 分区表管理

    oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理oracle 分区表管理

    oracle分区详细管理

    oracle 分区详细管理

    Oracle数据库分区管理.docx

    Oracle数据库分区管理.docx

    oracle分区技术使用文档

    Oracle提供了分区技术以支持VLDB(Very Large DataBase)。将数据分散到各个分区中,减少了数据损坏的可能性;可以对单独的分区进行备份和恢复;可以将分区映射到不同的物理磁盘上,来分散IO ;提高可管理性、可用性和...

    Oracle 分区表 分区索引

    如何创建,管理分区,分区索引。

    Oracle表分区和索引分区

    为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...

    Oracle分区技术和11g分区新特性

    《Oracle分区技术和11g分区新特性》,53页,解决大表问题 为何要数据分区(Data Partitioning) • 表与索引数据的爆炸性增长 • 在大型数据库系统中 表数据量通常 >> 10GB • 现在表的数据量比以前中等规模的数据库...

    ORACLE表分区分区概述

    为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较...

    Oracle表分区管理.pdf

    Oracle表分区管理.pdf

    Oracle分区功能提高应用程序性能

    具有Oracle分区功能的Oracle数据库 10g 可以显著增强几乎任何数据库应用程序的可管理性、性能和可用性。分区功能可用于前沿应用程序,分区功能确实能够成为保障这些应用程序成功的关键技术成分。 同时,分区功能也可...

    ORACLE大表分区

    支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...

    Oracle分区表_(Partition_Table)_的创建及管理

    Oracle分区表_(Partition_Table)_的创建及管理.doc

    Oracle分区表和索引

     分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。  不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束;  但是可以有不同的物理属性,比如...

    Oracle数据库分区表操作方法

    在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用。

    官方资料:Oracle白皮书_Oracle数据库11g中的分区.pdf

    官方资料:Oracle白皮书_Oracle数据库11g中的分区 分区的优势:分区的基本知识;使用分区提高可管理性;使用分区提岛性能;使用分区提高可用性;分区一为业务建模:基本分区策略;分区扩展;PARTITION ADVISOR;分区策略和...

    详细讲解Oracle表分区相关概念及优点

    Oracle 8i以后推出了分区选项。分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的大表,组大表在物理一级的可管理性.将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    Oracle分区功能提高应用程序性能 79 Oracle数据库处理时间基本准则 81 入侵Oracle数据库常用操作命令 82 Oracle数据库优化及其应用程序研究 83 Instance实例和数据库 85 Oracle数据缓冲区内部机制 85 Oracle 9i...

    Oracle 9i 数据库管理员指南(PDF)

    第3部分:模式对象,内容包括管理模式对象空间、管理表、管理索引、管理分区表和分区索引、管理簇、管理散列、管理视图、序列和同义词、模式对象的常规管理、检测和修复数据块损坏。第4部分:数据库的安全,介绍...

    oracle 表分区

    Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据...

Global site tag (gtag.js) - Google Analytics