Oracle审计详解

从Oracle Database 10g开始,只有在初始参数AUDIT_TRAIL被设置为DB_EXTENDED时,才填充DBA_AUDIT_TRAIL中的列SQL_TEXT和SQL_BIND

从oracle database 10g开始,只有在初始参数audit_trail被设置为db_extended时,才填充dba_audit_trail中的列sql_text和sql_bind。
 
oracle使用大量不同的审计方法来监控使用何种权限,以及访问哪些对象。审计不会防止使用这些权限,但可以提供有用的信息,用于揭示权限的滥用和误用。
 
下表中总结了oracle数据库中不同类型的审计。
 
审 计 类 型
 说    明
 
语句审计
 按照语句类型审计sql语句,而不论访问何种特定的模式对象。也可以在数据库中指定一个或多个用户,针对特定的语句审计这些用户
 
权限审计
 审计系统权限,例如create table或alter index。和语句审计一样,权限审计可以指定一个或多个特定的用户作为审计的目标
 
模式对象审计
 审计特定模式对象上运行的特定语句(例如,departments表上的update语句)。模式对象审计总是应用于数据库中的所有用户
 
细粒度的审计
 根据访问对象的内容来审计表访问和权限。使用程序包dbms_fga来建立特定表上的策略
 
下面几节介绍dba如何管理系统和对象权限使用的审计。当需要一定的粒度时,dba可以使用细粒度的审计来监控对表中某些行或列的访问,,而不仅仅是是否访问表。
 
和审计相关的主要参数
 
sql>show parameter audit
 

audit_file_dest
 audit_sys_operations
 audit_trail
 

创客贴设计 创客贴设计

创客贴设计,一款智能在线设计工具,设计不求人,AI助你零基础完成专业设计!

创客贴设计 51 查看详情 创客贴设计

audit_sys_operations:
 默认为false,当设置为true时,所有sys用户(包括以sysdba,sysoper身份登录的用户)的操作都会被记录,audit trail不会写在aud$表中,这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方。如果是windows平台,audti trail会记录在windows的事件管理中,如果是linux/unix平台则会记录在audit_file_dest参数指定的文件中。
 
audit_trail:
 None:是默认值,不做审计;
 DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;
 DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
 OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;
 XML:10g里新增的。
 
10g Values:
 
none
 
Disables database auditing.
 
os
 
Enables database auditing and directs all audit records to the operating system’s audit trail.
 
db
 
Enables database auditing and directs all audit records to the database audit trail (the SYS.AUD$ table).
 
db_extended
 
Enables database auditing and directs all audit records to the database audit trail (the SYS.AUD$ table). In addition, populates the SQLBIND and SQLTEXT CLOB columns of the SYS.AUD$ table.
 
xml
 
Enables database auditing and writes all audit records to XML format OS files.
 
xml,extended
 
Enables database auditing and prints all columns of the audit trail, including SqlText and SqlBind values.
 
注:参数AUDIT_TRAIL不是动态的,为了使AUDIT_TRAIL参数中的改动生效,必须关闭数据库并重新启动。在对SYS.AUD$表进行审计时,应该注意监控该表的大小,以避免影响SYS表空间中其他对象的空间需求。推荐周期性归档SYS.AUD$中的行,并且截取该表。Oracle提供了角色 DELETE_CATALOG_ROLE,和批处理作业中的特殊账户一起使用,用于归档和截取审计表。
 
audit_file_dest:Audit_trail=OS时 文件位置

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/555689.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
苹果机通讯录如何迁移到安卓系统
上一篇 2025年11月9日 22:20:32
百度地图导航路线不支持避开收费路如何解决
下一篇 2025年11月9日 22:20:45

相关推荐

  • Oracle Ora文件的默认存储位置是什么?

    Oracle Ora文件的默认存储位置是什么?Oracle Ora文件的默认存储位置是什么?Oracle Ora文件的默认存储位置是什么?Oracle Ora文件的默认存储位置是什么?

    Oracle数据库中的Ora文件是用来存储数据库实例的相关配置信息的文件。其中,Oracle Ora文件的默认存储位置是在ORACLE_HOME目录下的networkdmin文件夹内。在Windows系统中,一般路径为C:ppOracle_Homeetworkdmin,而在Linux系统中一般路径为…

    2026年9月26日 • 用户投稿
    000
  • 解决SAS连接Oracle数据库时出现引擎问题

    解决SAS连接Oracle数据库时出现引擎问题解决SAS连接Oracle数据库时出现引擎问题解决SAS连接Oracle数据库时出现引擎问题解决SAS连接Oracle数据库时出现引擎问题

    解决SAS连接Oracle数据库时出现引擎问题,需要具体代码示例 在使用SAS软件进行数据分析时,经常需要连接数据库来获取数据进行分析处理。而其中连接Oracle数据库是比较常见的操作。然而,有时候在连接Oracle数据库时会出现引擎问题,导致连接失败或者无法正常操作。本文将介绍如何解决在SAS软件…

    2026年9月26日 • 用户投稿
    100
  • Oracle存储过程批量更新在数据处理中的应用案例

    Oracle存储过程批量更新在数据处理中的应用案例Oracle存储过程批量更新在数据处理中的应用案例Oracle存储过程批量更新在数据处理中的应用案例Oracle存储过程批量更新在数据处理中的应用案例

    Oracle存储过程批量更新在数据处理中的应用案例 在实际的数据处理中,我们经常需要对数据库中的大量数据进行更新操作。Oracle数据库提供了存储过程的功能,可以有效地处理这些大批量数据更新的操作,提高数据处理效率和性能。在本文中,我们将介绍Oracle存储过程批量更新的应用案例,并且提供具体的代码…

    2026年9月26日 • 用户投稿
    000
  • laravel数据库迁移报错

    laravel数据库迁移报错laravel数据库迁移报错laravel数据库迁移报错laravel数据库迁移报错

    问题描述 (1)laravel 5.4或者更高版本 改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。如果你运行MySQL v5.7.7或者更高版本,则不需要做任何事情。(2)当你试着在一些MariaDB或者一些老版本的的MySQL上运行 migrations 命令时,你可能会碰…

    2026年9月26日 • 用户投稿
    200
  • 构建健壮的Java用户输入:Scanner整数解析与异常捕获

    构建健壮的Java用户输入:Scanner整数解析与异常捕获构建健壮的Java用户输入:Scanner整数解析与异常捕获构建健壮的Java用户输入:Scanner整数解析与异常捕获构建健壮的Java用户输入:Scanner整数解析与异常捕获

    本文深入探讨了Java Scanner在获取整数输入时,当用户输入非整数数据可能引发的InputMismatchException。我们将解释此异常的产生机制,并提供一种健壮的解决方案:通过结合try-catch语句有效捕获并处理该异常,从而避免程序崩溃,提升用户交互的稳定性与友好性。 1. Jav…

    2026年9月26日 • 用户投稿
    000
  • Oracle LPAD函数详细介绍:掌握字符串填充的高效方式

    Oracle LPAD函数详细介绍:掌握字符串填充的高效方式Oracle LPAD函数详细介绍:掌握字符串填充的高效方式Oracle LPAD函数详细介绍:掌握字符串填充的高效方式Oracle LPAD函数详细介绍:掌握字符串填充的高效方式

    Oracle数据库中的LPAD函数是用来在字符串左侧填充指定字符使字符串达到指定的长度,从而实现字符串对齐的功能。在日常的数据库查询中,经常会遇到需要对字符串进行填充的情况,LPAD函数就可以很好地应对这种需求。本文将详细介绍Oracle LPAD函数的用法,包括函数语法、参数含义以及具体代码示例,…

    2026年9月26日 • 用户投稿
    000
  • Oracle数据库优化:灵活修改分区名称的方法介绍

    Oracle数据库优化:灵活修改分区名称的方法介绍Oracle数据库优化:灵活修改分区名称的方法介绍Oracle数据库优化:灵活修改分区名称的方法介绍Oracle数据库优化:灵活修改分区名称的方法介绍

    Oracle数据库是一种常用的关系型数据库管理系统,用于存储和管理企业数据。在日常使用中,对数据库的优化是非常重要的,可以提高数据库的性能和效率。其中一个重要的优化技巧是对数据库进行分区,能够提高查询性能和维护效率。 Oracle数据库中的分区允许将表中的数据根据指定的规则分成不同的区域进行存储,这…

    2026年9月26日 • 用户投稿
    000
  • 解决SAS无法找到Oracle引擎的问题

    解决SAS无法找到Oracle引擎的问题解决SAS无法找到Oracle引擎的问题解决SAS无法找到Oracle引擎的问题解决SAS无法找到Oracle引擎的问题

    解决SAS无法找到Oracle引擎的问题,需要具体代码示例 在使用SAS软件进行数据处理和分析时,我们经常会遇到需要连接到外部数据库的情况,其中Oracle数据库是一个常见的选择。然而,有时候当我们尝试连接Oracle数据库时,SAS却提示找不到Oracle引擎的问题,这给我们的工作带来了困扰。本文…

    2026年9月26日 • 用户投稿
    000
  • Oracle存储过程批量更新实现方法

    Oracle存储过程批量更新实现方法Oracle存储过程批量更新实现方法Oracle存储过程批量更新实现方法Oracle存储过程批量更新实现方法

    标题:Oracle存储过程批量更新实现方法 在Oracle数据库中,使用存储过程批量更新数据是一种常见的操作。通过批量更新可以提高数据处理的效率,减少对数据库的频繁访问,同时也能减少代码的复杂性。本文将介绍如何在Oracle数据库中使用存储过程实现批量更新数据的方法,并给出具体的代码示例。 首先,我…

    2026年9月26日 • 用户投稿
    100
  • 处理Oracle用户登录问题的有效措施

    处理Oracle用户登录问题的有效措施处理Oracle用户登录问题的有效措施处理Oracle用户登录问题的有效措施处理Oracle用户登录问题的有效措施

    处理Oracle用户登录问题的有效措施 随着数据安全意识的提高,数据库用户登录问题变得尤为重要。Oracle作为一款常用的关系型数据库管理系统,其用户登录问题对数据安全具有至关重要的影响。为了保障数据库的安全性和稳定性,我们需要采取一系列有效的措施来处理Oracle用户登录问题。 一、创建和管理Or…

    2026年9月26日 • 用户投稿
    100
  • 解读Oracle错误3114:原因及解决方法

    解读Oracle错误3114:原因及解决方法解读Oracle错误3114:原因及解决方法解读Oracle错误3114:原因及解决方法解读Oracle错误3114:原因及解决方法

    标题:分析Oracle错误3114:原因及解决方法 在使用Oracle数据库时,常常会遇到各种错误代码,其中错误3114是比较常见的一个。该错误一般涉及到数据库链接的问题,可能导致访问数据库时出现异常情况。本文将对Oracle错误3114进行解读,探讨其引起的原因,并给出解决该错误的具体方法以及相关…

    2026年9月26日 • 用户投稿
    100
  • Oracle服务丢失的常见原因及解决方法

    Oracle服务丢失的常见原因及解决方法Oracle服务丢失的常见原因及解决方法Oracle服务丢失的常见原因及解决方法Oracle服务丢失的常见原因及解决方法

    Oracle是一款广泛使用的关系型数据库管理系统,然而在使用过程中,有时会出现Oracle服务丢失的情况。这种问题可能会给用户带来诸多困扰,因此理解Oracle服务丢失的常见原因及解决方法对于保障数据库系统的稳定运行至关重要。 常见原因 1. Oracle监听器关闭 Oracle数据库服务在启动时需…

    2026年9月26日 • 用户投稿
    100
  • Oracle DECODE函数详解及用法示例

    Oracle DECODE函数详解及用法示例Oracle DECODE函数详解及用法示例Oracle DECODE函数详解及用法示例Oracle DECODE函数详解及用法示例

    Oracle中的DECODE函数是一种条件表达式,常用于在查询语句中根据不同的条件返回不同的结果。本文将详细介绍DECODE函数的语法、用法和示例代码。 一、DECODE函数语法 DECODE(expr, search1, result1 [, search2, result2, … , def…

    2026年9月26日 • 用户投稿
    100
  • Oracle数据库中空表导出遇到困难时的应对策略

    Oracle数据库中空表导出遇到困难时的应对策略Oracle数据库中空表导出遇到困难时的应对策略Oracle数据库中空表导出遇到困难时的应对策略Oracle数据库中空表导出遇到困难时的应对策略

    空表导出是数据库管理中常见的操作,但有时候遇到空表导出却遇到了困难,这时候我们需要使用一些特定的策略和技巧来解决问题。在Oracle数据库中,空表导出的困难通常出现在导出后的文件为空或者导出操作本身出现错误的情况。下面将介绍一些针对这些问题的应对策略,并提供具体的代码示例供参考。 策略一:检查导出文…

    2026年9月26日 • 用户投稿
    000
  • Oracle存储过程示例:检测表是否存在

    Oracle存储过程示例:检测表是否存在Oracle存储过程示例:检测表是否存在Oracle存储过程示例:检测表是否存在Oracle存储过程示例:检测表是否存在

    Oracle存储过程示例:检测表是否存在 在Oracle数据库中,有时候我们需要编写存储过程来检测特定的表是否存在,以便在程序逻辑中做出相应的处理。本文将介绍如何编写一个Oracle存储过程来检测表是否存在,并提供具体的代码示例。 首先,我们需要理解Oracle中的数据字典。Oracle存储有大量系…

    2026年9月26日 • 用户投稿
    100
  • Oracle存储过程:判断表是否存在的实现方法

    Oracle存储过程:判断表是否存在的实现方法Oracle存储过程:判断表是否存在的实现方法Oracle存储过程:判断表是否存在的实现方法Oracle存储过程:判断表是否存在的实现方法

    Oracle数据库中存储过程是一种特定类型的存储过程,用于在数据库中执行一系列的SQL语句和数据操作。在实际的数据库开发工作中,有时候我们需要判断某个表是否存在于数据库中,这样可以在存储过程中做一些判断和逻辑处理。下面我们将介绍如何在Oracle数据库中实现判断表是否存在的方法,并提供具体的代码示例…

    2026年9月26日 • 用户投稿
    100
  • Oracle空表导出异常情况分析与解决

    Oracle空表导出异常情况分析与解决Oracle空表导出异常情况分析与解决Oracle空表导出异常情况分析与解决Oracle空表导出异常情况分析与解决

    Oracle空表导出异常情况分析与解决 一、问题描述: 在日常的数据库维护中,有时会遇到需要将Oracle数据库中的空表导出的情况。但是在实际操作中,有时会遇到一些异常情况,比如导出的文件为空,或者导出的文件缺少表结构等问题。本文将针对这些异常情况进行分析,并给出相应的解决方案,同时提供具体的代码示…

    2026年9月26日 • 用户投稿
    100
  • Oracle存储过程批量更新的性能优化策略

    Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略Oracle存储过程批量更新的性能优化策略

    Oracle存储过程批量更新的性能优化策略 在Oracle数据库中,存储过程是一种用来处理数据逻辑或执行特定任务的数据库对象,可以提供一定的性能优化策略,特别是在批量更新数据时。批量更新数据通常会涉及大量的行级操作,为了提高性能和效率,我们可以采取一些策略和技巧来优化存储过程的性能。下面将介绍一些O…

    2026年9月26日 • 用户投稿
    500
  • Oracle默认账号密码的安全性分析

    Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析Oracle默认账号密码的安全性分析

    Oracle数据库是一款流行的关系型数据库管理系统,许多企业和组织都选择使用Oracle来存储和管理其重要数据。在Oracle数据库中,有一些默认账号和密码是系统预设的,例如sys、system等。在日常的数据库管理和运维工作中,管理员需要重视这些默认账号密码的安全性,因为这些账号具有较高的权限,一…

    2026年9月26日 • 用户投稿
    000
  • thinkphp怎样连接数据库

    thinkphp怎样连接数据库thinkphp怎样连接数据库thinkphp怎样连接数据库thinkphp怎样连接数据库

    首先打开Zend创建一个项目 ,导入我们的ThinkPHP。 浏览器地址栏输入http://1270.0.1/text01 运行ThinkPHP项目,可以看到Think的大笑脸。 立即学习“PHP免费学习笔记(深入)”; 相关推荐:《ThinkPHP教程》 创建数据库创建一个用户表,用于我们整个项目…

    2026年9月26日 • 用户投稿
    200

发表回复

登录后才能评论
关注微信