`
dacoolbaby
  • 浏览: 1266025 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle 分区攻略(二)

阅读更多
   为了应对不同的分区情况,普通的分区不足以满足日益增长的系统需求。所以我们不仅仅有好的分区结构,而且也要很好的维护我们的分区。

混合分区:
create table TRACK  (
   TRACK_ID           NUMBER(20)                      not null,  
   COMP_CDE           VARCHAR2(6),
   TRACK_TM           DATE                            not null,
   CAR_NO             VARCHAR2(50) 
)partition by range(TRACK_TM)
subpartition by list(COMP_CDE)
(
             partition P_2009_11 values less than (to_date('2009-12-01','yyyy-MM-dd'))
             (
                       subpartition P_2009_11_P1013 values('P1013')
             )
);
--添加子分区
alter table TRACK 
modify partition P_2005_01
add subpartition P_2005_01_P1017 values('P1017');

--添加分区
alter table TRACK add partition P_2005_04 values less than(to_date('2005-05-01','yyyy-MM-dd'))
(
    subpartition P_2005_04_P1013 values('P1013'),
    subpartition P_2005_04_P1013 values('P1014'),
    subpartition P_2005_04_P1013 values('P1015'),
    subpartition P_2005_04_P1013 values('P1016')
)

--删除子分区
alter table TRACK drop subpartition p_2005_01_p1017;

--删除分区
alter table TRACK drop partition p_2005_04;


分区维护操作:
drop table sales;
create table sales
(SaleNo NUMBER(5),  
SaleDate CHAR(8)) 
PARTITION BY RANGE(SaleDate) 
(PARTITION nov06 VALUES LESS THAN (20061201) TABLESPACE ts1,
 PARTITION dec06 VALUES LESS THAN (20070101) TABLESPACE ts2,
 PARTITION jan07 VALUES LESS THAN (20070201) TABLESPACE ts3,
 PARTITION feb07 VALUES LESS THAN (20070301) TABLESPACE ts4,
 PARTITION mar07 VALUES LESS THAN (20070401) TABLESPACE ts1)
;
select table_name,partition_name,high_value from user_tab_partitions where table_name='SALES';

--增加分区
ALTER TABLE salesADD PARTITION apr07 VALUES LESS THAN (20070501)TABLESPACE ts2;
--删除分区
ALTER TABLE sales DROP PARTITION Nov06;
--合并分区
ALTER TABLE salesMERGE PARTITIONS jan07,feb07 INTO PARTITION jan_feb07;
--拆分分区
ALTER TABLE sales SPLIT PARTITION jan_feb07AT (20070201)
INTO (PARTITION jan07 TABLESPACE ts2,
      PARTITION feb07 TABLESPACE ts1);
--分区迁移
ALTER TABLE sales MOVE PARTITION jan07TABLESPACE ts3;
--分区交换
ALTER TABLE sales EXCHANGE PARTITION feb07WITH TABLE sales_feb07;
--分区截断
ALTER TABLE sales TRUNCATE PARTITION jan07;


分享到:
评论

相关推荐

    Oracle分区表详解

    #### 二、Oracle 分区的优缺点 ##### 优点: - **增强可用性**:即使某个分区出现故障,其他分区的数据仍然可用。 - **简化维护**:如果某个分区发生问题,只需对该分区进行修复即可。 - **均衡 I/O**:可以通过将...

    Oracle分区技术介绍

    Oracle分区技术是一种数据库管理系统(DBMS)特性,用于将大型表和索引分割成更小、更易管理和处理的部分,从而提升查询性能和数据管理效率。这种技术特别适用于数据仓库和决策支持系统(DSS),因为这些系统通常...

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

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

    ORACLE分区

    根据提供的文件信息,本文将详细解释Oracle分区技术及其在解决UNDOTBS01.DBF文件过大问题中的应用方法,并进一步探讨Oracle分区的不同类型及其应用场景。 ### Oracle 分区概述 Oracle分区是一种将大表或索引分割成...

    oracle分区资料·

    oracle分区资料· oracle分区资料· oracle分区资料·

    Oracle分区表用法

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

    Oracle分区表培训

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

    Oracle 分区表 分区索引

    #### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并简化表和索引的管理。 #### 二、何时...

    ORACLE分区与索引

    **二、Oracle 分区优缺点** 优点: 1. **增强可用性**:分区表的某个分区出现故障,不会影响其他分区,确保了数据的持续可用。 2. **维护便利**:只需要修复故障的分区,无需对整个表进行操作。 3. **均衡 I/O**:...

    Oracle分区表及分区索引

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

    Oracle 分区表自动维护脚本

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

    oracle表分区详解

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

    oracle分区表分区索引.docx

    二、分区索引的分类 分区索引可以分为两类:全局索引(Global Index)和本地索引(Local Index)。 1. 全局索引(Global Index) 全局索引是指可以跨越多个分区的索引。全局索引可以建在分区表上,也可以建在非...

    oracle分区表总结

    #### 二、Oracle分区类型 Oracle支持多种类型的分区,主要包括: 1. **范围分区** (Range Partitioning):基于列的取值范围来分配数据到不同的分区。 2. **列表分区** (List Partitioning):基于列的特定值或值...

    Oracle表分区详解(优缺点)

    Oracle 表分区是一种高效的数据管理策略,用于处理大数据量的表,以提升查询性能和数据库的可维护性。本文将详细介绍Oracle表分区的概念、作用、优缺点,以及各种类型的分区和操作方法。 首先,理解表空间和分区表...

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

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

    深入学习分区表及分区索引(详解oracle分区).docx

    Oracle分区技术是数据库管理系统中用于优化大规模数据存储和查询性能的一种高级特性。它允许将大表和索引分成较小、更易管理和操作的部分,每个部分称为一个分区。分区的主要目标是提高查询性能、简化管理任务并增强...

Global site tag (gtag.js) - Google Analytics