Я установил аудит триггера и отправил журнал аудита с циклом в столбец журнала получения в журнале таблиц.
Это для Oracle 12c
-- Tables <br></p>
<code> CREATE TABLE DBADMIN.DBLOG_MONITORING_DETAIL2(
SID VARCHAR2(999 BYTE),
COLUMNS VARCHAR2(999 BYTE),
OLDVALUE VARCHAR2(999 BYTE),
NEWVALUE VARCHAR2(999 BYTE)
);
--Trigger
CREATE OR REPLACE TRIGGER TA_EMPLOYEES3
AFTER INSERT OR DELETE OR UPDATE
ON DBADMIN.EMPLOYEES
FOR EACH ROW
DECLARE
SID VARCHAR2 (30);
BEGIN
SELECT SYS_CONTEXT ('USERENV', 'IP_ADDRESS') INTO IP FROM DUAL;
SELECT SEQ# INTO SID1 FROM v$session
WHERE audsid = (SELECT USERENV ('SESSIONID') FROM DUAL);
IF INSERTING
THEN
FOR I IN (SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM dba_tab_columns
WHERE table_name = 'EMPLOYEES')
LOOP N := N + 1;
v_column := i.COLUMN_NAME;
INSERT INTO DBADMIN.DBLOG_MONITORING_DETAIL2 (SID,COLUMNS,OLDVALUE, NEWVALUE)
VALUES (SID1,
i.COLUMN_NAME,
:OLD.v_column,
:NEW.v_column);
END LOOP;
END IF;
END;
/
</code>
У меня ошибка
[Ошибка] PLS-00049 (31: 26): PLS-00049: переменная неверного связывания 'OLD.V_COLUMN'
может мне помочь?