Oracle 细粒度审计(FGA)初步认识
细粒度审计(FGA),是在Oracle 9i中引入的,能够记录SCN号和行级的更改以重建旧的数据,但是它们只能用于select语句,而不能用于DML,如update、insert和delete语句.因此,对于Oracle数据库10g之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法
而Oracle10g中FGA功能的增强使其不但能够支持select操作,同时也支持DML操作。在 Oracle 10g 中,
审计已经从一个单纯的“操作记录者”成长为一个“事实记录机制”,它能以一个非常详细的级别来捕获用户的行为,这可以消除您对手动的、基于触发器的审计的需要。它还结合了标准审计和 FGA 的跟踪,这使其更易于跟踪数据库访问,而不用考虑它是如何生成的
通过细粒度审计我们可以记录:
◆在早上九点到下午六点之间或在星期六和星期日对某个表进行了访问
◆使用了公司网络外部的某个 IP 地址
◆选定或更新了特定列
◆使用了该列的特定值
审计实际是某个会话的server process在进行一些递归SQL的操作,而非依赖某些后台进程,这可以从10046事件观察到。
相关推荐
-
Oracle 细粒度审计(FGA)初步认识
细粒度审计(FGA),是在Oracle 9i中引入的,能够记录SCN号和行级的更改以重建旧的数据,但是它们只能用于select语句,而不能用于DML,如update.insert和delete语句.因此,对于Oracle数据库10g之前的版本,使用触发器虽然对于以行级跟踪用户初始的更改是没有吸引力的选择,但它也是唯一可靠的方法 而Oracle10g中FGA功能的增强使其不但能够支持select操作,同时也支持DML操作.在 Oracle 10g 中, 审计已经从一个单纯的"操作记录者"
-
oracle设置密码复杂度及设置超时退出的功能
目录 查看oracle是否启用密码复杂度: 关闭密码复杂性校验 查看密码有效期: oracle密码设置为180天 oracle设置密码复杂度 设置oracle超时退出的功能: 查看是否开启oracle的审计功能: 总结 查看oracle是否启用密码复杂度: select limit from dba_profiles where RESOURCE_NAME='PASSWORD_VERIFY_FUNCTION' and profile='DEFAULT'; Limit 列的值为null 表示未启用
-
Oracle 11g如何清理数据库的历史日志详解
本文主要给大家介绍了关于Oracle 11g清理数据库历史日志的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍 1. 创建存放数据库待删除日志文件路径 用于存放准备删除,这里假设放在/home/Oracle/delete路径下 $ cd /home/oracle/delete $ mkdir -p audit_file_dest background_dump_dest user_dump_dest core_dump_dest listenr_log_dest 2. 查
-
Oracle数据库的安全策略
正在看的ORACLE教程是:Oracle数据库的安全策略. ---- Oracle是关系型数据库管理系统,它功能强大.性能卓越,在当今大型数据库管理系统中占有重要地位.在我们开发的一MIS系统中,选用了Oracle7.3数据库.在正常情况下,Oracle数据库会保证数据的安全.稳定,为用户提供正确的数据,但由于计算机系统的故障(硬件故障.软件故障.网络故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失,整个系统都将处于瘫痪状态.因此,如何
-
Oracle触发器用法实例详解
本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需要说明一下,触发器可以分为语句级触发器和行级触发器.详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发.而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次. 具体举例: 1.
-
几种JAVA细粒度锁的实现方式
最近在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响.初步的想法是通过数据的时间戳,id等关键字来加锁,从而保证不同类型数据处理的并发性.而java自身api提供的锁粒度太大,很难同时满足这些需求,于是自己动手写了几个简单的扩展... 1. 分段锁 借鉴concurrentHashMap的分段思想,先生成一定数量的锁,具体使用的时候再根据key来返回对应的lock.这是几个实现里最简单,性能最高,也是最终被采用的锁策略,代码如下: /** * 分
-
Oracle Decode()函数使用技巧分享
今天上头要求做一个类似的功能,初步想到的列转行,但是如何实现也没有什么好办法,这个函数不错 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能.DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%:工资在8000元以上的加15%,通常的做法是,先选出记录 中的工资字段值? select salary into var-salary
-
Oracle中 关于数据库存储过程和存储函数的使用
存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序叫存储过程.存储函数.存储过程没有返回值.存储函数有返回值 创建存储过程 用CREATE PROCEDURE命令建立存储过程和存储函数. 语法:create [or replace] PROCEDURE过程名(参数列表) AS PLSQL子程序体: 存储过程示例:为指定的职工在原工资的基础上长10%的工资 /*为指定的职工在原工资的基础上长10%的工资,并打印工资前和工资后的工资*/SQL> create or
-
ORACLE常见错误代码的分析与解决(一)
正在看的ORACLE教程是:ORACLE常见错误代码的分析与解决(一). 在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的这些错误,本人就使用中出现比较频繁的错误代码一一做出分析,希望能够帮助你找到一个合理解决这些错误的方法,同时也希望你能够提出你的不同看法.毕竟作为一种交流的手段,个人意见难免过于偏颇,而且也必定存在着不足,出错之处在所难免.写这篇文章的目的就是想通过相互之间的交流共同促进,共同进步.
-
oracle错误代码大全(超详细)
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程:无法转换会话 ORA-00022: 无效的会话 ID:访问被拒绝 ORA-00023: 会话引用进程私用内存:无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-00025: 无法分配 ORA-00026:
随机推荐
- vue实现表格数据的增删改查
- 防止adsl用户被入侵的一些技巧与设置方法
- 简单谈谈Nginx基础知识入门
- 虚拟化技术概述 虚拟机安装与管理手册
- BAT批处理判断目录在%Path%中实现方法
- 解决浏览器记住ajax请求并能前进和后退问题
- C#中的匿名方法实例解析
- Windows7中配置安装MySQL 5.6解压缩版
- vue component组件使用方法详解
- jQuery实现的浮动层div浏览器居中显示效果
- RAID制作教程图文详解
- 关于shell的几个不为人知却十分有用的命令分享
- Windows家族内部各个安全漏洞集体大搜捕(图)
- Android字段验证的实例代码
- Android Studio提示inotify大小不足的解决办法
- javascript实现滚动效果的数字时钟实例
- 如何删除多级目录
- 用C编写一个送给女朋友的情人节小程序 可爱!
- 详解利用Python scipy.signal.filtfilt() 实现信号滤波
- django利用request id便于定位及给日志加上request_id