-3

How to track all DML activity on a particular table in oracle database. I need to monitor it.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197

1 Answers1

-1

Use Oracle auditing or fine grained auditing. The very, very most basic configuration:

  1. set the audit_trail initialization parameter and restart the database:

     SQL> ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;
    
     System altered.
    
     SQL> SHUTDOWN
     Database closed.
     Database dismounted.
     ORACLE instance shut down.
     SQL> STARTUP
     ORACLE instance started.
    
     Total System Global Area  289406976 bytes
     Fixed Size                  1248600 bytes
     Variable Size              71303848 bytes
     Database Buffers          213909504 bytes
     Redo Buffers                2945024 bytes
     Database mounted.
     Database opened.
     SQL>
    
  2. configure auditing on your table:

    audit insert, update, delete on [owner].[table_name] by access;
    
  3. Use the DBA_AUDIT_TRAIL view to see the audit records.

Both of those are rather large topics to cover in detail here, but you can start researching/reading on practical examples here for Oracle 11g:

pmdba
  • 6,457
  • 2
  • 6
  • 16
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - [From Review](/review/low-quality-posts/26643458) – David Maze Jul 11 '20 at 01:05
  • Updated with more detail. – pmdba Jul 11 '20 at 02:42