oracle-databaseauditing

Auditing in Oracle 12c


We want / need to audit all statements on a number of tables in one of our instances. So, we've enabled Unified Auditing. That appears to be working. We've created the policy, and we can see the DML & select statements in the UNIFIED_AUDIT_TRAIL view.

However, what is missing appears the be the parameter values. When we look at the SQL_TEXT column, we see: SELECT * FROM customer WHERE customer_id = :"SYS_B_0"

Is there someplace, or some way we can see the parameter values in the SQL statements?

Thanks!


Solution

  • The SQL_BINDS column of the UNIFIED_AUDIT_TRAIL view contains the values of bind variables submitted with the query in the SQL_TEXT column.

    SQL_TEXT                                                   SQL_BINDS
    --------------------------------------------------------   ---------
    SELECT "COL1","COL2 " FROM "TAB2" "T2" W HERE :1="COL1"    #1(1):3
    

    Where #1 refers to which bind variable, in order; (1): refers to the number of characters in the value; and 3 is the value.

    This works with SQL that contains bind variables when submitted from the client, and with system-substituted bind variables like you are seeing such as :"SYS_B_0".