当前位置: 首页 > news >正文

Oracle表分区的创建、新增、拆分

Oracle中为了方便管理、查询数据当数据量大于500w或者2G时最好用分区表,常见的一种是使用时间作为分区。

分区表添加新的分区有 2 种情况:
(1) 原分区里边界是 maxvalue 或者 default。 这种情况下,我们需要把边界分区 drop 掉,加上新分区后,再添加上新的分区。 或者采用 split,对边界分区进行拆分
(2) 没有边界分区的。 这种情况下,直接添加分区就可以了。

创建分区表:

CREATE TABLE WJZ.wjz_t1(	ID NUMBER, STR1 VARCHAR2(20), STR2 VARCHAR2(20), STR3 VARCHAR2(20), tdate date,constraint pk_id_t1 primary key(id)) PARTITION BY RANGE (TDATE)(PARTITION P202212  VALUES LESS THAN (TO_DATE('2023-01-01','YYYY-MM-DD')),PARTITION POTHER VALUES LESS THAN (MAXVALUE) )

然后插入数据

insert into WJZ_T1 values(1,'str1','str2','abc',to_date('2022-11-10 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(2,'str1','str2','abc',to_date('2022-12-10 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(3,'str1','str2','abc',to_date('2023-1-10 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(4,'str1','str2','abc',to_date('2023-1-12 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(5,'str1','str2','abc',to_date('2023-2-10 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(6,'str1','str2','abc',to_date('2023-2-14 00:00:01','yyyy-mm-dd hh24:mi:ss'));
insert into WJZ_T1 values(7,'str1','str2','abc',to_date('2023-3-10 00:00:01','yyyy-mm-dd hh24:mi:ss'));

其中增加POHTER分区是为了防止不符合分区条件是数据插入报错,但是如果直接新增分区会报错ORA-14074: 分区界限必须调整为高于最后一个分区界限,根本原因是存在最后maxvalue分区

ALTER TABLE wjz_t1 ADD PARTITION P202301 VALUES LESS THAN(TO_DATE('2023-02-01','YYYY-MM-DD'));

 解决方法是拆分分区,在split partition时,根据split point原来的partition分裂成两个partition。

同时,观察在拆分分区前查看索引情况: 

select a.index_name,a.status from user_indexes a where table_name in ('WJZ_T1') ;

拆分分区SQL:

ALTER TABLE wjz_t1 SPLIT PARTITION POTHER AT (TO_DATE('2023-02-01','YYYY-MM-DD')) INTO (PARTITION P202301, PARTITION POTHER);
ALTER TABLE wjz_t1 SPLIT PARTITION POTHER AT (TO_DATE('2023-04-01','YYYY-MM-DD')) INTO (PARTITION P202303, PARTITION POTHER);

 新增表分区成功,如下

 

查看表索引也是正常的:

 

 但是如果要新增P202302表分区的话,以下会报错:

ALTER TABLE wjz_t1 SPLIT PARTITION POTHER AT (TO_DATE('2023-03-01','YYYY-MM-DD')) INTO (PARTITION P202302, PARTITION POTHER);

 所以分区拆分的时候,必须从小的开始,否则会提示如下报错

ORA-14080:无法按指定的上限来分割分区

正确的是

ALTER TABLE wjz_t1 SPLIT PARTITION P202303 AT (TO_DATE('2023-03-01','YYYY-MM-DD')) INTO (PARTITION P202302, PARTITION P202303);

  

此时查看表索引有问题:

 需要重建索引:

ALTER INDEX PK_ID_T1 REBUILD ONLINE;

或者在拆分分区的时候使用以下也会重建索引:

ALTER TABLE wjz_t1 SPLIT PARTITION P202303 AT (TO_DATE('2023-03-01','YYYY-MM-DD')) INTO (PARTITION P202302, PARTITION P202303) UPDATE INDEXES ;

所以如果清理表时,如果时间分区忘了增加,可以拆分默认表分区来新增表分区,然后再通过删除分区方式来清理数据:

alter table WJZ_T1 drop partition P202302;

 但需要注意的是观察分区表的索引情况。

如果表分区split的时候将tablespace更换了,那么也需要rebuild index .

参考文章:

oracle11.2中add&split partition 对全局及本地index的影响 - 知乎

oracle分区表split,分区表split操作及maxvalue处理_科技体验者的博客-CSDN博客

Oracle Partition 分区详细总结_wounler的博客-CSDN博客 

相关文章:

Oracle表分区的创建、新增、拆分

Oracle中为了方便管理、查询数据当数据量大于500w或者2G时最好用分区表,常见的一种是使用时间作为分区。 分区表添加新的分区有 2 种情况: (1) 原分区里边界是 maxvalue 或者 default。 这种情况下,我们需要把边界分区 drop 掉,加…...

如何快速升级Java 8 到Java11

老板让我把一个项目从 Java 8 迁移到 Java 11,我该怎么办呢? 最简单的办法,当然是直接强行升级,遇到一个错就改一个错,别看它 low,但是对于一个小型且非核心的项目来说,已经足够了。 当然,对于比较重要的项目,且代码行数不少的情况,最标准的姿势就是对着官方文档进…...

内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字Java八股文

互联网大厂更多的是看重学历还是技术?毫无疑问,是技术,技术水平相近的情况下,肯定学历高/好的会优先一点,这点大家肯定都理解。说实话,学弟学妹们找工作难,作为面试官招人也难呀!&am…...

【计组】主存储器有关知识梳理

一、主存储器 主存储器可以直接和CPU进行通信,但是只能保存临时数据,在断电后数据就消失。还有一个特点是,主存储器的容量小,速度快,造价高。 1.构成 2.主存中存储体的构造 最小的存储单位是存储元,存储元…...

QT对象树

对象模型(对象树) 在Qt中创建对象的时候会提供一个Parent对象指针,下面来解释这个parent到底是干什么的。 l QObject是以对象树的形式组织起来的。 n 当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作…...

什么是B+树

B树是一种树数据结构。B树索引是B树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。 先来了解一下什么是索引? 一、索引 数据都是存储在硬盘上的,查询数据不可避免的需要进行IO操作。 索引是一种数据结构&#xff0c…...

【Unity游戏破解】外挂原理分析

文章目录认识unity打包目录结构游戏逆向流程Unity游戏攻击面可被攻击原因mono的打包建议方案锁血飞天无限金币攻击力翻倍以上统称内存挂透视自瞄压枪瞬移内购破解Unity游戏防御开发时注意数据安全接入第三方反作弊系统外挂检测思路狠人自爆实战查看目录结构用il2cpp dumper例子…...

windows 关闭指定端口进程

1、首先打开cmd 注意要用管理员身份打开cmd,否则可能出现无权访问的提示。 2、输入以下命令(以端口号9098为例) 查看端口信息 netstat -ano | findstr 90983、输入以下命令关闭这个进程 taskkill -PID 39716 -F...

虚拟化系列教程:创建 KVM 虚机的几种方式

虚拟化系列教程:创建虚拟机的几种方式[TOC](虚拟化系列教程:创建虚拟机的几种方式)创建 KVM 虚机的几种方式使用 virt-install 命令创建虚拟机参数说明一般选项安装方法存储配置网络配置其它常用的选项图形配置设备选项虚拟化平台其它创建虚拟机的操作演…...

MacBook安装Golang Oracle数据库驱动程序

Golang连接Oracle 需要安装Oracle Full Client或Instant Client Oracle的Instant Client套件下载地址 #选择Instant Client for macOS (Intel x86)下载包如下: instantclient-basic-macos.x64-19.8.0.0.0dbru.zip instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip instantcli…...

Elasticsearch 核心技术(七):IK 中文分词器的安装、使用、自定义字典

❤️ 博客主页:水滴技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 🌸 订阅专栏:大数据核心技术从入门到精通 文章目录一、安装 IK 分词器方式一:自行下载并解压安装包方式二:…...

【LeetCode】剑指 Offer(19)

目录 题目:剑指 Offer 36. 二叉搜索树与双向链表 - 力扣(Leetcode) 题目的接口: 解题思路: 代码: 过啦!!! 写在最后: 题目:剑指 Offer 36. …...

吐血整理,web自动化测试,POM模式搭建自动化测试框架(超级详细)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 POM设计模式 主要是…...

【数据库原理复习】索引 视图 sql语句

这里写目录标题视图视图特点视图定义优点索引相关sql三种索引区别解释视图 视图特点 只是虚表,并不实际存放数据,所有数据都来自于基本表建立在一个或几个基本表或视图之上基本表数据变化视图也随之变化只保存视图定义等之类东西 视图定义 # 定义视图…...

【HDFS】IPC重试

1、IPC重试和dfs.client.retry重试的区别2、IPC重试的相关参数汇总及含义3、 IPC重试相关源码、原理简单总结一句话: IPC重试是因为连接问题而进行重试; 客户端重试是因为RPC在服务端处理发生异常,客户端根据指定的策略进行重试。 接下来让我们深入一下源码,因为每一部分源…...

Revit导出CAD图纸操作及批量导出

一、Revit如何导出CAD格式图纸 1.打开Revit模型。 2.项目浏览器,图纸(全部),鼠标右键点击,新建图纸。 3.选择自己需要的图纸大小,点击“确定”,即可创建一张图纸。 4.找到想要导出的图纸标高或者立面,例如&…...

【批处理脚本】-3.4-goto命令详解

"><--点击返回「批处理BAT从入门到精通」总目录--> 共4页精讲(列举了所有goto的用法,图文并茂,通俗易懂) 在从事“嵌入式软件开发”和“Autosar工具开发软件”过程中,经常会在其集成开发环境IDE(CodeWarrior,S32K DS,Davinci,EB Tresos,ETAS…)中,…...

超详细CentOS7 NAT模式(无图形化界面即最小安装)网络配置

在此附上CentOS7&#xff08;无图形化界面最小安装&#xff09;安装教程 超详细VMware CentOS7&#xff08;无图形化界面最小安装&#xff09;安装教程 打开VMware—>点击编辑---->选择虚拟网络编辑器 打开虚拟网络编辑器后如下图所示&#xff1a; 从下图中我们看到标…...

【可信平台】开证问题汇总--1.无采购入库记录,2.箱码无产出记录

这里面的问题主要有两类, 批号无采购入库记录箱码无产出记录批号无采购入库记录 第一个问题,以批号 W200263242022100600018 为例。 MES里入库明细里能查到可信平台集成报错: 入库数量>采购数量 再看下入库明细里的情况: 可信平台集成提示物料库存不存在。(没有入库记…...

RolePred: Open-Vocabulary Argument Role Prediction for Event Extraction 论文解读

Open-Vocabulary Argument Role Prediction for Event Extraction 论文&#xff1a;2211.01577.pdf (53yu.com) 代码&#xff1a;yzjiao/RolePred: Source code for EMNLP findings paper “Open-Vocabulary Argument Role Prediction for Event Extraction” (github.com) 期…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称&#xff1a;Apache Flink REST API 任意文件读取漏洞CVE编号&#xff1a;CVE-2020-17519CVSS评分&#xff1a;7.5影响版本&#xff1a;Apache Flink 1.11.0、1.11.1、1.11.2修复版本&#xff1a;≥ 1.11.3 或 ≥ 1.12.0漏洞类型&#xff1a;路径遍历&#x…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...