ORA-28102: policy does not exist
Cause: Try to drop/enable/refresh a non-existent policy.
Action: Correct the policy name argument.
ORA-28102是ORACLE数据库中的错误号,由于在进行访问控制或审核操作时,系统检查到策略不存在或者不允许操作,导致此错误发生。
当处理access control或audit对象时,被要求的策略不存在或被操作者不允许操作时,会发生此错误。
1.数据库管理员尝试设置某个表的访问控制时,可能会出现此错误,多数情况下是因为指定的策略不存在;
2.在创建数据库角色或用户时,指定的默认策略无法被识别;
1.确认指定的策略是否真的存在,可以使用如下命令查看:
SELECT *
FROM Dba_Policies;
2.如果策略存在,则尝试确认是否有操作权限;
3.如果确认没有操作权限,则再确认目标对象是否有权限进行操作;
4.如果没有指定策略,校验该策略是否存在;
5.如果该策略不存在,则可以使用如下命令创建:
CREATE POLICY my_policy
AS OBJECT USER
ON users.mytable
ENABLE;