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 &
相关文档:
1.建立存放字符串的数组类型
create or replace type Type_bind as table OF VARCHAR2(4000)
2.建立将字符串转成数组然后返回给Type_bind函数。
CREATE OR REPLACE FUNCTION F_PUB_BIND_IN(p_bind IN VARCHAR2)
RETURN TYPE_BIND AS
/*
创建时间:2008-8-26
运行周期 ......
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='admin'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='liuzhaoqing'
select t.OSUSER,t.STATUS,t.LOGON_TIME from v$session t where t.OSUSER='ymx'
sel ......
数学函数:
1.绝对值
S:SELECT abs(-1) value
O:SELECT abs(-1) value from dual
2.取整(大)
S:SELECT ceiling(-1.001) value
O:SELECT ceil(-1.001) value from dual
3.取整(小)
S:SELECT floor(-1.001) value
O:SELECT floor(-1.001) value from dual
4.取整(截取)
S:SELECT cast(-1.002 as int) value
O ......
Oracle JOB 间隔时间详解
INTERVAL参数设置:
每天运行一次 'SYSDATE + 1'
每小时运行一次 &nbs ......
存储过程
==========================================================================
==========================================================================
【训练15.1】 创建一个显示雇员总人数的存储过程。
步骤1:登录SCOTT账户(或学生个人账户)。
步骤2: ......