文档解释
ORA-23454: flavor string not defined for object group “string”.”string”
Cause: The given object group does not contain a (published) definition of the specified flavor.
Action: Check the spelling of the flavor name. Ensure the flavor has been defined (and published) for the object group.
ORA-23454错误消息指示您未为指定的对象组定义非默认口味。
官方解释
ORA-23454错误消息是Oracle数据库运行时出错消息,指示您尝试为指定的对象组添加或更改口味时发生的错误。此错误消息指示未为该对象组定义特定的口味类型。
常见案例
ORA-23454错误消息通常发生在尝试使用DBMS_RLS或RLS安全包创建列级安全性策略时。 此错误消息也可能发生在尝试使用UTL_MAIL PL/SQL包发送二进制文件时。
一般处理方法及步骤
1. 显式地定义口味类型,例如:EMBEDDED_JAVA PK_EXTERNAL_JAR
口味类型取决于特定的应用程序场景。
2. 使用定义自己的口味类型的函数(仅用于存储过程、触发器和函数)的情况下,要求对象组具有修改已存在的权限。
3. 向指定的对象组添加指定口味类型,如下所示:
ALTER OBJECT_GROUP [GROUP_NAME] ADD EDITION EDITION_NAME;
4. 将指定口味类型添加到指定的对象组,如下所示:
ALTER OBJECT_GROUP [GROUP_NAME] ADD EDITION EDITION_NAME, FLAVOR FLAVOR_TYPE;
5. 使用DBMS_RLS或RLS安全包创建列级安全策略时,您可能需要显式地指定口味,例如:
DBMS_RLS. ADD_POLICY(OBJECT_SCHEMA :=’MY_SCHEMA’,OBJECT_NAME :=’MY_TABLE’,POLICY_NAME :=’MY_POLICY’,FLAVOR :=“EMBEDDED_JAVA”,LOCAL_POLICY := “MY_LOCAL_POLICY”);
6. 使用UTL_MAIL PL/SQL包发送二进制文件时,可能需要显式地指定口味,例如:
UTL_MAIL. SEND(FROM_ADDRESS :=’ ADMIN@mydomain. com ‘,TO_ADDRESSES :=”MY_EMAIL_ADDRESS”,SUBJECT :=“Some Subject”,ATTACHMENTS :=”MY_FILE_NAME”,FLAVOR :=“PK_EXTERNAL_JAR”);