当前位置:  数据库>oracle

Oracle 11g的新特性分区:System Partition

    来源: 互联网  发布时间:2017-06-04

    本文导语: Partition分区是Oracle一直以来推出的性能、管理优化技术。在Oracle数据库技术体系中,Partition是归属在DW(Data Warehouse)体系中,也就是Oracle官方认定的处理大数据策略。 单就Partition技术本身而言,11g是一个重要的版本。一些自动...

Partition分区是Oracle一直以来推出的性能、管理优化技术。在Oracle数据库技术体系中,Partition是归属在DW(Data Warehouse)体系中,也就是Oracle官方认定的处理大数据策略。
 
单就Partition技术本身而言,11g是一个重要的版本。一些自动化分区技术、增强策略在11g中推出。比如引用分区(Reference Partition)、间断分区(Interval Partition)、虚拟列分区(Partitioning Virtual Columns)、系统分区(System Partition)和拓展组合分区(Extended Composite Partitioning)。
 
本篇目的介绍11g的System Partition特性。

--------------------------------------分割线 --------------------------------------

 Oracle 11g新特性:RMAN脚本中使用替换变量

Oracle 11g 新特性 -- Result Cache(结果高速缓存)说明

Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明

Oracle 11g 新特性 -- DB_ULTRA_SAFE 参数 说明

Oracle 11g 新特性 -- SQL Plan Management 说明

Oracle 11g 新特性 -- 管理 SPFILE 说明

--------------------------------------分割线 --------------------------------------

1、环境介绍
 
 

笔者选择Oracle 11R2作为实验对象。
 
 

 

SQL> select * from v$version;
 
 

BANNER
 
--------------------------------------------------------------------------------
 
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
 
PL/SQL Release 11.2.0.1.0 - Production
 
CORE    11.2.0.1.0    Production
 
 

TNS for Linux: Version 11.2.0.1.0 - Production
 
NLSRTL Version 11.2.0.1.0 – Production
 
 

 

2、System Partition
 
 

我们在其他的Partition类型中,都会面对一个问题就是分区键选择。所谓分区Partition,就是将一个数据表段segment拆分为多个存储段保存。传统意义上的Partition停留在定义层面,只要我们在数据表定义的时候确定好分区键和分区策略。之后的使用数据表的过程中,我们其实对分区是“透明”的。
 
如果进行数据表的DML操作和select操作,我们是不需要指定、也无法控制数据记录插入到哪个分区中的。只有一种情况不同,就是修改分区键。如果修改分区键,并且修改分区键会影响到分区布局,这样的DML操作是不允许的。
 
11g的System Partition提供了不同选择。它提供给SQL DML操作者一种选择,让可以指定出“希望将数据保存”在哪个地方。
 
创建System Partition的过程,也是在定义数据表的过程中需要确定。
 
 

 

SQL> create table t partition by system (partition p1 tablespace users,
 
  2  partition p2 tablespace EXAMPLE) as select * from dba_objects where 1=0 ;
 
 

create table t partition by system (partition p1 tablespace users,
 
partition p2 tablespace EXAMPLE) as select * from dba_objects where 1=0
 
 

ORA-14704: 不允许对 SYSTEM 分区表执行以下操作: Create table as select
 
 

 

在system partition中,我们不允许对分区进行spilt操作和cats操作。正确的处理方式,如下:
 
 

 

SQL> create table t
 
  2  (owner varchar2(100),
 
  3  object_name varchar2(1000),
 
  4  object_id number)
 
  5  partition by system
 
  6  (partition p1 tablespace users,
 
  7  partition p2 tablespace example);
 
 

Table created
 
 

 

在语句中,我们指定了数据表采用分区策略——system策略,设定了两个分区p1和p2,并且指定了两个分区的表空间存储位置。
 
注意:这个过程中,我们没有指定分区规则,也就是没有告诉数据库当一个数据插入的时候,如何进行数据分堆。
 
检查数据字典,确定段结构情况。
 
 

 

SQL> select segment_name, partition_name, segment_type from dba_segments where owner='SCOTT' and segment_name='T';
 
 

SEGMENT_NAME        PARTITION_NAME      SEGMENT_TYPE
 
-------------------- -------------------- ------------------
 
T                    P1                  TABLE PARTITION
 
T                    P2                  TABLE PARTITION
 
 

SQL> select partitioning_type from dba_part_tables where owner='SCOTT' and table_name='T';
 
 

PARTITIONING_TYPE
 
-----------------
 
SYSTEM
 
 

 

分区类型,确定为system partition。在system partiton中,也可以创建local index对象。
 
 

 

SQL> create index idx_t_id on t(object_id) local;
 
 

Index created
 
 

SQL> select segment_name, partition_name, segment_type from dba_segments where owner='SCOTT' and segment_name='IDX_T_ID';
 
 

SEGMENT_NAME        PARTITION_NAME      SEGMENT_TYPE
 
-------------------- -------------------- ------------------
 
IDX_T_ID            P1                  INDEX PARTITION
 
IDX_T_ID            P2                  INDEX PARTITION

更多详情见请继续阅读下一页的精彩内容:


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c的九大最新技术特性介绍
  • 也谈Oracle 数据库的绑定变量特性及应用
  • Oracle 11g 新特性 Flashback Data Archive 使用实例
  • Oracle9i 动态SGA,PGA特性探索
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • ORACLE中DBMS_RANDOM随机数生成包
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,