`
AllenHU0320
  • 浏览: 85804 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle10g系统管理13

 
阅读更多

59.审计分类
特权用户审计:审计特权用户所执行的数据库操作,设置初始化参数audit_sys_operations
数据库审计:审计数据库用户所执行的操作,设置初始化参数audit_trail,并且指定要审计的数据库操作
应用审计:审计数据变化(如update操作前后的数据),必须使用应用审计

 

审计作用
调查可疑的数据库活动
监视和收集特定活动的数据

 

审计的指导方针
根据审计需求最小化审计选项降低审计跟踪记录个数,假定DBA用户只想监视用户DEVEP在指定时间段的会话个数,那么在设置审计选项
时应使用命令AUDIT SESSION BY devep,而不是执行命令AUDIT SESSION。
移动审计表SYS.AUD$到其他表空间上
监视并定期删除审计跟踪记录
避免审计跟踪记录被非法用户删除,如果用户具有DELETE_CATALOG_ROLE角色,他们可以删除审计跟踪记录。

为了审计特权用户执行的其他操作信息,需设置参数
alter system set audit_sys_operations=true scope=spfile;
特权用户所执行的任何操作都会被记载到OS审计跟踪记录中


激活数据库审计,必须将该参数设置为OS或DB。
初始化参数为OS时,Oracle会将审计结果放到OS审计跟踪记录中
初始化参数为DB时,Oracle会将审计结果当道数据字典AUD$中
alter system set audit_trail=db scope=spfile;

审计选项
by session:同一会话中对完全相同的SQL语句只生成一条审计跟踪记录
by access:每执行一次语句生成一条审计跟踪记录
by 用户名:审计特定的数据库用户。
whenever [not] successful

 

语句审计
语句审计用于审计与特定语句相关的SQL操作。
当指定审计user语句时,oracle会审计create user, alter user和drop user等操作。
当指定审计table语句时,oracle会审计create table, alter table和drop table等操作。

audit user;
audit table;

显示审计跟踪结果
select username,action_name,obj_name,to_char(timestamp,’YYYY-MM-DD HH24:MI:SS’) from dba_audit_trail;

显示已经设置的审计选项
select user_name,audit_option from dba_stmt_audit_opts;

禁止语句审计
noaudit user;
noaudit table;

 

权限审计
权限审计用于审计与系统权限想过的SQL操作
dba_priv_audit_opts


对象审计
对象审计用于审计特定方案对象上的SQL操作。
指定审计SCOTT.EMP表的select选项时,任何用户查询scott.emp表都会被审计。
audit all on scott.emp;

查询审计跟踪记录
select username,ses_actions,obj_name,to_char(timestamp,’YYYY-MM-DD HH24:MI’)
from dba_audit_trail;

显示已经设置的对象审计选项
select sel, ins, upd, del from dba_obj_audit_opts where owner=’SCOTT’ and object_name=’EMP’;

禁止对象审计
noaudit all on scott.emp;

删除审计跟踪
delete from sys.aud$;

 

60.为了审计用户在特定数据行或列上的SQL操作,需要使用精细审计(Fine-Grained Audit)。使用精细审计时,不需要激活数据库审计,并且精细审计时使用Oracle系统包DBMS_FGA实现的。

为了使用精细审计,必须首先在特定方案对象上建立FGA策略。建立FGA策略是使用过程add_policy完成的。
Oracle会将信息记载到数据字典FGA_LOG$中。
exec dbms_fga.add_policy(object_schema=>'scott',object_name=>'emp',policy_name=>'chk_emp',
                         audit_condition=>'deptno=20',audit_column=>'sal',statement_types=>'update,select')

查看精细审计结果
select db_user, sql_text from dba_fga_audit_trail;

禁止精细审计使用过程disable_policy
exec dbms_fga.disable_policy(object_schema=>'scott',object_name=>'emp',policy_name=>'chk_emp')

激活精细审计使用过程enable_policy
exec dbms_fga.enable_policy(object_schema=>'scott',object_name=>'emp',policy_name=>'chk_emp')

删除FGA策略,使用过程DROP_POLICY删除FGA策略
exec dbms_fga.drop_policy(object_schema=>'scott',object_name=>'emp',policy_name=>'chk_emp')

删除精细审计结果
delete from sys.fga_log$;

 

为了审计DML操作所引起的数据变化,必须使用应用审计,应用审计可以使用DML触发器实现。
建立审计表
create table audit_emp_change(name varchar2(10),oldsal number(6,2),newsal number(6,2),time date);

建立DML触发器
create or replace trigger tr_sal_change
after update of sal on emp
for each row
declare
   v_temp int;
begin
   select count(*) into v_temp from audit_emp_change where name:=old.ename;
   if v_temp=0 then
      insert into audit_emp_change values(:old.ename,:old.sal,:new.sal,sysdate);
   else
      update audit_emp_change
          set oldsal=:old.sal,newsal=:new.sal,time=sysdate
          where name=:old.ename;
   end if;
end;

查看审计结果
select name,oldsal,newsal,to_char(time,'YYYY-MM-DD HH24:MI') from audit_emp_change;

分享到:
评论

相关推荐

    精通oracle 10g系统管理学习笔记

    在深入探讨Oracle 10g系统管理之前,我们首先要理解Oracle数据库的基本架构。Oracle数据库是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。Oracle 10g是Oracle公司推出的一个重要版本,...

    Oracle 10g 系统管理员简明教程目录

    Oracle 10g 系统管理员简明教程目录 本教程目录涵盖了 Oracle 10g 系统管理员需要掌握的知识点,包括 Oracle 10g 的安装、配置、数据库结构、SQL 语句、PL/SQL 编程等方面。 安装和配置 * Oracle 10g 的安装类型...

    精通oracle 10g系统管理(高清PDF)

    精通oracle 10g系统管理 Oracle本书是专门为Oracle数据库管理员提供的系统管理手册,通过学习本书,读者不仅可以掌握Oracle数据库的基本管理方法,还可了解并掌握Oracle Database 10g所提供的新特征,包括 Web页面的OEM...

    oracle 10g系统管理

    如何更好地管理ORACLE 10G数据库,通过这本精通oracle 10g系统管理你可以了解到怎么成为ORACLE 10G高手。

    Oracle 10g数据库管理艺术

    Oracle 10g数据库管理系统是Oracle公司发布的一款重要的企业级数据库产品,其在数据库领域具有广泛的应用和深远的影响。本书“Oracle 10g数据库管理艺术”无疑是对这一技术的深度解析,旨在帮助读者掌握Oracle 10g的...

    Oracle10g系统管理员使用手册pdf

    《Oracle10g系统管理员使用手册》是一本深入解析Oracle10g数据库管理系统运维的权威指南,主要面向那些需要管理、监控和优化Oracle10g环境的系统管理员。Oracle10g是Oracle公司推出的数据库产品,它在性能、可扩展性...

    精通oracle10g系统管理.pdf

    精通oracle10g系统管理.pdf 精通oracle10g系统管理.pdf 精通oracle10g系统管理.pdf

    oracle10G和oracle11G的OCI.dll

    Oracle 10G是Oracle公司在2003年发布的关系型数据库管理系统,而Oracle 11G则是在2007年推出的升级版。这两个版本之间的主要差异体现在性能、可扩展性、安全性以及管理功能等方面。 1. OCI接口:OCI提供了丰富的API...

    精通Oracle10g系统管理

    Oracle 10g系统管理是数据库管理员(DBA)在企业数据管理中不可或缺的技能。这本书籍"精通Oracle10g系统管理"旨在帮助初学者快速掌握Oracle 10g的相关知识,通过清华大学计算中心的培训资料PPT,你可以深入理解Oracle...

    Oracle10g系统管理

    这个“Oracle10g系统管理”资料可能是为了帮助用户深入理解和掌握Oracle10g的系统管理和维护技巧。下面将对Oracle10g的主要特点、系统管理的核心内容以及可能在教材中涉及的关键知识点进行详细阐述。 一、Oracle10g...

    oracle 10g _64x

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它主要针对64位操作系统环境设计。Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。...

    精通oracle 10g系统管理

    精通oracle 10g系统管理

    如果忘记了Oracle Database 10g 管理员用户口令怎么办

    ### 如果忘记了Oracle Database 10g 管理员用户口令怎么办 在日常的数据库管理工作中,可能会遇到忘记管理员用户口令的情况。这不仅会给日常工作带来不便,还可能会影响到系统的正常运行。针对这种情况,本文将详细...

    oracle 11g ,10g软件资源 百度云下载

    Oracle 10g(10g代表10th Generation,即第十代)是Oracle公司发布的一个重要版本,发布于2004年。这一版本在之前的版本基础上进行了大量的改进和优化,引入了许多新特性,特别是在网格计算方面有着显著的进步。以下...

    龙蜥anolis系统oracle11g安装包

    在IT行业中,数据库管理系统是核心组件之一,Oracle 11g是Oracle公司的一款旗舰级数据库产品,被广泛应用于企业级应用。在这个“龙蜥anolis系统oracle11g安装包”中,我们聚焦于在龙蜥Anolis操作系统上安装Oracle 11...

    oracle 10g 考试题库

    Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于数据库管理员(DBA)来说是重要的学习和认证目标。"Oracle OCP"(Oracle Certified Professional)是...

Global site tag (gtag.js) - Google Analytics