ORA-28064: The redaction function is not valid.
Cause: The FUNCTION_TYPE parameter to DBMS_REDACT.ADD_POLICY was invalid.
Action: Specify the FUNCTION_TYPE parameter to DBMS_REDACT.ADD_POLICY as one of the following: DBMS_REDACT.NONE, DBMS_REDACT.FULL, DBMS_REDACT.RANDOM, DBMS_REDACT.PARTIAL, DBMS_REDACT.REGEXP, or NULL. Note that only full redaction may be applied to columns of type BLOB, CLOB, or NCLOB.
:
ORA-28064 错误是一种由 Oracle 数据库软件的数据字典抛出的警告错误。它提示系统当前正在尝试应用一个无效的数据脱敏(脱敏函数)。
此错误消息指出使用脱敏函数 DBMS_REDACT.CONTEXT 时发生了错误。这可能是由于系统数据未创建特定字典,或者脱敏函数返回了值类型不符合要求的错误。
常见原因:
1.您试图创建某个已经存在的上下文,但这个上下文未指定字典、套嵌或子上下文中的脱敏规则,DBMS_REDACT 返回这个错误。
2.您试图添加一个重复的上下文,将新的脱敏规则指定给特定的字典、套嵌或子上下文时,DBMS_REDACT 返回ORA-28064 错误。
1.首先,检查您是否正在重新创建已经存在的上下文。如果是,则检查用于该上下文的上下文ID,你可以使用DBMS_REDACT.GET_CONTEXT函数来获取上下文ID。
2.检查是否存在重复的脱敏规则。数据库的每个上下文中的脱敏规则必须是唯一的,应该没有重复的脱敏规则。
3.如果是字典上下文,检查是否字典存在,如果字典不存在,需要创建一个。
4.如果是子上下文,检查是否字典存在,如果不存在,则需要将子上下文添加到字典上下文中,并在字典上下文中设置相应的脱敏规则,再指定相应的属性给子上下文。
这个错误信息可以帮助您排除一系列脱敏函数错误,以检查应用程序正确性。