`

Oracle 分区表如何添加分区

 
阅读更多
Oracle  分区表如何添加分区

1.创建个分区表
 SQL> create table p_range_test
   2  (id number,name varchar2(100))
   3  partition by range(id)(
   4  partition t_p1 values less than (10),
   5  partition t_p2 values less than (20),
   6  partition t_p3 values less than (30)
   7  );
 Table created.
 2.查第一步创建好分区表的信息
 SQL> col TABLE_NAME for a20
 SQL> col partition_name for a20
 SQL> col HIGH_VALUE for a10
 SQL> col TABLESPACE_NAME for a15
 SQL> select table_name,partition_name,high_value,tablespace_name 
 from user_tab_partitions where table_name='P_RANGE_TEST' 
 order by partition_position;
 TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
 -------------------- -------------------- ---------- ---------------
 P_RANGE_TEST         T_P1                 10         TP1
 P_RANGE_TEST         T_P2                 20         TP1
 P_RANGE_TEST         T_P3                 30         TP1
 从上面看出已有3个分区
 3.添加一个分区t_p4
 SQL> alter table p_range_test add partition t_p4 values less than(40);
 Table altered.
顺序添加完成,当然这个不是LZ想要的吧?
 4.再第三步添加好分区的信息
 SQL> select table_name,partition_name,high_value,tablespace_name 
 from user_tab_partitions where table_name='P_RANGE_TEST' 
 order by partition_position;
 TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
 -------------------- -------------------- ---------- ---------------
 P_RANGE_TEST         T_P1                 10         TP1
 P_RANGE_TEST         T_P2                 20         TP1
 P_RANGE_TEST         T_P3                 30         TP1
 P_RANGE_TEST         T_P4                 40         TP1
 从这个实验结果可以看到t_p4分区已经创建成功
 5.如果在创建RANGE分区表的时候指定了maxvalue,不可以添加分区
 (需要使用split方法来处理)
 6.创建带有maxvalue的分区表
 SQL> drop table p_range_test purge;--purge不回收
 create table p_range_test (id number,name varchar2(100))
 partition by range(id)(
 partition t_p1   values less than (10),
 partition t_p2   values less than (20),
 partition t_p3   values less than (30),
 partition t_pmax values less than (maxvalue));
 Table dropped.
 SQL>   2    3    4    5    6  
 Table created.
 
7.此时添加分区时会报如下的错误
 SQL>  alter table p_range_test add partition t_p4 values less than(40);
 alter table p_range_test add partition t_p4 values less than(40)
                                         *
 ERROR at line 1:
 ORA-14074: partition bound must collate higher than that of the last partition
 添加分区失败?那有没有办法搞定呢,对于牛B的oracle来说肯定有办法了,
 处理方法就是使用split来搞!
 8.再查一下当前的分表的信息
 SQL> select table_name,partition_name,high_value,tablespace_name 
 from user_tab_partitions where table_name='P_RANGE_TEST' 
 order by partition_position;
 TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
 -------------------- -------------------- ---------- ---------------
 P_RANGE_TEST         T_P1                 10         TP1
 P_RANGE_TEST         T_P2                 20         TP1
 P_RANGE_TEST         T_P3                 30         TP1
 P_RANGE_TEST         T_PMAX               MAXVALUE   TP1
 
9.注意,这步就是关键的一步!!!使用split完成上面没有完成的分区任务
 SQL> alter table p_range_test split partition t_pmax at (40) into 
 (partition T_P4, partition t_pmax);
 Table altered.
 10.再查一下当前的分表的信息
 SQL> select table_name,partition_name,high_value,tablespace_name 
 from user_tab_partitions where table_name='P_RANGE_TEST' 
 order by partition_position;
 TABLE_NAME           PARTITION_NAME       HIGH_VALUE TABLESPACE_NAME
 -------------------- -------------------- ---------- ---------------
 P_RANGE_TEST         T_P1                 10         TP1
 P_RANGE_TEST         T_P2                 20         TP1
 P_RANGE_TEST         T_P3                 30         TP1
 P_RANGE_TEST         T_P4                 40         TP1
 P_RANGE_TEST         T_PMAX               MAXVALUE   TP1
 
 
 http://www.itpub.net/thread-1748738-1-1.html

 

分享到:
评论

相关推荐

    oracle分区表之hash分区表的使用及扩展

    Oracle分区表中的Hash分区是一种基于哈希算法的分区策略,适用于处理无法清晰定义分区范围的大型数据表。这种分区方式通过计算分区键的哈希值来决定数据存储在哪个分区,以此达到数据分散和负载均衡的目的。Hash分区...

    Oracle分区表详解

    ### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能...

    Oracle分区表用法

    【Oracle分区表用法】 Oracle分区表是一种高级的数据库管理技术,它将大型表的数据分散存储在不同的物理区域,以提升查询效率和系统的整体性能。本文将详细介绍分区表的概念、作用、优缺点,以及各种类型的分区表...

    Oracle分区表培训

    Oracle分区表是数据库管理系统Oracle中的一个高级特性,用于将大表分成较小、更易管理的部分,从而提高查询性能,优化存储管理和数据维护。在大型企业级应用中,尤其是在处理大量数据时,分区表是不可或缺的技术手段...

    oracle普通表转化为分区表的方法

    Oracle数据库中的分区表是一种高级的表组织形式,它将大表分成多个较小的部分,每个部分称为一个分区,以提高查询性能和管理效率。当表的大小超过2GB时,官方推荐使用分区表,因为它们在处理大量数据时具有显著优势...

    导入导出 Oracle 分区表数据

    ### 导入导出Oracle分区表数据 #### 一、概述 在Oracle数据库管理中,对分区表进行数据的导入与导出是一项常见的任务。分区技术可以显著提高大型表的性能,尤其是在处理大规模数据集时。为了有效地管理和迁移这些...

    oracle 分区表管理

    要查看Oracle分区表的相关信息,可以使用以下视图: 1. `DBA_PART_TABLES`:显示数据库中所有分区表的信息,包括表名、分区类型、分区键等。 2. `ALL_PART_TABLES`:显示当前用户可以访问的所有分区表信息,权限...

    Oracle分区表及分区索引

    Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...

    Oracle 分区表自动维护脚本

    标签“oracle分区表 自动维护”概括了脚本的核心功能和使用场景,说明脚本主要用于Oracle数据库的分区表自动维护。 从提供的部分内容中,我们可以看到脚本的具体实现细节: 1. 创建基础表`PART_T_MAINTENANCE`,...

    Oracle 分区表全揭秘

    Oracle 分区表全揭秘 ,非常详细,oracle dba可以看看

    oracle分区表总结

    #### 一、Oracle分区表概述 在Oracle数据库中,分区是一种对大型表进行物理分割的方法,它可以显著提高查询性能并简化数据管理任务。通过将一个大表分成多个较小的部分(即分区),可以更快地执行查询操作,尤其是...

    清除oracle分区表数据

    根据给定的信息“清除oracle分区表数据”,我们将深入探讨如何有效地进行这项操作。 ### 分区表简介 分区是将一个大的表或索引物理地分成多个更小的部分的过程。每个部分(分区)都作为一个独立的对象来处理,这样...

    ORACLE分区表的概念及操作

    总结来说,Oracle分区表是一种有效管理大规模数据的手段,通过合理分区,可以显著提升查询效率,简化维护工作,并提供更高的数据可用性。然而,使用分区也需要权衡其带来的复杂性和额外的存储需求。正确理解和应用...

    Oracle分区表和锁的应用

    下面我们将深入探讨Oracle分区表和锁的应用。 一、Oracle分区表 1. **分区概念**:Oracle分区表是将一个大表逻辑上划分为多个较小的部分,每个部分称为一个分区。每个分区都有自己的索引和维护操作,这使得对大...

    ORACLE分区表的创建

    ### ORACLE 分区表的创建详解 #### 一、概述 在Oracle数据库中,分区是一种高效的数据管理方式,尤其适用于大型表和索引组织表。通过将数据逻辑地分割成多个独立的部分(即分区),可以显著提高查询性能,并简化表...

    Oracle分区表和分区索引在VLDB中的研究.pdf

    "Oracle分区表和分区索引在VLDB中的研究" 本文研究了Oracle分区表和分区索引在VLDB(Very Large Databases)中的应用。分区表和分区索引是数据库管理中的关键技术之一,是VLDB中一个重要的性能提升机制。通过分析一...

    Oracle 分区表 分区索引

    - **增加索引分区**:当添加新表分区时,可能需要相应地添加索引分区。 - **删除索引分区**:当删除表分区时,可能需要删除相应的索引分区。 - **重编译索引分区**:当索引分区损坏或需要更新统计信息时,需要重新...

    oracle分区表分区索引.docx

    Oracle 分区表分区索引详解 Oracle 分区表分区索引是 Oracle 数据库中的一种重要机制,它可以提高数据的存储和查询效率。下面将详细介绍 Oracle 分区表分区索引的类型、分类、创建方法和维护方式。 一、分区表和...

    oracle表分区详解

    ### Oracle表分区详解 #### 一、概述 Oracle数据库中的表分区是一种高级组织技术,它通过将表的大数据集划分为较小的、更易于管理的部分(即分区),从而提高查询性能和可管理性。表分区可以按照不同的策略进行...

Global site tag (gtag.js) - Google Analytics