ORA-28334: column is already encrypted
Cause: An attempt was made to encrypt an encrypted column.
Action: None
ORA-28334是在尝试对同一个字段进行重新加密的情况下会抛出的异常,也就是说在使用Oracle数据库提供的dbms_crypto包执行加密操作时,查询结果中抛出ORA-28334,说明该字段已经加密过了,无需重复加密。
ORA-28334表示该字段已经加密,操作失败,不允许重复加密。
常见案例
在执行对某字段进行加密操作时,抛出ORA-28334,出错提示如下:
ORA-28334: column is already encrypted
正常处理方法及步骤
1. 通过查阅数据库元数据表 USER_ENCRYPTED_COLUMNS,确认哪个字段的哪个列已经加密,可能为:
SELECT * FROM USER_ENCRYPTED_COLUMNS WHERE ENCRYPTION_KEY_OWNER IS NOT NULL;
2. 针对已经加密字段,直接在应用端或者业务端使用密钥进行解密或者加密操作,以实现加解密的目的