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

【场景模拟】

1、创建分区表SCOTT.EMP_BAK

CREATE TABLE EMP_BAK

(

EMPNO NUMBER(4),

ENAME VARCHAR2(10 BYTE),

JOB VARCHAR2(9 BYTE),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,2),

DEPTNO NUMBER(2),

DLVL NUMBER(2)

)

LOGGING

PARTITION BY LIST (DLVL)

SUBPARTITION BY LIST (DEPTNO)

(

PARTITION EMP_P1 VALUES (1)

)

( SUBPARTITION EMP1_SUB1 VALUES (10) TABLESPACE USERS,

SUBPARTITION EMP1_SUB2 VALUES (20) TABLESPACE USERS,

SUBPARTITION EMP1_SUB3 VALUES (30) TABLESPACE USERS ),

PARTITION EMP_P2 VALUES (2)

( SUBPARTITION EMP2_SUB1 VALUES (10) TABLESPACE USERS,

SUBPARTITION EMP2_SUB2 VALUES (20) TABLESPACE USERS,

SUBPARTITION EMP2_SUB3 VALUES (30) TABLESPACE USERS )

)

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

SQL> update SCOTT.EMP_BAK SET DEPTNO=20 WHERE EMPNO=7782;

ORA-14402: updating partition key column would cause a partition change

3、启动行迁移

SQL> alter table scott.EMP_BAK enable row movement;

4、重新执行操作

SQL> update SCOTT.EMP_BAK SET DEPTNO=20 WHERE EMPNO=7782;

1 row updated.

5、关闭行迁移

SQL> alter table scott.EMP_BAK disable row movement;

报错的理解:

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

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

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

linux 刷新分区表,分区表更新时报ORA-14402的错误相关推荐

  1. guid linux 识别的分区表_磁盘管理—MBR分区与GPT分区总结

    描述: 1,什么是磁盘分区 磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区. ...

  2. oracle更新报错14402,Oracle GoldenGate 系列:Replicat 进程遇 OCI Error ORA-14402 错误解决办法...

    生产环境发票管理库到总局主数据库 Replicat 进程因报如下错误 Abended: 2013-04-25 07:59:50  WARNING OGG-00869  OCI Error ORA-14 ...

  3. WSL(Windows Subsystem for Linux)升级到WSL2时报错:由于虚拟磁盘系统限制,无法完成请求的操作

    WSL(Windows Subsystem for Linux)升级到WSL2时报错: 由于虚拟磁盘系统限制,无法完成请求的操作.虚拟硬盘文件必须是未压缩和未加密的文件,并且不能是稀疏文件. 解决方案 ...

  4. Kali Linux攻防系统(一:攻防系统Kali Linux下载安装与更新)

    任务一:攻防系统Kali Linux下载安装与更新 1.1.安装Kali Linux虚拟机 1.1.1.电脑硬件配置至少达到 CPU 内存 存储 >四核 >4G >20G 1.1.2 ...

  5. 创建分区表+分区表的分类+创建散列分区表+查看散列分区表分区中的数据+创建列表分区表+查看列表分区表分区中的数据...

    创建分区表 分区表的分类 范围分区:对数据表的某个值的范围进行分区,需要使用partition by range字句. 散列分区: 1通过hash算法均匀分布数据的一种分区类型. 2通过在I/O设备上 ...

  6. Linux配置环境变量source时报错:export `=‘ not a valid identifier的一般原因

    linux配置环境变量source时报错:export `=' not a valid identifier的一般原因 原因就是你修改的 /etc/profile 文件里 你加过空格 我的代码如下: ...

  7. kali linux 2019教程,[教程]KALI LINUX 2.0 2019 更新国内源

    2019年最新版本KALI 为 KALI 2019.1 下载地址:https://www.kali.org/downloads/ 有的新入门的朋友可能会问,为什么每次都无法手动更新 例如:Update ...

  8. SVN更新时报403错误

    最近开发组使用SVN更新时经常会提示403错误,上网查了好久,说是权限的问题,但我感觉不象,可以提交,可以迁出,但就是更新时报错,如果是权限的问题,那这些操作就都不可以哦. 以前我都是先提交,再更新, ...

  9. Linux ubuntu 切换阿里更新源

    2019独角兽企业重金招聘Python工程师标准>>> Linux ubuntu 切换阿里更新源 查看codename 首先查看自己的ubuntu系统的codename,直接导致你更 ...

  10. Linux上通过SUU更新Dell服务器固件

    **转载来源 : ** : Linux上通过SUU更新Dell服务器固件 :https://www.jianshu.com/p/7c6603fbb9fd 一般Linux服务器都没有图形界面,如何升级服 ...

最新文章

  1. 基于Springboot实现宠物医院综合管理系统
  2. pip install 没有权限
  3. 基于.NET实现数据挖掘--关联规则分析算法
  4. Import 元素 (MSBuild)
  5. 架构设计师(Architect)的专业与角色
  6. 深入思考内积运算,再看傅里叶系数、伽辽金法本质
  7. 开源软件漏洞安全风险分析
  8. Linux之postfix邮件服务器搭建
  9. Oracle - CentOS7.4 静默安装Oracle11g
  10. 强化学习之Grid World的Monte Carlo算法解析【MiniWorld】SYSU_2023SpringRL
  11. 揭秘 手机群控 带来的利益
  12. 面部AR遥控器:使用AR制作动画
  13. 雷电模拟器adb devices返回127.0.0.1:5555 offline分析和解决办法
  14. 移动硬盘,U盘出现USBC病毒乱码恢复的可能性分析
  15. “F5G+EIoT“构建能源物联网,助力电力物联网数据服务
  16. 计算2000年1月1日到2020年1月1日相距多少天 java
  17. LoveChat独立部署即时通讯IM 私人部署 完善的售后体系
  18. Matlab:处理透明alpha通道的读写
  19. sock 文件方式控制宿主机_利用socket实现双机通信
  20. vue+element el-dialog弹出框会变暗解决办法

热门文章

  1. Apache POI电子表格/Spreadsheet
  2. 教你铁威马NAS如何实现外网访问
  3. PMP常考知识点核对单-7.项目成本管理
  4. mysql 5.6 for centos_编译安装MySQL 5.6.16 for CentOS 6.4
  5. 命令注入_深入分析SaltStack Salt命令注入漏洞
  6. linux版安全狗安装与使用
  7. Mac之忘记管理员名和密码
  8. 惠普HP MFP 163W 电脑无法通过WIFI打印
  9. 封装uniapp网络请求, 统一管理接口和怎么使用(完整版)
  10. 百度AIStudio之PaddleHub创意赛:你的名字,你的Face