Oracle 11g数据库审计
问题描述:
使用Oracle 11g的数据库审计
问题解决:
(1)激活数据库审计
(1.1)查看数据库审计是否已经开启
如上图所示:首先使用用户登陆sqplus,(普通用户,或者dba都可以),然后使用conn /as sysdba
注意:
(a)以上使用sqlplus可以成功进行数据库审计的命令操作,但是在使用PL/SQL Developer command line进行数据库审计操作时,有些命令无法识别例如shutdown immediate (重启数据库)
(b)以上使用conn / as sysdba 进行数据库登陆,使用其他用户登陆进行数据库审计操作时不起作用的
(1.2)查看数据库审计是否已经开启
如上所示,使用 show parameter audit ;可以查看数据库审计的信息
其中audit_sys_operations 的value为false,意味着数据库审计未开启
其中audit_trail 的value为DB
参数详解:
AUDIT_TRAIL启用或禁用数据库审计。当设置该参数为NONE或FALSE时,将禁止数据库审计;当设置该参数为OS时,将激活数据库审计,并将审计记录写入到OS审计跟踪文件中;当设置该参数为DB或TRUE时,将激活数据库审计,并将审计记录写入到数据字典SYS.AUD$中;当设置该参数为DB_EXTENDED时,不仅将审计记录写入到数据字典SYS.AUD$中,还会填充该数据字典的SQLBIND和SQLTEXT列。
(1.3)激活数据库审计
如上所示修改系统信息,激活数据库审计
参数详解:
spfile是存储初始化参数的文件,还有一种是pfile也是存储初始化参数的文件,spfile是服务器端维护的,pfile是客户端维护的spfile只能通过系统更改,pfile可以手动修改。
(1.4)重启数据库-----应用对系统的修改
重新查看审计的信息
如上显示了audit_sys_operations 的值为true,同时audit_trail 的值为db_extended说明数据库审计已经激活
注意:
以上重新启动数据库使用了startup force 命令,同时也可以分别使用:
shutdown immediate ; 关闭数据库
startup; 启用数据库
(2)使用审计信息
注意:
(a) 审计一般只用于对普通用户操作,一般不审计SYS用户
(b) 对于windows系统,对sys用户的审计信息并不存在AUDIT_FILE_DEST参数指定的目录里,而是在windows的事件管理器中。
上图显示了,Oracle中dba的审计记录存在于Windows的事件管理器中,可以通过右键查看
我的电脑----管理 就可以打开计算机管理菜单,就能查看对于dba的审计记录
如上图所示:
使用dba登陆之后,进行表admin.selectiveinfo表格的审计记录,
使用普通用户(非dba)登陆之后,进行admin.selectiveinfo的数据操作
使用dba登陆,查看审计记录
如上图所示,指出了查询审计的记录的方法,查看表dba_audit_trail 可以查看所有用户的审计记录,这里进行了筛选只选出了用户luosongchao的审计记录
(3)取消对某个表或者某个用户的审计记录
如上图所示为取消用户luosongchao对于任何表的select审计记录