分区表与分区索引(一):范围分区表的操作
SQL> conn / as sysdba
已连接。
SQL> create tablespace tp_p1 datafile 'd:"oracle"oradata"test"tp_p1.dbf' size 10m
2 autoextend on next 1m maxsize 100m
3 extent management local
4 segment space management auto;
SQL> create tablespace tp_p2 datafile 'd:"oracle"oradata"test"tp_p2.dbf' size 10m
2 autoextend on next 1m maxsize 100m
3 extent management local
4 segment space management auto;
----------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
SQL> conn test/test
已连接。
SQL> show user
USER 为"TEST"
------------------------------ ------------------------------
TEST TP_TEST
SQL> create table testrp(a number(10), b varchar2(10))
2 partition by range(a)(
3 partition testrp1 values less than (51),
4 partition testrp2 values less than (maxvalue)
5 );
2 from user_segments where segment_name = 'TESTRP';
------------- ------------------------------ ------------------ --------
TESTRP TESTRP1 TABLE PARTITION TP_TEST
TESTRP TESTRP2 TABLE PARTITION TP_TEST
SQL> create table testrp(a number(10), b varchar2(10))
2 tablespace tp_p1
3 partition by range(a)(
4 partition testrp1 values less than (51),
5 partition testrp2 values less than (maxvalue)
6 );
2 from user_segments where segment_name = 'TESTRP';
------------- ------------------------------ ------------------ -----------
TESTRP TESTRP2 TABLE PARTITION TP_P1
TESTRP TESTRP1 TABLE PARTITION TP_P1
2 tablespace tp_p1
3 partition by range(a)(
4 partition testrp1 values less than (51),
5 partition testrp2 values less than (maxvalue) tablespace tp_p2
6 );
2 from user_segments where segment_name = 'TESTRP';
------------- ------------------------------ ------------------ -----------
TESTRP TESTRP1 TABLE PARTITION TP_P1
TESTRP TESTRP2 TABLE PARTITION TP_P2
2 from user_segments where segment_name = 'TESTRP';
------------- ------------------------------ ------------------ -------
TESTRP TESTRP2 TABLE PARTITION TP_P2
TESTRP TESTRP1 TABLE PARTITION TP_P1
2 from user_segments where segment_name = 'TESTRP';
------------ ------------------------------ ------------------ --------
TESTRP TESTRP02 TABLE PARTITION TP_P2
TESTRP TESTRP01 TABLE PARTITION TP_P1
2 autoextend off
3 extent management local
4 segment space management auto;
alter table testrp add partition testrp03 values less than (100) tablespace tp_p3
*
ERROR 位于第 1 行:
ORA-14074: 分区界限必须调整为高于最后一个分区界限
2 partition by range(a)(
3 partition testrp1 values less than (51),
4 partition testrp2 values less than (81)
5 ) tablespace tp_p1;
SQL> set wrap on
SQL> select dbms_metadata.get_ddl('TABLE', 'TESTRP') from dual;
--------------------------------------------------------------------------------
( "A" NUMBER(10,0),
"B" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1"
PARTITION BY RANGE ("A")
(PARTITION "TESTRP1" VALUES LESS THAN (51)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP2" VALUES LESS THAN (81)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP04" VALUES LESS THAN (MAXVALUE)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
--------------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS )
SQL> alter table testrp merge partitions testrp03,testrp04 into partition testrp03;
alter table testrp merge partitions testrp03,testrp04 into partition testrp03
*
ERROR 位于第 1 行:
ORA-14275: 不能将下界分区作为结果分区重用
*
ERROR 位于第 1 行:
ORA-14275: 不能将下界分区作为结果分区重用
--------------------------------------------------------------------------------
( "A" NUMBER(10,0),
"B" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1"
PARTITION BY RANGE ("A")
(PARTITION "TESTRP1" VALUES LESS THAN (51)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP2" VALUES LESS THAN (81)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TEST03" VALUES LESS THAN (200)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
--------------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS )
SQL> select SEGMENT_NAME, PARTITION_NAME, SEGMENT_TYPE, TABLESPACE_NAME
2 from user_segments where segment_name='TESTRP';
------------------------------------------- ------------------ --------
TESTRP TEST03 TABLE PARTITION TP_P1
TESTRP TESTRP1 TABLE PARTITION TP_P1
TESTRP TESTRP2 TABLE PARTITION TP_P1
alter table testrp add partition testrp04 values less than (30) tablespace tp_p3
*
ERROR 位于第 1 行:
ORA-14074: 分区界限必须调整为高于最后一个分区界限
SQL> alter table testrp add partition testrp04 values less than (300) tablespace tp_p3;
SQL> select dbms_metadata.get_ddl('TABLE', 'TESTRP') from dual;
--------------------------------------------------------------------------------
( "A" NUMBER(10,0),
"B" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1"
PARTITION BY RANGE ("A")
(PARTITION "TESTRP1" VALUES LESS THAN (51)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP2" VALUES LESS THAN (81)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP04" VALUES LESS THAN (300)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
--------------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS )
2 (
3 partition testrp3 tablespace tp_p3,
4 partition testrp4 tablespace tp_p3
5 );
2 from user_segments where segment_name='TESTRP';
------------- ----------------------- ------------------ ----------------
TESTRP TESTRP3 TABLE PARTITION TP_P3
TESTRP TESTRP1 TABLE PARTITION TP_P1
TESTRP TESTRP2 TABLE PARTITION TP_P1
TESTRP TESTRP4 TABLE PARTITION TP_P3
SQL> select dbms_metadata.get_ddl('TABLE', 'TESTRP') from dual;
-----------------------------------------------------
( "A" NUMBER(10,0),
"B" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1"
PARTITION BY RANGE ("A")
(PARTITION "TESTRP1" VALUES LESS THAN (51)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
--------------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP2" VALUES LESS THAN (81)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP3" VALUES LESS THAN (100)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
--------------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P3" NOCOMPRESS ,
PARTITION "TESTRP4" VALUES LESS THAN (300)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P3" NOCOMPRESS )
2 partition testrp31 tablespace tp_p3,
3 partition testrp32 tablespace tp_p3
4 );
alter table testrp split partition testrp3 at (101) into(
*
ERROR 位于第 1 行:
ORA-14080: 无法按指定的上限来分割分区
SQL> alter table testrp split partition testrp3 at (80) into(
2 partition testrp31 tablespace tp_p3,
3 partition testrp32 tablespace tp_p3
4 );
alter table testrp split partition testrp3 at (80) into(
*
ERROR 位于第 1 行:
ORA-14080: 无法按指定的上限来分割分区
SQL> alter table testrp add partition testrp5 values less than (maxvalue) tablespace tp_p3;
2 partition testrp5 tablespace tp_p3,
3 partition testrp6 tablespace tp_p3
4 );
SQL> select dbms_metadata.get_ddl('TABLE', 'TESTRP') from dual;
---------------------------------------------------------------------------
( "A" NUMBER(10,0),
"B" VARCHAR2(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1"
PARTITION BY RANGE ("A")
(PARTITION "TESTRP1" VALUES LESS THAN (51)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
---------------------------------------------------------------------------
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP2" VALUES LESS THAN (81)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P1" NOCOMPRESS ,
PARTITION "TESTRP3" VALUES LESS THAN (100)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
---------------------------------------------------------------------------
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P3" NOCOMPRESS ,
PARTITION "TESTRP4" VALUES LESS THAN (300)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P3" NOCOMPRESS ,
PARTITION "TESTRP5" VALUES LESS THAN (400)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
---------------------------------------------------------------------------
TABLESPACE "TP_P3" NOCOMPRESS ,
PARTITION "TESTRP6" VALUES LESS THAN (MAXVALUE)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "TP_P3" NOCOMPRESS )
2 partition by range(a)(
3 partition values less than (51),
4 partition values less than (maxvalue)
5 );
2 from user_segments where segment_name = 'TESTRP';
------------------------------------------- ------------------ -------
TESTRP SYS_P1 TABLE PARTITION TP_TEST
TESTRP SYS_P2 TABLE PARTITION TP_TEST
2 partition by range(a)(
3 partition values less than (51),
4 partition values less than (maxvalue)
5 );
2 from user_segments where segment_name = 'TESTRP2';
------------- ------------------------------ ------------------ -------
TESTRP2 SYS_P4 TABLE PARTITION TP_TEST
TESTRP2 SYS_P3 TABLE PARTITION TP_TEST
转载于:https://www.cnblogs.com/yifan268/archive/2008/06/14/1221109.html
分区表与分区索引(一):范围分区表的操作相关推荐
- oracle 分区表,分区索引
oracle 分区表,分区索引 1.分区表 一)范围分区 SCOTT@orcl#select tablespace_name from dba_tablespaces;TABLESPACE_NAME ...
- ORACLE分区表、分区索引详解
ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数据过程都是先定位根据查询条件定位分区范围,即数据在那个分区或那几个 ...
- oracle 分区表 字符串,ORACLE分区表、分区索引详解(转)
今天逛论坛发现了一篇好文章,分享一下,自己也备个份,方便查找!! ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段存储,一般普通表格是一个段存储,而分区表会分成多个段,所以查找数 ...
- 深入学习Oracle分区表及分区索引
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: ? Range(范围)分区 ? Has ...
- oracle 建分区索引_Oracle分区表及分区索引-创建list分区
Oracle 分区表及分区索引 - 创建 list 分区 创建 list 分区的语法如上,需要我们指定的 : l column: 分区依赖列 ( 注意:只能是一个 ); l partition: 分区 ...
- java oracle 分区查询_深入学习Oracle分区表及分区索引
深入学习Oracle分区表及分区索引 关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Rang ...
- MS SQL Server:分区表、分区索引详解
MS SQL Server:分区表.分区索引 详解 1. 分区表简介 使用分区表的主要目的,是为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性. 大型表:数据量巨大的表. 访问模式: ...
- Oracle分区表及分区索引的创建
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Range(范围)分区 • Has ...
- Oracle分区表及分区索引
Oracle分区索引 索引与表类似,也可以分区: 分区索引分为两类: Locally partitioned index(局部分区索引) Globally partitioned index(全局分区 ...
- oracle 建分区索引_Oracle的分区表和Local索引创建与维护
Oracle的分区表和Local索引创建与维护 SQL> connect eygle/eygle Connected. SQL> CREATE TABLE dbobjs 2 (OBJEC ...
最新文章
- SVN:This client is too old to work with working copy…解决的方法
- bat、sh等批处理文件(脚本文件)
- 浏览器json格式化插件 yformater
- C语言:(旧)用字符串自由输入计算的计算器(加减乘除)
- 1007.protobuf序列化string数据遇'\0'截断问题
- c语言编写指针函数求和与两数交换值
- CSAPP Bomb Lab记录
- 【图解】虚拟机下载安装以及Linux操作系统的配置CentOS安装
- Base64编码及应用
- 如何识别服务器网站有病毒,网站有病毒怎么解决?
- Python学的好,工作不愁找
- SQL查询以某个字母开头
- 关于阻止PROE联网的一些想法!
- 【硬刚大数据】从零到大数据专家之Kylin入门/原理/调优
- C# 语言程序设计笔记
- Pytorch载入部分参数并冻结
- 计算机二级c 在线模拟考试,全国计算机等级考试二级C考试模拟题
- 图形性能测试软件,3DMark05 Build 1.2.0『最为普及的3D图形卡性能测试工具』
- Office Tool Plus(安装visio)
- HTTP 文件上传的基本原理
热门文章
- 高级算法专家储开颜:无端不视频 阿里视频云三大端上技术能力
- Shell脚本编写与应用
- Android SurfaceView 绘图及帧频处理方法修正
- 浅入浅出 Android 安全:第三章 Android 本地用户空间层安全
- BroadcastReceiver应用详解(一)
- [C++再学习系列] 前置++与后置++
- latin1_swedish_ci gbk_chinese_ci
- 『第27天』Sunos(二)
- SecureRandom
- 2018年08月19日发烧诸事记