审计的作用
1.审查可疑的活动
2.监视和收集关于指定数据库活动的数据
审计的类型
1.语句审计(STATEMENT AUDITING)
2.权限审计(PRIVILEGE AUDITING)
3.对象审计(OBJECT AUDITING)
审计的信息
AUD$表记录的审计信息包括。
SESSIONID:会话的数字ID。
ENTRYID:审计信息项的ID。
STATEMENT:每个执行的命令的数字ID。
TIMESTAP#:设计信息生成的日期和时间。
USERID:被审计的用户使用的Oracle用户ID。
USERHOST:被审计的用户使用的数据库例程的数字ID。
TERMINAL:被审计的用户的操作系统终端描述字。
ACTION#:被审计的操作的标识。
RETURNCODE:每个被审计的命令执行后的返回代码,若为0,表明操作成功。
OBJ$CREATOR:被一个操作影响到的对象的创建者(对操作审计)。
OBJ$NAME:被一个操作影响到的对象的名称(对操作审计)。
AUTH$PRIVILEGES:使用的系统权限。
AUTH$GRANTEE:使用的对象权限。
NEW$OWNER:在列NEW_NAME中命名的对象的所有者。
NEW$NAME:在列NEW_NAME中命名的对象的名称。
SES$ACTIONS:会话小结的字符串,记录了不同操作的成功和失败的信息。
SES$TID:会话的事务ID。
LOGOFF$LREAD:在会话中执行的逻辑读个数。
LOGOFF$PREAD:在会话中执行的物理读个数。
LOGOFF$LWRITE:在会话中执行的逻辑写个数。
LOGOFF$DEAD:在会话中检测到的死锁个数。
LOGOFF$TIME:用户退出系统的日期和时间。
COMMENT$TEXT:对设计信息项的文本注释。
CLIENTID:客户机ID。
SPARE1:备用。
SPARE2:备用。
OBJ$LABEL:与对象关联的标签。
SES$LABEL:与会话关联的标签。
PRIV$USED:执行操作的系统权限。
SESSIONCPU:会话占用的CPU时间。
审计的启动
如图8.34所示的编辑数据库配置的【所有参数】选项卡。
审计的实例
(1)以SYSTEM用户登录【SQLPlus Worksheet】,执行如下SQL代码,执行结果如图8.35所示。
―――――――――――――――――――――――――――――――――――――
AUDIT SESSION;
―――――――――――――――――――――――――――――――――――――
【参见光盘文件】:第8章\auditsession.sql。
(2)以SCOTT用户登录另外一个【SQLPlus Worksheet】。
(3)查询AUD$表的内容,主要的审计信息如下。
―――――――――――――――――――――――――――――――――――――
SESSIONID:518
ENTRI\YID:1
STATEMENT:1
TIMESTAMP#:13-二月 -2003 11:28:24 AM
USERID:SCOTT
TERMINAL:MYNETSERVER
ACTION#:100
RETURNCODE:0
COMMENT$TEXT:Authenticated by: DATABASE; Client address:
ADDRESS=(PROTOCOL=tcp)(HOST=128.0.0.1)(PORT=1088))
SPARE1:MYNETSERVER\Administrator
PRIV$USED:5
―――――――――――――――――――――――――――――――――――――