Total System Global Area 599785472 bytes Fixed Size 2085776 bytes Variable Size 192941168 bytes Database Buffers 398458880 bytes Redo Buffers 6299648 bytes Database mounted. Database opened. SQL> show parameter audit
NAME TYPE VALUE ----------------------------------------------- ------------------------------ audit_file_dest string /u01/app/oracle/admin/mydb/adump audit_sys_operations boolean FALSE audit_syslog_level string audit_trail string DB, EXTENDED3、设置对表进行审计 这样每次有用户对表进行操作,那么都会有相应的记录被添加到aud$中,而Oracle为了方便读取数据,创建了视图。 虽然会记录每个用户对表的操作,但是不会记录sys用户的操作,其他所有用户都会做记录。 SQL> conn / as sysdba Connected. SQL> audit all on zx.num_t by accesswhenever successful;
Audit succeeded.
SQL> set linesize 200 SQL> select * from dba_obj_audit_opts;
OWNER OBJECT_NAME OBJECT_TYPE ALT AUD COM DEL GRA IND INS LOC REN SEL UPD REF EXE CRE REA WRI FBK ------------------------------------------------------------ ----------------- ----- ----- ----- ----- ---------- ----- ----- ----- ----- ----- --- ----- ----- ----- ----- ----- ZX NUM_T TABLE A/- A/- A/- A/- A/- A/- A/- A/- A/- A/- A/- -/- -/- -/- -/- -/- A/-前面列中 A表示access,每次被审计的操作都会记录,比如开启了scott.emp的select审计,那么任何人select这张表都会触发一次审计,并且记录在aud$中。 S表示session,每个会话被审计的操作都记录一次。 使用不同用户对zx.num_t表做不同访问: SQL> conn zx/zx Connected. SQL> select count(*) from zx.num_t; COUNT(*) ---------- 0 SQL> insert into zx.num_t (id1)values(1); 1 row created. SQL> commit; Commit complete. SQL> conn scott/tiger Connected. SQL> select count(*) from zx.num_t; COUNT(*) ---------- 1 SQL> delete from zx.num_t; 1 row deleted. SQL> commit; Commit complete. SQL> insert into zx.num_t (id2)values(2); 1 row created. SQL> rollback; Rollback complete.4、查询审计记录 SQL> alter session setnls_date_format="yyyymmdd hh24:mi:ss";
Session altered.
SQL> set lines 200 col OS_USERNAME for a10 col USERNAME for a11 col USERHOST for a10 col TERMINAL for a10 col TIMESTAMP for a20 col obj_name for a10 col OWNER for a10 col ACTION_NAME for a11 col TRANSACTIONID for a16 col sql_text for a50 SELECT USERNAME, USERHOST, TIMESTAMP, OWNER, OBJ_NAME, ACTION_NAME, SQL_TEXT FROM DBA_AUDIT_TRAIL WHERE OBJ_NAME="NUM_T" ORDER BY TIMESTAMP;