0

0

如何拆分表分区_ALTER TABLE SPLIT PARTITION拆分大区与MAXVALUE区

P粉602998670

P粉602998670

发布时间:2026-03-17 08:40:04

|

182人浏览过

|

来源于php中文网

原创

AT值必须严格落在原分区实际数据范围内且不与已有边界重叠;例如p_max存2023-03-01后数据,仅能用AT('2023-04-01')等合法值,AT('2022-12-01')将报ORA-14074错误。

拆分 RANGE 分区时,AT 值必须严格落在原分区范围内

直接拆分一个 partition p_max(即定义为 values less than (maxvalue) 的分区)是常见需求,但很多人误以为可以随意指定任意时间点——其实 at 值必须满足两个条件:它得在原分区实际数据的范围内,且不能与已有分区边界重叠。比如 p_max 当前存着 2023-03-01 之后所有数据,那你只能用 at ('2023-04-01') 这类值去切;若用 at ('2022-12-01'),oracle 会报 ora-14074: partition bound must be greater than that of the last partition

  • AT 值不是“新分区的上限”,而是“左闭右开”切口:原分区中 AT 的数据进第一个新分区,≥ AT 的进第二个
  • 若原 p_max 是空的(无数据),AT 值仍需合法,否则 DDL 会直接失败,不因“没数据”而放宽校验
  • 生产环境建议先查 SELECT MIN(col), MAX(col) FROM table PARTITION (p_max),确认数据跨度再定 AT

拆分 MAXVALUE 分区必须加 UPDATE INDEXes

对含全局索引(尤其是唯一索引)的表执行 ALTER TABLE ... SPLIT PARTITION,漏掉 UPDATE INDEXES 是最常导致服务中断的操作之一。一旦跳过这步,所有依赖该索引的 DML(如 INSERTUPDATE)会立即报 ORA-01502: index 'xxx' or partition of such index is in unusable state

  • UPDATE INDEXES 不是可选优化项,而是强制保障索引可用性的必要子句
  • 如果表有多个全局索引,该子句会一并维护全部;局部索引则自动重建,无需显式指定
  • 大表拆分时,UPDATE INDEXES 会延长执行时间,但比事后手工 ALTER INDEX ... REBUILD 更安全可控

LIST 分区不能用 AT,必须用 VALUES 指定拆分键值组合

想把一个 LIST 分区(比如 channel2 VALUES ('6','7','8','9'))按业务含义拆开,别套用 RANGE 的 AT 写法——Oracle 会直接报 ORA-14055: VALUES clause is required for splitting a list partition。LIST 拆分本质是“键值集合重分配”,必须明确告诉数据库哪些值归哪边。

NameGPT名称生成器
NameGPT名称生成器

免费AI公司名称生成器,AI在线生成企业名称,注册公司名称起名大全。

下载
  • 写法必须是 SPLIT PARTITION channel2 VALUES ('6','7') INTO (PARTITION channel2_1, PARTITION channel2_2)
  • 括号内 VALUES 列出的键值,必须是原分区定义中包含的子集;剩余值自动归入第二个新分区
  • 若原分区含 DEFAULT,拆分后未显式声明 VALUES 的那个新分区会继承 DEFAULT 行为

拆分后要立刻检查分区边界和索引状态

命令执行成功不代表万事大吉。尤其在凌晨批量操作后,第二天查询突然变慢或报错,往往是因为分区边界没对齐,或者索引虽“可用”但统计信息已失效。

  • 查新分区范围:SELECT partition_name, high_value FROM user_tab_partitions WHERE table_name = 'XXX',确认 high_value 解析结果符合预期(比如是否真变成 '2023-04-01'
  • 查索引状态:SELECT index_name, status, funcidx_status FROM user_indexes WHERE table_name = 'XXX',确保没有 UNUSABLEDISABLED
  • 大表拆分后建议立刻收集统计信息:DBMS_STATS.GATHER_TABLE_STATS,避免优化器误判分区剪枝效果
拆分 MAXVALUE 分区看着简单,但边界合法性、索引连带影响、LIST/RANGE 语法混用这三处,最容易在脚本自动化或跨环境迁移时悄悄出问题。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.10.12

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

237

2023.12.07

oracle清空表数据
oracle清空表数据

当表中的数据不需要时,则应该删除该数据并释放所占用的空间。本专题为大家提供oracle清空表数据的相关文章,帮助大家解决该问题。

271

2023.08.16

Oracle中declare的使用
Oracle中declare的使用

Oracle DECLARE语句是PL/SQL编程语言中用于声明变量、常量、游标或异常的关键字。它的主要作用是在程序中定义这些对象,以便在后续的代码中使用。DECLARE语句的语法简单明了,可以根据需要声明多个对象。通过使用这些声明的对象,可以进行各种操作,如计算、查询数据库、处理异常等 。

221

2023.09.15

oracle怎么分页
oracle怎么分页

实现分页的步骤:1、使用ROWNUM进行分页查询;2、在执行查询之前进行设置分页参数;3、使用"COUNT(*)"函数来获取总行数,并使用"CEIL"函数来向上取整计算总页数;4、在外部查询中使用"WHERE"子句来筛选出特定的行号范围,以实现分页查询。想了解更多oracle怎么分页的文章,可以来阅读本专题先的文章。

248

2023.09.18

Oracle查看表操作历史记录
Oracle查看表操作历史记录

查看操作历史记录的方法:1、使用Oracle内置的审计功能,可以记录数据库中发生的各种操作,包括登录、DDL语句、DML语句等;2、使用Oracle日志文件,其中包含了数据库中发生的各种操作,可以通过查看日志文件来获取操作历史记录;3、使用Oracle的Flashback功能,可以查看数据库在某个时间点的操作历史记录;4、使用第三方工具等。本专题还提供其他查看表操作的文章,大家可以免费阅读。

464

2023.09.19

Oracle中RAC的用法
Oracle中RAC的用法

Oracle中RAC的用法:1、通过在多个服务器上运行数据库实例来提供高可用性;2、允许在需要时增加或减少节点数量;3、通过将工作负载分布到多个节点上来实现负载均衡;4、使用共享存储来实现多个节点之间的数据共享;5、允许多个节点同时处理数据库请求,从而实现并行处理;6、提供了透明故障切换功能;7、使用了一些技术来确保数据的一致性;8、提供了管理工具来简化RAC环境的管理和维护。本专题还提供RAC相关的其他文章,大家可以免费阅读。

452

2023.09.19

oracle imp
oracle imp

imp是Oracle数据库中的一个命令行工具,用于将导出的数据和对象从一个数据库实例导入到另一个数据库实例。imp命令的一般语法为“imp username/password@connect_string file=file_name [options]”。

342

2023.09.19

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号