ORA-28102 Trying To Disable A Existent Policy Using Dbms_fga.disable_policy
(Doc ID 2497666.1)
Last updated on APRIL 17, 2023
Applies to:
Oracle Database - Enterprise Edition - Version 12.1.0.2 and laterInformation in this document applies to any platform.
Goal
After creating fga policies on the object, drop a column and after that drop a policy to run into ORA-28102
If a table has 2 or more FGA policies on its columns, after a column on which a FGA policy exists is dropped, the policy of that column is not dropped as per the documentation, but another policy on another column is dropped. The policy is visible in dba_audit_policies although it should have been dropped.
If one attempts to drop the policy for which the column does not exist, the user get ORA-28102: policy does not exist .
For the same table, if just 1 FGA policy is created for one column and that column is dropped, the policy is also dropped as per the documentation.
SQL> show user
USER is "SYS"
SQL> select policy_owner, object_schema, object_name, policy_name, policy_text, policy_column, enabled
from dba_audit_policies
where policy_name='xx_xxx_xxxxxx_xxxxx_6'
order by policy_column;
SQL> exec dbms_fga.disable_policy(object_schema=>'xxxxx',object_name=>'xx_xxxxx',policy_name=>'xx_xxx_xxxxxx_xxxxx_6');
BEGIN dbms_fga.disable_policy(object_schema=>'xxxxx',object_name=>'xx_xxxxx',policy_name=>'xx_xxx_xxxxxx_xxxxx_6'); END;
*
ERROR en línea 1:
ORA-28102: policy does not exist
ORA-06512: at "SYS.DBMS_FGA", line 60
ORA-06512: at line 1
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Goal |
Solution |
References |