加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle中开启一张表的审计

发布时间:2020-12-12 15:46:11 所属栏目:百科 来源:网络整理
导读:Oracle 使用 audit_trail 参数控制审计是否启用 audit_trail 的参数有下面几种: NONE :不开启审计 OS :说明审计信息放在系统汇总,如果是 Linux 那么由 audit_file_dest 决定,如果是 Windows 那么由事件查看器决定 DB 或 TRUE :表示审计信息存放在数据

Oracle使用audit_trail参数控制审计是否启用

audit_trail的参数有下面几种:

NONE:不开启审计

OS:说明审计信息放在系统汇总,如果是Linux那么由audit_file_dest决定,如果是Windows 那么由事件查看器决定

DB TRUE :表示审计信息存放在数据库里,也就是sys 用户的aud$ 表。

audit_sys_operations参数的含义:

false:不审计sys用户,默认不审计

true:审计sys用户


审计范围分为session 和 access两种

session:表示用户登录之后执行的相同SQL只记录一次,其他相同SQL不再记录;

access:表示每次执行的SQL都进行审计记录。


详细参考官方文档

http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm#CIHDICID

1、开启审计参数

SQL>showparameteraudit

NAMETYPEVALUE
-----------------------------------------------------------------------------
audit_file_deststring/u01/app/oracle/admin/mydb/adump
audit_sys_operationsbooleanFALSE
audit_syslog_levelstring
audit_trailstringNONE

SQL>altersystemsetaudit_trail=db,extendedscope=spfile;

2、重启数据库

静态参数,为了使参数生效,需要重启数据库

SQL>shutdownimmediate;
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startup
ORACLEinstancestarted.

TotalSystemGlobalArea599785472bytes
FixedSize2085776bytes
VariableSize192941168bytes
DatabaseBuffers398458880bytes
RedoBuffers6299648bytes
Databasemounted.
DatabaSEOpened.
SQL>showparameteraudit

NAMETYPEVALUE
-----------------------------------------------------------------------------
audit_file_deststring/u01/app/oracle/admin/mydb/adump
audit_sys_operationsbooleanFALSE
audit_syslog_levelstring
audit_trailstringDB,EXTENDED

3、设置对表进行审计

这样每次有用户对表进行操作,那么都会有相应的记录被添加到aud$中,而Oracle为了方便读取数据,创建了视图。

虽然会记录每个用户对表的操作,但是不会记录sys用户的操作,其他所有用户都会做记录。

SQL>conn/assysdba
Connected.
SQL>auditallonzx.num_tbyaccesswheneversuccessful;

Auditsucceeded.

SQL>setlinesize200
SQL>select*fromdba_obj_audit_opts;

OWNEROBJECT_NAMEOBJECT_TYPEALTAUDCOMDELGRAINDINSLOCRENSELUPDREFEXECREREAWRIFBK
----------------------------------------------------------------------------------------------------------------------------------------------------------------
ZXNUM_TTABLEA/-A/-A/-A/-A/-A/-A/-A/-A/-A/-A/--/--/--/--/--/-A/-

前面列中

A表示access,每次被审计的操作都会记录,比如开启了scott.empselect审计,那么任何人select这张表都会触发一次审计,并且记录在aud$中。

S表示session,每个会话被审计的操作都记录一次。

使用不同用户对zx.num_t表做不同访问:

SQL>connzx/zx
Connected.
SQL>selectcount(*)fromzx.num_t;
COUNT(*)
----------
0
SQL>insertintozx.num_t(id1)values(1);
1rowcreated.
SQL>commit;
Commitcomplete.
SQL>connscott/tiger
Connected.
SQL>selectcount(*)fromzx.num_t;
COUNT(*)
----------
1
SQL>deletefromzx.num_t;
1rowdeleted.
SQL>commit;
Commitcomplete.
SQL>insertintozx.num_t(id2)values(2);
1rowcreated.
SQL>rollback;
Rollbackcomplete.

4、查询审计记录

SQL>altersessionsetnls_date_format='yyyymmddhh24:mi:ss';

Sessionaltered.

SQL>setlines200
colOS_USERNAMEfora10
colUSERNAMEfora11
colUSERHOSTfora10
colTERMINALfora10
colTIMESTAMPfora20
colobj_namefora10
colOWNERfora10
colACTION_NAMEfora11
colTRANSACTIONIDfora16
colsql_textfora50
SELECTUSERNAME,USERHOST,TIMESTAMP,OWNER,OBJ_NAME,ACTION_NAME,SQL_TEXT
FROMDBA_AUDIT_TRAIL
WHEREOBJ_NAME='NUM_T'
ORDERBYTIMESTAMP;

USERNAMEUSERHOSTTIMESTAMPOWNEROBJ_NAMEACTION_NAMESQL_TEXT
--------------------------------------------------------------------------------------------------------------------------
ZXrhel52016110711:57:55ZXNUM_TNOAUDITOBJnoauditallonnum_t
ECT

ZXrhel52016110712:00:07ZXNUM_TSELECTselectcount(*)fromzx.num_t
ZXrhel52016110712:00:21ZXNUM_TINSERTinsertintozx.num_t(id1)values(1)
SCOTTrhel52016110712:00:37ZXNUM_TSELECTselectcount(*)fromzx.num_t
SCOTTrhel52016110712:00:45ZXNUM_TDELETEdeletefromzx.num_t
SCOTTrhel52016110712:01:27ZXNUM_TINSERTinsertintozx.num_t(id2)values(2)

6rowsselected.

5、取消审计

SQL>noauditallonnum_t;
Noauditsucceeded.

6、清空aud$

这张系统表是可以使用TRUNCATE命令截断的。把它删掉之后那么视图中的记录也就相应消失了。

SQL>truncatetableaud$;
SQL>SELECT*FROMDBA_FGA_AUDIT_TRAIL;

norowsselected

更多详细信息参考官方文档

http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm#BABCFIHB

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读