分区表更新时报ORA-14402的错误

简介: 【说明】在进行对oralce的分区表的分区字段进行update操作的时候,就会报ORA-14402的错误,这种情况通过开启表的行移动来避免错误的发生; 【场景模拟】 1、创建分区表SCOTT.

【说明】在进行对oralce的分区表的分区字段进行update操作的时候,就会报ORA-14402的错误,这种情况通过开启表的行移动来避免错误的发生;

【场景模拟】

1、创建分区表SCOTT.EMP_BAK

  1. CREATE TABLE EMP_BAK
  2. (
  3. EMPNO NUMBER(4),
  4. ENAME VARCHAR2(10 BYTE),
  5. JOB VARCHAR2(9 BYTE),
  6. MGR NUMBER(4),
  7. HIREDATE DATE,
  8. SAL NUMBER(7,2),
  9. COMM NUMBER(7,2),
  10. DEPTNO NUMBER(2),
  11. DLVL NUMBER(2)
  12. )
  13. LOGGING
  14. PARTITION BY LIST (DLVL)
  15. SUBPARTITION BY LIST (DEPTNO)
  16. (
  17. PARTITION EMP_P1 VALUES (1)
  18. )
  19. ( SUBPARTITION EMP1_SUB1 VALUES (10) TABLESPACE USERS,
  20. SUBPARTITION EMP1_SUB2 VALUES (20) TABLESPACE USERS,
  21. SUBPARTITION EMP1_SUB3 VALUES (30) TABLESPACE USERS ),
  22. PARTITION EMP_P2 VALUES (2)
  23. ( SUBPARTITION EMP2_SUB1 VALUES (10) TABLESPACE USERS,
  24. SUBPARTITION EMP2_SUB2 VALUES (20) TABLESPACE USERS,
  25. SUBPARTITION EMP2_SUB3 VALUES (30) TABLESPACE USERS )
  26. )

     

    2、模拟报错:对DEPTNO进行UPDATE的操作

  27. SQL> update SCOTT.EMP_BAK SET DEPTNO=20 WHERE EMPNO=7782;
  28. ORA-14402: updating partition key column would cause a partition change

     

    3、启动行迁移

  29. SQL> alter table scott.EMP_BAK enable row movement;

     

    4、重新执行操作

  30. SQL> update SCOTT.EMP_BAK SET DEPTNO=20 WHERE EMPNO=7782;
  31. 1 row updated.

     

    5、关闭行迁移

  32. SQL> alter table scott.EMP_BAK disable row movement;

     

    报错的理解:

    分区表某一行更新时,如果更新的是分区列,并且更新后的列值不属于原来的这个分区,update的操作就相当于把这行从这个分区中delete掉,并加到更新后所属的分区。等同于delete+insert的操作;

    在进行update操作的时候,相应行的rowid的值是会跟着变化的,如果没有开启row movement那么肯定就更新不了。   

     

    【建议】在进行分区表操作的时候,需要跟业务进行沟通,作为分区条件的列,尽量不能改变;

相关文章
|
JSON 算法 开发工具
拒绝臃肿,一个文件搞定 C# 调用阿里云短信服务发送短信
短信发送是软件开发中的一个常见功能,在国内常用于基于短信验证码的用户注册、找回密码和操作授权等场景。阿里云的短信服务在调用时需要实现一个不是那么容易的签名算法,但如果只是为了发送短信这一个功能就去引用其提供的 SDK 显得非常不经济。
1666 1
|
负载均衡 关系型数据库 RDS
良好架构设计中的可靠性:高可用、容错、灾难恢复
良好架构设计支柱 云计算良好架构设计有五大支柱,分别是:安全性,可靠性,性能效率,成本优化和卓越操作。其中可靠性是指系统从基础设施或者服务故障当中实现恢复、以动态方式获取计算资源以满足需求,以及缓解配置错误或者暂时性网络问题等干扰因素的能力。
5282 0
|
4月前
|
数据管理 数据挖掘 API
深入研究:shopee商品列表API接口指南
Shopee 是东南亚和中国台湾地区的跨境电商平台,其开放平台(Shopee Open API)为开发者提供商品数据、店铺管理和订单处理等接口。商品列表 API 为核心功能之一,支持按店铺获取商品列表和搜索平台商品。通过 shop_id 等参数可获取指定店铺商品信息,支持分页与状态筛选;通过关键词、类目 ID 和价格范围等条件可搜索平台商品,适用于构建比价工具和选品分析系统。
|
8月前
|
数据采集 存储 安全
【大数据】数据治理浅析
数据治理是数字化时代企业管理和利用数据的核心手段,确保数据的准确性、一致性和安全性。从基本概念、应用场景、必要性、需求分析等方面深入探讨其功能架构、技术架构、应用架构和数据架构,涵盖金融、医疗、应急管理等多个领域典型案例。随着政策法规推动、技术创新助力及市场需求增长,数据治理正朝着自动化、智能化方向发展,市场规模不断扩大,但人才短缺问题仍需解决。
848 11
【大数据】数据治理浅析
|
10月前
|
人工智能 文字识别 并行计算
行业实践 | 基于Qwen2-VL实现医疗表单结构化输出
本项目针对不同医院检查报告单样式差异大、手机拍摄质量差等问题,传统OCR识别效果不佳的情况,探索并选定了Qwen2-vl系列视觉语言模型。通过微调和优化,模型在识别准确率上显著提升,能够精准识别并结构化输出报告单信息,支持整张报告单及特定项目的识别。系统采用FastAPI封装接口,Gradio构建展示界面,具备高效、灵活的应用特性。未来该方案可扩展至多种文本识别场景,助力行业数字化转型。
840 20
|
网络协议 网络架构
OSI 模型和 TCP/IP 模型的异同
OSI 模型和 TCP/IP 模型的异同
337 1
|
数据可视化 API 索引
DOTween教程☀️DOTween的使用教程
DOTween教程☀️DOTween的使用教程
|
存储 Linux Apache
释放磁盘空间:解决文件删除但空间未释放的困扰
在管理Linux系统的日常中,最令人头疼的时刻之一就是发现尽管已删除了巨大的文件,但是磁盘空间的占用率仍然没有任何下降。这种情况不仅让我怀疑自己的操作是否正确,同时也给操作系统的运行带来了隐患。 究竟问题出在哪,又该如何解决?本次记录,将演示释放磁盘空间:解决文件删除但空间未释放的困扰。
释放磁盘空间:解决文件删除但空间未释放的困扰
|
缓存 Java Spring
浅谈spring三级缓存
浅谈spring三级缓存
|
人工智能 自然语言处理 开发者
MoE模型将成为主流
MoE模型将成为主流
441 6
MoE模型将成为主流