Auditing Enhancements in Oracle Database 23ai/26ai
This post describes some of the auditing enhancements in Oracle database 23ai/26ai.
oracle 23configurationintermediate
by OracleDba
22 views
This post describes some of the auditing enhancements in Oracle database 23ai/26ai.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
ALL, ALTER, AUDIT, COMMENT, DELETE, GRANT, INDEX, INSERT, SELECT, UPDATE
conn testuser1/testuser1@//localhost:1521/freepdb1
drop table if exists audit_test_tab purge;
create table audit_test_tab (
id number generated always as identity,
col1 varchar2(10),
col2 varchar2(10),
col3 varchar2(10)
);
insert into audit_test_tab (col1, col2) values ('apple', 'banana');
commit;
conn sys/SysPassword1@//localhost:1521/freepdb1 as sysdba
noaudit policy test_audit_policy;
drop audit policy test_audit_policy;
create audit policy test_audit_policy
actions update(col1, col2) on testuser1.audit_test_tab,
select(col2) on testuser1.audit_test_tab
container = current;
audit policy test_audit_policy;
column event_timestamp format a30
column dbusername format a10
column action_name format a20
column object_schema format a10
column object_name format a20
column sql_text format a40
select event_timestamp,
dbusername,
action_name,
object_schema,
object_name,
sql_text
from unified_audit_trail
where object_name = 'AUDIT_TEST_TAB'
order BY event_timestamp;
no rows selected
SQL>
conn testuser1/testuser1@//localhost:1521/freepdb1
-- Not audited.
insert into audit_test_tab (col1, col2) values ('apple2', 'banana2');
update audit_test_tab
set col3 = 'pear'
where col3 is null;
commit;
select id from audit_test_tab;
ID
----------
1
2
SQL>
-- Audited.
update audit_test_tab
set col1 = 'apple1'
where col1 = 'apple';
update audit_test_tab
set col2 = 'banana1'
where col2 = 'banana';
select col2 from audit_test_tab;
COL2
----------
banana1
banana2
SQL>
conn sys/SysPassword1@//localhost:1521/freepdb1 as sysdba
column event_timestamp format a30
column dbusername format a10
column action_name format a20
column object_schema format a10
column object_name format a20
column sql_text format a40
select event_timestamp,
dbusername,
action_name,
object_schema,
object_name,
sql_text
from unified_audit_trail
where object_name = 'AUDIT_TEST_TAB'
order BY event_timestamp;
EVENT_TIMESTAMP DBUSERNAME ACTION_NAME OBJECT_SCH OBJECT_NAME SQL_TEXT
------------------------------ ---------- -------------------- ---------- -------------------- ----------------------------------------
14-JUN-23 19.31.17.231940 PM TESTUSER1 UPDATE TESTUSER1 AUDIT_TEST_TAB update audit_test_tab
set col1 = 'apple1'
where col1 = 'apple'
14-JUN-23 19.31.17.248862 PM TESTUSER1 UPDATE TESTUSER1 AUDIT_TEST_TAB update audit_test_tab
set col2 = 'banana1'
where col2 = 'banana'
14-JUN-23 19.31.17.252646 PM TESTUSER1 SELECT TESTUSER1 AUDIT_TEST_TAB select col2 from audit_test_tab
SQL>Please to add comments
No comments yet. Be the first to comment!