由于项目平台管理的需要,最近在研究Oracle 10G的审计功能,以便记录和跟踪用户在Oracle数据库系统中的所有操作行为,进而提高Oracle的安全性。现在把审计功能的配置步骤分享出来,供大家参考:

1、以DBA登录Oracle

# su - oracle
$ sqlplus /nolog
SQL> conn / as sysdba

2、查看当前审计设置

SQL> show parameter audit;

参数说明

AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
none or false - Auditing is disabled.
db or true - Auditing is enabled, with all audit records stored in the database audit trial (SYS.AUD$).
db,extended - As db, but the SQL_BIND and SQL_TEXT columns are also populated.
xml- Auditing is enabled, with all audit records stored as XML format OS files.
xml,extended - As xml, but the SQL_BIND and SQL_TEXT columns are also populated.
os- Auditing is enabled, with all audit records directed to the operating system's audit trail.

The AUDIT_SYS_OPERATIONS static parameter
enables or disables the auditing of operations issued by users connecting with SYSDBA or SYSOPER privileges,
including the SYS user. All audit records are written to the OS audit trail.

The AUDIT_FILE_DEST parameter
specifies the OS directory used for the audit trail when the os, xml and xml,extended options are used.
It is also the location for all mandatory auditing specified by the AUDIT_SYS_OPERATIONS parameter.

3、修改audit参数,开启审计

SQL> alter system set audit_trail=db_extended scope=spfile;
注意,如果audit_trail=db,不记录SQL_BIND和SQL_TEXT

4、重启数据库

SQL> shutdown immediate;
SQL> startup;

5、测试

创建用户AUDIT_TEST

$ sqlplus /nolog
SQL> conn / as sysdba

SQL> audit all by audit_test by access;
SQL> audit select table, update table, insert table, delete table by audit_test by access;
SQL> audit execute procedure by audit_test by access;

分别对应以下三种:
DDL (CREATE, ALTER & DROP of objects)
DML (INSERT UPDATE, DELETE, SELECT, EXECUTE).
SYSTEM EVENTS (LOGON, LOGOFF etc.)

SQL> conn audit_test/password

SQL> create table test(id  number);

SQL> insert into test(id) values (1);
SQL> insert into test(id) values (2);
SQL> update test set id = 3 where id = 1;
SQL> select * from test;
SQL> delete from test;
SQL> commit;
SQL> drop table test;

SQL> select view_name from dba_views where  view_name like 'dba%audit%' order by view_name;

VIEW_NAME
------------------------------
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_POLICIES
DBA_AUDIT_POLICY_COLUMNS
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
DBA_AUDIT_TRAIL
DBA_COMMON_AUDIT_TRAIL
DBA_FGA_AUDIT_TRAIL
DBA_OBJ_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_REPAUDIT_ATTRIBUTE
DBA_REPAUDIT_COLUMN
DBA_STMT_AUDIT_OPTS

视图说明:
1. SYS.AUD$
审计功能的底层视图,如果需要对数据进行删除,只需要对aud$视图进行删除既可,其他视图里的数据都是由aud$所得.
2. DBA_AUDIT_EXISTS
列出audit not exists和audit exists产生的审计跟踪,我们默认的都是audit exists.
3. DBA_AUDIT_TRAIL
可以在里面查处所有审计所跟踪的信息.
4. DBA_AUDIT_OBJECT
可以查询所有对象跟踪信息.(例如,对grant,revoke等不记录),信息完全包含于dba_audit_trail
5. DBA_AUDIT_SESSION
所得到的数据都是有关logon或者logoff的信息.
6. DBA_AUDIT_STATEMENT
列出grant ,revoke ,audit ,noaudit ,alter system语句的审计跟踪信息.
7. DBA_PRIV_AUDIT_OPTS
通过系统和由用户审计的当前系统特权
8. DBA_OBJ_AUDIT_OPTS
可以查询到所有用户所有对象的设计选项
9. ALL_DEF_AUDIT_OPTS
10. AUDIT_ACTIONS
可以查询出在aud$等视图中actions列的含义
11. SYSTEM_PRIVILEGE_MAP
可以查询出aud$等视图中priv$used列的含义(注意前面加'-')

常用视图:
DBA_AUDIT_TRAIL
DBA_FGA_AUDIT_TRAIL
DBA_COMMON_AUDIT_TRAIL

查看审计内容,主要字段:os_username, userhost, timestamp, owner,sql_bind, sql_text
SQL> select * from dba_audit_trail where  owner = 'AUDIT_TEST' order by timestamp;
注意:owner的值必须大写,例如 owner = 'AUDIT_TEST'

-------------------------------------------------------------------------------
关闭审计
-------------------------------------------------------------------------------
SQL> alter system set audit_trail=none scope=spfile;

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ryb7899/archive/2010/03/24/5413720.aspx

转载于:https://www.cnblogs.com/QDuck/archive/2010/07/28/1787117.html

Oracle 10g Audit(审计) --- 记录登录用户在Oracle中的所有操作(转)相关推荐

  1. linux查看用户访问记录,Linux记录登录用户的行为

    Linux 记录登录用户的行为 主要功能: 可以记录哪个ip和时间(精确到秒)作了哪些命令 通过用户登录时候,重新定义HISTFILE HISTFILE文件名包含登录用户名,ip,登录时间(精确到秒) ...

  2. oracle dba 连不上,Oracle 10g的DBA无法登录解决方案

    Oracle 10g的DBA无法登录解决方案 下面就是解决方案: 1- From the command prompt, stop isqlplus: c:\>isqlplusctl stop ...

  3. oracle10g执行insert,oracle 10g 增强审计。表insert 及bind values

    oracle 10g之前,可以审计对表的操作,但不能记录操作时的各个列的值.在10g中,已经可以审核并监控到具体的sql语句及内容了. 要求 10g以后的版本. alter system set au ...

  4. oracle 10g express linux,在Ubuntu下安装Oracle Database 10g Express Edition

    Oracle 10g有一款XE版,意为体验版,限制是不支持多CPU和数据库大小不能超过2G(还有其他的什么,不记得了,Oracle官方网站有写).对于开发的时候调试一下,体验一下还是够用的.关键大小比 ...

  5. 让oracle跑得更快——oracle 10g性能分析与优化思路,[让Oracle跑得更快.Oracle.10g性能分析与优化思路]概要1.doc...

    [让Oracle跑得更快.Oracle.10g性能分析与优化思路]概要1 在线事务(OLTP) 在线分析(OLAP) 在Oracle数据库中,凡是分配了存储空间的,都称为段,所有段并不一定指的是表,也 ...

  6. oracle+10g+ins_sysman.mk,Rhel5.4_64 上安装oracle 10g_64(经过实测)--Linux爱好者-搜狐博客...

    3.以下修改内核参数等文件,已保证Oracle的预安装准备成功.执行如下: vi /etc/sysctl.conf     行末添加以下内容 # 20091208 add content for or ...

  7. Oracle 10g rac + ASM数据迁移(替换ASM中的磁盘,用新存储替换旧存储)

    一.环境介绍 Redhat 5.8 Oracle 10g rac + ASM 目前数据库是一套Oracle 10g rac环境,使用的是ASM,ASM的存储空间来自多台存储设备,包括:XP12000. ...

  8. Oracle 10g For Windows 10.1.0和 Oracle 10g For Linux 10.1.0.3下载地址

    Oracle 10g For Windows 10.1.0[ISO] [已通过安全检测] 瑞星17.57.42 [安装测试]WinXP SP2 上安装 Oracle 数据库 10g 如果打开不了请 打 ...

  9. oracle安装结束后怎么登录,浅谈Oracle 11g 发行版2 新安装后关于登录的一些基本操作...

    Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年.Oracle 11g ...

最新文章

  1. JavaSE(二十一)——栈和队列、栈和堆
  2. ar路由器 pppoe下发ipv6 dns_移动宽带如何获取IPV6地址
  3. 漂流瓶 php,PHP实现的迷你漂流瓶
  4. Oracle中to_char()函数的用法
  5. 为什么php都用mysql,PHP MySQL为什么?
  6. Ansible 系统概述与部署(1)
  7. 软帝java培训实习日志,在软帝学习的第一个星期的小总结
  8. matlab的double和single类型
  9. 图扑软件数字孪生挖掘机实现远程操控
  10. 冬奥、亚运会、世界杯,顶级运动员与头部品牌们的营销盛宴
  11. Linux tar压缩文件夹,排除该文件夹下的某些文件夹或文件
  12. ide是什么,IDE是什么,ide,IDE
  13. 拼多多面试官没想到ThreadLocal我用得这么溜,人直接傻掉
  14. SAS学习笔记(二)排序、打印和汇总数据
  15. nginx禁止某些指定的浏览器标识来爬我们网站
  16. 情绪识别软件?论程序员对猫的偏爱!
  17. 生物计算机未来,未来计算机可能朝着量子计算机、光子计算机和生物计算机等方向发展。(  )...
  18. [AWT] FlowLayout
  19. 影石创新IPO被暂缓审议,科创板上市委质疑其可能存在董事会僵局
  20. 获取kvm的ip地址的三种方式

热门文章

  1. [react] 在React中什么时候使用箭头函数更方便呢?
  2. 前端学习(2986):一文理解数据劫持4
  3. 前端学习(2916):事件绑定
  4. [css] 如何禁用移动的选择高亮?
  5. 前端学习(2718):重读vue电商网站38之通过input输入框优化
  6. 工作114:传参控制
  7. 前端学习(1943)vue之电商管理系统电商系统之通过路由加载商品分类
  8. 前端学习(1920)vue之电商管理系统电商系统之角色列表路由的切换
  9. 前端学习(82):按内容进行分类
  10. java学习(35):巩固练习