3 Replies Latest reply: Jun 17, 2014 8:54 AM by JudWilliford RSS

    ORA-28138: Error in Policy Predicate

    810816

      Hi,

       

      Maz I have a question?

      I would like to audit actions on one table but I am getting still this error. On MOS or google says that "Only simple predicates (i.e., those with just one condition) are allowed in the audit_condition when DML statements are audited by FGA. You cannot, for example, define a policy to audit DML with an audit_condition such as 'SALARY >= 150000 OR EMPID = 100'. If you create the policy, it will be successful; but the updates to the table will fail with the error ORA-28138: Error in Policy Predicate. Similarly, you cannot define a subquery in the audit_condition; it must be a simple predicate."

       

      I dont belive that it's impossible to do more contitions. Here is may policy.

      BEGIN

        DBMS_FGA.add_policy(

          object_schema   => 'CRPDTA',

          object_name     => 'F4211',

          policy_name     => 'audit_f4211',

          audit_condition => 'SDDELN=0 and SDNXTR>530 and SDNXTR<999 and SDSHPN>0',

          audit_column    => 'SDDELN','SDNXTR'

          audit_trail     => DBMS_FGA.DB+EXTENDED,

          statement_types => 'UPDATE');

      END;

      /

       

      JDEdwords is running on that database and I woulf like to catch same action there.

       

      Whan could be worng in my statemt?

       

      Thank you.

      Regards,

      Tom