Home >Database >Mysql Tutorial >Oracle中开启某张表的审计(audit)

Oracle中开启某张表的审计(audit)

WBOY
WBOYOriginal
2016-06-07 16:48:511423browse

Oracle数据库通过audit_trail参数来开启标准审计,OS:说明审计信息放在系统汇总,如果是Linux那么由audit_file_dest 决定,如果

Oracle数据库通过audit_trail参数来开启标准审计

它的参数有下面几种

NONE:不开启审计

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

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

审计范围分为session 和 access两种

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

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

1、开启审计参数

SQL> alter system set audit_trail=db_extended scope=spfile sid='*';

2、重启数据库

为了使参数生效

su - oracle

$ srvctl stop database -d orcl

$ srvctl start database -d orcl

SQL> show parameter audit;

3、设置对表进行审计

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

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

SQL> audit all on scott.emp by access;

设置之后如果想要看到效果,可以用Scott用户登录进来对表进行操作。

--------------------------------------分割线 --------------------------------------

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

4、查询审计记录

$ su - oracle

$ sqlplus / as sysdba

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

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 a30

select username,userhost,timestamp,owner,obj_name,action_name,sql_text from dba_audit_trail;

username 登录的用户

userhost 登录的主机

timestamp 时间戳

owner 操作表的所有者

obj_name 操作的表

action_name 做了什么动作

sql_text 具体的SQL

其他:

1、清空aud$

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

SQL> truncate table aud$;

2、取消某张表的审计

SQL> noaudit all on scott.emp;

3、关闭审计

SQL> alter system set audit_trail=none;

本文永久更新链接地址:

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn