文档解释
ORA-29784: Attribute update operation not permitted
Cause: The update operation for attributes was not permitted because Cluster Synchronization Services (CSS) was not running on the host.
Action: Start Cluster Synchronization Services (CSS) and retry the operation.
官方解释
ORA-29784:虚拟列的更改操作不被允许。
该错误消息通常意味着您正在尝试更改虚拟列,而更改虚拟列的操作是不被允许的。虚拟列是一种查询数据库中可用结果的特殊方法,它不改变本身表中存储的数据,而是运行查询以得到这些数据。
常见案例
一个常见的ORA-29784的案例是:
您正在尝试在一个具有虚拟列的表(例如,基于存储字段的计算字段)上运行更新操作:
UPDATE theTable SET virtualcol = 512 WHERE id = 123;
一般处理方法及步骤
1.确定触发ORA-29784错误的SQL语句;
2.尝试确定表上的任何虚拟列;
3.尝试用一个不会更改虚拟列的查询替换当前更新语句中的更改;
4.如果无法替换,尝试创建一个存储字段,可以在需要更新虚拟列时使用;
5.如果无法创建存储字段,考虑将虚拟列转换为存储字段,并保存其当前值。