Отслеживание действий DML на определенной таблице - PullRequest
0 голосов
/ 10 июля 2020

Как отслеживать всю активность DML для конкретной таблицы в базе данных oracle. Мне нужно следить за этим.

1 Ответ

0 голосов
/ 10 июля 2020

Используйте Oracle одитинг или детальный аудит. Самая, самая базовая c конфигурация:

  1. установить параметр инициализации audit_trail и перезапустить базу данных:

     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. настроить аудит на вашей таблице:

    audit insert, update, delete on [owner].[table_name] by access;
    
  3. Используйте представление DBA_AUDIT_TRAIL для просмотра записей аудита.

Обе эти темы довольно большие, чтобы охватить подробно здесь, но вы можете начать изучение / чтение практических примеров здесь для Oracle 11g:

...