ORA-28335: referenced or referencing FK constraint column cannot be encrypted

文档解释

ORA-28335: referenced or referencing FK constraint column cannot be encrypted

Cause: encrypted columns were involved in the referential constraint

Action: None

ORA-28335 错误代表引用或被引用的外键约束列不能被加密。

官方解释

当尝试在 Oracle 12c Release 1 中对具有引用或被引用的外键约束的列启用 Transparent Data Encryption(TDE)时,可能会收到 ORA-28335 错误。根据Oracle官方文档,外键约束列不支持加密,因为TDE不支持 ULN 和 LNN 列:

TDE不支持Exadata 机器上面的本地索引,无论是ULN 索引,还是LNN 索引。

常见案例

例如,如果您尝试将表的主键列加密,而该列是另一个表的外键,则会收到 ORA-28335 错误。

一般处理方法及步骤

要解决此问题,应重新调整外键,以满足 TDE 的要求。可以通过以下步骤来解决这个问题:

1、删除现有的外键约束(如果存在)

2、将列标记为加密

3、创建外键约束(如果需要)

4、对表进行重建,以使用新的外键约束

5、将数据加密,以实际使列处于加密状态

你可能感兴趣的