易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle数据审计 AUDIT

•何为审计
数据库审计,就是对数据库的活动做跟踪记录,主要包括数据库连接,SQL语句执行,数据库对象访问这些方面的跟踪记录。
•现实作用
安全控制、跟踪数据变化、程序BUG调试、自定义的数据汇总分析、操作日志
•存储方式
一种是存储在操作系统文件中,一种是存储在system表空间中的SYS.AUD$表中
•性能影响
审计必然需要占用CPU,因此,需要综合平衡审计需求与性能之间的平衡性问题,以确定出最好的审许策略。
•包含信息
  操作系统用户名、数据库用户名、连接会话标识、终端标识、被访问的schema对象名、尝试的操作、操作完整代码、日期时间戳
•三种级别的审计:Statement(语句)、Privilege(权限)、object(对象)。
•审计的一些其他选项
by access / by session:
by access 每一个被审计的操作都会生成一条audit trail。
by session 一个会话里面同类型的操作只会生成一条audit trail,默认为by session。
whenever [not] successful:
whenever successful 操作成功(dba_audit_trail中returncode字段为0) 才审计,
whenever not successful 反之。省略该子句的话,不管操作成功与否都会审计。
•细粒度的审计
–从Oracle9i开始,通过引入细粒度的对象审计,或称为FGA,审计变得更为关注某个方面,并且更为精确。
–使用标准的审计,可以轻松发现访问了哪些对象以及由谁访问,但无法知道访问了哪些行或列。
–细粒度的审计可解决这个问题,它不仅为需要访问的行指定谓词(或where子句),还指定了表中访问的列。
–通过只在访问某些行和列时审计对表的访问,可以极大地减少审计表条目的数量。
–以使用数据字典视图DBA_FGA_AUDIT_TRAIL访问细粒度审计的审计记录。(默认只有SYS有权查看)
–程序包DBMS_FGA具有4个过程(ADD_POLICY、DROP_POLICY、DISABLE_POLICY、ENABLE_POLICY)
•注意
–Oracle在9i 10g 有安全漏洞,  如果SYS用户登录后操作,审计将失效!( BUGTRAQ  ID: 13510)
–所以测试时请用其他用户登录,如SCOTT;DBMS_FGA默认只有用户有执行权,建立审计规则时还需用SYS登录。
•参见: http://blog.chinaunix.net/u2/66903/showart_2082884.html
 
cmd>sqlplus sys/sys as sysdba
SQL> show parameter audit_trail
NAME    &


相关文档:

Oracle 多行转列函数

Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank   name 
AA      NAME1
AA      NAME2
AA      NAME3 
BB      NAME4
BB      NAME5
SQL>select  trim(t.rank) as rank,
   &nbs ......

oracle PL SQL学习案例(二)

【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
  UPDATE emp SET sal=sal+100 WHERE empno=1234;
  IF SQL%FOUND THEN
       DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
       ......

oracle PL SQL学习案例(三)

存储过程
========================================================================== 
========================================================================== 
【训练15.1】  创建一个显示雇员总人数的存储过程。
  步骤1:登录SCOTT账户(或学生个人账户)。
  步骤2: ......

Oracle 日期查询语句小结

查询星期几:
select to_char(sysdate,'day') from dual;
查询几号:
select to_char(sysdate,'dd') from dual;
查询小时数:
select to_char(sysdate,'hh24') from dual;
查询时间:
select to_char(sysdate,'hh24:mi:ss') from dual;
查询日期时间:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
查 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号