Oracle数据分区导致的问题

问题描述

现场出现的问题,原有业务不会涉及到某字段的变更,于是对针对该字段进行了分区。

表字段有分区的情况下,更改表字段的值可能会引发 ORA-14402 异常。

解决方案

可以通过该开启行迁移的方式解决:

1
2
3
4
5
--开启行迁移
alter table s_95598_wkst enable row movement;

--关闭行迁移
alter table s_95598_wkst disable row movement;

扩展

查询数据所在的分区:

1
2
3
4
5
6
7
8
9
10
11
12
/*2、通过 object_id 查询出数据所在分区*/
select a.object_name,
a.object_type,
a.subobject_name,
a.object_id,
a.data_object_id
from dba_objects a
where object_id = (
/*1、通过 rowid 查询数据对应的 object_id*/
select dbms_rowid.rowid_object(rowid) object_id
from s_wkst t /*任意表名与条件*/
where t.app_no = '2021121400280289')

Oracle数据分区导致的问题
https://binbiubiu.github.io/20211215120000/
作者
Binbiubiu
发布于
2021年12月15日