oracle11g安全审计-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 2090578
  • 博文数量: 195
  • 博客积分: 4378
  • 博客等级: 上校
  • 技术积分: 4046
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-09 11:37
个人简介

白天和黑夜只交替没交换无法想像对方的世界

文章分类

全部博文(195)

文章存档

2014年(3)

2013年(20)

2012年(18)

2011年(107)

2010年(17)

2009年(5)

2008年(20)

2007年(5)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2012-10-26 00:31:05

 
oracle11g安全审计--重要帐号的ddl语句操作记录
 
 
如果要审计数据库中的ddl操作,那么可以通过ddl触发器来实现,把数据库中的所有ddl操作都记录下来。本例子可以在oracle 9i或更高的版本中使用。
 
第一步,创建表空间和相关的日志表:
 

点击(此处)折叠或打开

  1. create tablespace stat_log
  2. logging
  3. datafile
  4. '/apps/oracle/oradata/statlog.dbf' size 2048m autoextend on next 128m maxsize 8g
  5. extent management local segment space management auto;
  6. create table stat$log_ddl
  7. (
  8. ddl_date date,
  9. user_name varchar2(30),
  10. ip_addr varchar2(30),
  11. obj_name varchar2(50),
  12. ddl_type varchar2(30),
  13. object_type varchar2(18),
  14. owner varchar2(30),
  15. sql_text varchar2(1000)
  16. ) tablespace sta_tlog;

 
第二步,创建数据库级的ddl触发器,把所有的ddl操作都记录下来

点击(此处)折叠或打开

  1. create or replace trigger ddl_audit after create or alter or drop or truncate or
  2. grant or revoke or rename
  3. on database
  4. declare
  5. ipaddr varchar2(20);
  6. stext varchar2(1000);
  7. begin
  8. begin
  9. select sys_context('userenv', 'ip_address') into ipaddr from dual;
  10. exception when others then
  11. ipaddr:='-';
  12. end;
  13. begin
  14. select sql_text into stext from v$open_cursor where upper(sql_text) like 'alter%';
  15. exception when others then
  16. stext:='-';
  17. end;
  18. insert into sys.stat$log_ddl values
  19. (sysdate,
  20. user,
  21. nvl (ipaddr,'-'),
  22. nvl(ora_dict_obj_name,'-'),
  23. nvl(ora_sysevent,'-'),
  24. nvl(ora_dict_obj_type,'-'),
  25. nvl(ora_dict_obj_owner,'-'),
  26. stext
  27. );
  28. exception when others then
  29. null;
  30. end;
  31. /


审计记录效果如下:

点击(此处)折叠或打开

  1. sql> select ddl_date,user_name,ip_addr,obj_name,ddl_type,sql_text from stat$log_ddl;
  2. ddl_date user_name ip_addr obj_name ddl_type sql_text
  3. ------------------- ---------- -------------------- ---------- ---------- --------------------------------------------------
  4. 2012-10-25 23:31:40 dba_user - t1 create -
  5. 2012-10-25 23:32:32 dba_user - n_test drop -
  6. 2012-10-25 23:36:04 dba_user 172.18.130.114 t1 drop -
  7. 2012-10-25 23:42:49 dba_user 172.18.130.114 test alter alter table test drop(name)
  8. 2012-10-25 23:43:08 dba_user 172.18.130.114 test alter alter table test add(name varchar2(20))
  9. 2012-10-25 23:44:10 dba_user 172.18.130.114 test alter alter table test rename to test01
  10. 2012-10-25 23:44:44 dba_user 172.18.130.114 test01 rename -
  11. 2012-10-25 23:51:31 dba_user 172.18.130.114 test alter alter table test add(addr varchar2(10))
  12. 2012-10-25 23:52:12 dba_user 172.18.130.114 test alter alter table test rename column addr to ipaddr
  13. 2012-10-26 00:22:10 dba_user 172.18.130.114 byte_test truncate -

阅读(7822) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图