1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Comment Change Data Capture Vs Database Auditing

Discussion in 'Chit Chat' started by Cecil, Nov 12, 2017.

  1. Cecil

    Cecil 17+ years progress programming and still learning.

    Without getting all critical, what are the differences between 11.7 'Change Data Capture' and 10.1A 'Database Audit'.
    • Are they the same thing?
    • Can they work in unison?
    • When would you use one over the other?

    Without going to too deep, the only thing I can tell is one is at Application Level and the other is at the Database Level. I could be wrong in thinking this.
  3. cj_brandt

    cj_brandt Member

    For your third question -
    Companies I saw were using Database Auditing to track records that had been updated. The changed records were queried and then dumped out each day, querying that data was not efficient. This type of use is better managed with Change Data Capture.
  4. Rob Fitzpatrick

    Rob Fitzpatrick ProgressTalk.com Sponsor

    No, though there are some obvious similarities. Both deal with logging information about changes to data. Auditing is a basic capability and CDC is an add-on product.


    I think auditing makes stronger guarantees of protection of the logged data. Ordinary users cannot modify, delete, or even query audit data. And it includes context about who made the change and when. It can also optionally contain developer-defined application context.

    CDC is in some ways like a lighter-weight auditing, without the user info. Though I think including user info in the logged data was a requested feature that was added in a recent release, maybe 11.7.1; not sure.

    CDC gives you a range of verbosity levels, from logging only that some change happened in a table, to logging the before and after values in the changed fields. If you wanted to build an ETL process to feed data into, say, a BI data warehouse, you would use CDC.

    While auditing does require programming to make use of the data, I would describe the triggering mechanism in both as happening at the database level.
    Cringer likes this.

Share This Page