我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行分区表split操作及maxvalue处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行分区表split操作及maxvalue处理

这篇文章将为大家详细讲解有关如何进行分区表split操作及maxvalue处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

CREATE TABLE DFMS.WIP_D_WO_DETAIL
(
  WORK_ORDER          VARCHAR2(25 CHAR)         NOT NULL,
  PART_NO             VARCHAR2(35 BYTE)         NOT NULL,
  PART_REV            VARCHAR2(10 BYTE)         DEFAULT 'N/A'                 NOT NULL,
  ALT_FLAG            VARCHAR2(1 BYTE)          DEFAULT '0'                   NOT NULL,
  SUBSTITUTE_PN       VARCHAR2(35 BYTE),
  UNIT_QTY            NUMBER                    DEFAULT 0                     NOT NULL,
  SOURCE_DEPT         VARCHAR2(5 BYTE)          DEFAULT 'SFC'                 NOT NULL,
  CREATOR             VARCHAR2(20 BYTE)         NOT NULL,
  CREATE_DATE         DATE                      DEFAULT SYSDATE,
  UPDATER             VARCHAR2(20 BYTE),
  UPDATE_DATE         DATE,
  SCH_PART_NO         VARCHAR2(35 BYTE),
  MAIN_WHID           VARCHAR2(10 BYTE),
  REPLACE_GROUP       VARCHAR2(50 BYTE)         NOT NULL,
  MOD_NO              VARCHAR2(20 BYTE),
  PHANTOM_FLAG        VARCHAR2(10 BYTE)
)
TABLESPACE PART_D_TS1
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
LOGGING
PARTITION BY RANGE (CREATE_DATE)

  PARTITION P200907 VALUES LESS THAN (TO_DATE(' 2009-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201001 VALUES LESS THAN (TO_DATE(' 2010-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201007 VALUES LESS THAN (TO_DATE(' 2010-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201101 VALUES LESS THAN (TO_DATE(' 2011-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201107 VALUES LESS THAN (TO_DATE(' 2011-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201201 VALUES LESS THAN (TO_DATE(' 2012-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201207 VALUES LESS THAN (TO_DATE(' 2012-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION P201301 VALUES LESS THAN (TO_DATE(' 2013-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

'NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               ), 
  PARTITION PMAX VALUES LESS THAN (MAXVALUE)
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )
)
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING
ENABLE ROW MOVEMENT; 


假设没有maxvalue部分,那么加入分区: 


ALTER TABLE DFMS.WIP_D_WO_DETAIL
ADD PARTITION P201307 VALUES LESS THAN (TO_DATE(' 2013-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

NLS_CALENDAR=GREGORIAN'))
    LOGGING
    NOCOMPRESS
    TABLESPACE PART_D_TS1
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                INITIAL          50M
                NEXT             50M
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
               )  ;

这里有maxvalue部分,那么加入分区需要split : 

备注: 
split partition时,根据split point原来的partition分裂成两个partition。
如果其中一个partition是空的,则不需要move原来的partition,也不需要rebuild
index,这种我们称之为fast split。

不过如果在split的时候指定了tablespace,即使其中一个partition是空的,而且该
tablespace与parent partition的tablespace不同,oracle会move整个partition到
新的tablespace中。因为这个tablespace参数,导致了原来的fast split不成功,而
需要move segment和rebuild index。

ALTER TABLE DFMS.WIP_D_WO_DETAIL
SPLIT PARTITION  PMAX  AT (TO_DATE(' 2013-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', NLS_CALENDAR=GREGORIAN'))
INTO  (PARTITION  P201307  TABLESPACE PART_D_TS1, PARTITION  PMAX  TABLESPACE  PART_D_TS1) ;

如果你需要取消maxvalue部分,那么split几部分后,查看最后一部分是否有值,如果没有,直接
drop掉最后split出去的那部分。 然后就可以直接add partition 了。

ALTER TABLE DFMS.WIP_D_WO_DETAIL
SPLIT PARTITION  PMAX  AT (TO_DATE(' 2013-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', NLS_CALENDAR=GREGORIAN'))
INTO  (PARTITION  P201307  TABLESPACE PART_D_TS1, PARTITION  P2014  TABLESPACE  PART_D_TS1) ;

ALTER TABLE DFMS.WIP_D_WO_DETAIL
SPLIT PARTITION  P2014  AT (TO_DATE(' 2014-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', NLS_CALENDAR=GREGORIAN'))
INTO  (PARTITION  P201401  TABLESPACE PART_D_TS1, PARTITION  P201407  TABLESPACE  PART_D_TS1) ;

ALTER TABLE DFMS.WIP_D_WO_DETAIL
SPLIT PARTITION  P201407  AT (TO_DATE(' 2014-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', NLS_CALENDAR=GREGORIAN'))
INTO  (PARTITION  P201407  TABLESPACE PART_D_TS1, PARTITION  P201501  TABLESPACE  PART_D_TS1) ;

ALTER TABLE DFMS.WIP_D_WO_DETAIL DROP PARTITION  P201501  ;

然后就可以类似没有设置maxvalue一样加入后面的partiton .

ALTER TABLE DFMS.WIP_D_WO_DETAIL
ADD PARTITION P201501 VALUES LESS THAN (TO_DATE(' 2015-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

NLS_CALENDAR=GREGORIAN')) ;

ALTER TABLE DFMS.WIP_D_WO_DETAIL
ADD PARTITION P201507 VALUES LESS THAN (TO_DATE(' 2015-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS',

NLS_CALENDAR=GREGORIAN')) ;

..... 


如果在split的时候将tablespace更换了,那么需要rebuild index .

下面的语句用于rebuild local index partitions或子分区
(子分区一般指range-hash等组合分区中的子分区) : 
ALTER INDEX ... REBUILD PARTITION/SUBPARTITION


ALTER TABLE ... MODIFY PARTITION/SUBPARTITION ... REBUILD UNUSABLE LOCAL INDEXES
这个语句找出所有的unusable的index, 然后rebuild他们。

关于如何进行分区表split操作及maxvalue处理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行分区表split操作及maxvalue处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行分区表split操作及maxvalue处理

这篇文章将为大家详细讲解有关如何进行分区表split操作及maxvalue处理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CREATE TABLE DFMS.WIP_D_WO_DETAIL
2023-06-06

Linux下NTFS分区如何进行写操作

这篇文章给大家分享的是有关Linux下NTFS分区如何进行写操作的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux下NTFS分区的写操作只需通过简单点击即可完成。在你正常的工作中,假如你装的是双系统,其中一
2023-06-17

Impala中如何进行数据分区操作

在 Impala 中,数据分区操作可以通过 PARTITION BY 子句来实现。在创建表的时候,可以指定一个或多个列作为分区键,例如:CREATE TABLE mytable (id INT,name STRING)PARTITIO
Impala中如何进行数据分区操作
2024-03-06

MariaDB中如何进行分区表设计和管理

在MariaDB中,分区表是指将一张表分割成多个独立的子表,每个子表称为一个分区。分区表可以提高查询性能、数据管理和维护的效率。以下是在MariaDB中进行分区表设计和管理的步骤:创建分区表:在创建表的时候,可以通过PARTITION B
MariaDB中如何进行分区表设计和管理
2024-04-09

如何进行 autoit java 的多线程处理操作?(autoit java的多线程处理如何操作)

在Java编程中,多线程处理是一个非常重要的概念,它可以让程序同时执行多个任务,提高程序的效率和响应性。而对于使用autoit进行Java开发的开发者来说,了解如何进行多线程处理也是必不可少的。本文将详细介绍autoitjava的多线程处理如何操作。
如何进行 autoit java 的多线程处理操作?(autoit java的多线程处理如何操作)
Java2024-12-20

阿里云服务器如何进行地区转换及操作方法

阿里云服务器是阿里云提供的基于虚拟化技术的云服务器产品。用户可以通过阿里云的控制台进行阿里云服务器的区域切换,以满足不同业务场景的需求。本文将详细介绍阿里云服务器如何进行地区转换及操作方法。一、阿里云服务器区域转换的必要性随着业务的发展,阿里云服务器可能会被部署在不同的地区。不同的地区可能有不同的网络环境,这会影
阿里云服务器如何进行地区转换及操作方法
2023-12-10

如何在Oracle中进行空间管理和表分区维护

在Oracle中进行空间管理和表分区维护可以通过以下步骤进行:空间管理:使用表空间来管理数据库中的数据文件,可以创建、修改和删除表空间来管理数据库的存储空间。可以使用ALTER TABLESPACE语句来对表空间进行管理,例如扩展表空间的
如何在Oracle中进行空间管理和表分区维护
2024-04-09

分时操作系统如何处理进程之间的通信?

分时操作系统通过各种机制处理进程之间的通信,包括管道、信号、共享内存和消息队列,从而允许进程安全高效地进行数据交换和同步。
分时操作系统如何处理进程之间的通信?
2024-03-05

PHP Linux脚本操作经验分享:利用正则表达式进行文本处理

正则表达式是处理文本的强大工具,能够快速而灵活地匹配、搜索和替换文本中的模式。在PHP Linux脚本编程中,利用正则表达式进行文本处理常常是必不可少的技能。本文将分享一些实用的正则表达式操作技巧,并提供具体的代码示例供参考。匹配和提取文本
2023-10-21

麒麟操作系统中的磁盘分区和格式化如何进行

在麒麟操作系统中,磁盘分区和格式化可以通过以下步骤进行:1. 打开“磁盘工具”应用程序。可以通过在“应用程序启动器”中搜索“磁盘”来找到它。2. 在磁盘工具中,选择要分区和格式化的磁盘。在侧边栏中,您将看到所有可用的磁盘和分区。3. 如果磁
2023-10-10

批处理如何实现根据文件内容进行重命名操作

这篇文章将为大家详细讲解有关批处理如何实现根据文件内容进行重命名操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我想实现以下的目的: 首先,我有个.dat文件,名字是固定的,需要更改这个文件名. .da
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录