环境:windows server 2008、Oracle 12c R2

下面的步骤,连接为sysdba,除非指定了其它方式。

(1)运行如下查询,确定统一审核是否启用了:

select value from v$option where parameter='Unified Auditing';

在标准安装中,这会返回FALSE。如果返回的是TRUE,表示已经启用了统一审核,则跳到步骤(5)。

(2)关闭Oracle服务。

关闭所有数据库实例和侦听器。在Windows上,也停止所有与Oracle相关的Windows服务。

(3)启用统一审核。

windows上,是复制统一审核动态链接库:

cd %ORACLE_HOME%\bin

copy orauniaud12.dll.dbl orauniaud12.dll

或者直接到%ORACLE_HOME%\bin目录下,手动复制orauniaud12.dll.dbl为orauniaud12.dll

(4)确认统一审核现在已启用。

启动实例和侦听器(在Windows上,启动相关的服务),重新运行步骤(1)中的查询语句,看是否返回TRUE。

(5)创建并启用自己的策略。

create audit policy aud_dba_role roles dba; --创建角色策略

audit policy aud_dba_role by system;  --把角色策略赋予system

select policy_name,enabled_opt,user_name from audit_unified_enabled_policies; ---确认已经配置了策略,查询已生效的统一审核策略

(6)测试策略

连接为system用户,执行几个操作。

create user x identified by y;   ---创建用户,在12c中,名字前面要加前缀c##,不过可以在pdb中建用户,不用带c##

alter user c##test identified by test;---修改用户密码(12c cdb$root中用户)

alter system set open_cursors=300 scope=memory;  ---修改实例参数,仅在内存中生效

exec dbms_audit_mgmt.flush_unified_audit_trail; ---把当前缓存到SGA中的所有记录转存到数据库的审核记录中。

select dbusername,sql_text,audit_type,action_name,object_name,unified_audit_policies from unified_audit_trail; ---查询审核记录

如果有记录,

(7)

连接为sysdba,找到审核记录表。

select table_name from dba_tables where owner='AUDSYS';

上述语句的查询结果为aud$unified,继而查询记录表中的数据

select audit_type,sql_text,event_timestamp,unified_audit_policies from audsys.aud$unified;

默认情况下,不能对表audsys.aud$unified执行DML和DDL操作。即执行语句:delete from audsys.aud$unified会报错。

但是可以通过对unified_audit_trail来操作,删除了unified_audit_trail中的记录之后,,audsys.aud$unified中的记录也被清除了。

(8)清除审核记录

select count(*) from unified_audit_trail;--查询现有审核记录数

execute dbms_audit_mgmt.clean_audit_trail(dbms_audit_mgmt.audit_trail_all,false);--通过dbms_audit_mgmt来管理unified_audit_trail中的审核记录

select count(*) from unified_audit_trail;--再次查询记录,发现只有一行,这一行是刚才清楚数据的那条动作记录。

select count(*) from audsys.aud$unified;--查询也只有一行。

Oracle数据库统一审核的启用测试与关闭的更多相关文章

  1. Oracle 数据库备份启用压缩以及remap

    1. Oracle数据库进行备份恢复 客户测试环境, 有时候需要从现场copy到公司, 压缩虽然能够减少部分空间大小,但是copy到虚拟机里面也时浪费很大量的磁盘,所以能够在备份恢复的过程中执行压缩最 ...

  2. 转://Linux大内存页Oracle数据库优化

    PC Server发展到今天,在性能方面有着长足的进步.64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server:在Intel和AMD两大处理器巨头的努力下,x86 C ...

  3. 历尽磨难之PL/SQL链接Oracle数据库

    说起来都是泪啊,上司布置的任务需要远程连接Oracle数据库,说实话这又是我人生中的第一次.我听到以后觉得不是什么大问题,然而我错了..错的很厉害! 我搞了一天一夜才弄好,这里面原因有很多,大体来讲还 ...

  4. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

    测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...

  5. 测试oracle数据库的脱机备份和恢复

    环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...

  6. ORACLE 数据库简单测试

    ORACLE 数据库简单测试 操作系统:Windows 7 – ORACLE:oracle database 10.2.0.4 一.目的 测试 启动监听程序.数据库  非同一个用户的情况,用户是否可以 ...

  7. Java 测试连接Oracle数据库是否成功,ojdbc7.jar包下载

    需要用到的jar 包: 链接:https://pan.baidu.com/s/1I1pC2f81IvbphZ6tWpVFOg 密码:uq0u 测试结果: package pkg; import jav ...

  8. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  9. 改写了禁用或启用oracle数据库的约束的存储过程

    改写了网上某位大侠(最开始的源头是哪位没记住)写的禁用或启用oracle数据库所有约束的存储过程,增加了异常控制,以使发生异常时也可以执行下去. –调用过程: 执行前先 set serveroutpu ...

随机推荐

  1. 20175208 《Java程序设计》第四周学习总结

    第五章主要学习内容 1.子类的继承性: (1)子类与父类在同一包中的继承性:子类自然地继承了其父类中不是private的成员变量作为自己的成员变量. (2)子类与父类不在同一包中的继承性:子类只继承父 ...

  2. vue组件传值

    组件的传值(组件之间的通讯) 1.父子通信 1)父传子 传递:当子组件在父组件中当做标签使用的时候,通过给子组件绑定一个自定义属性,值为需要传递的数据 接收:在子组件内部通过props进行接收 接收的 ...

  3. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  4. Python GIL锁

    GIL全局解释器锁:为了解决多线程修改同一块数据. python的线程是调用操作系统的源生线程,启动时就是调用C语言的C源生接口,python调用C语言接口的线程去执行任务时,必须上下文对应关系传给C ...

  5. Linux 系统TCP连接内存大小限制 调优

    系统TCP连接内存大小限制 TCP的每一个连接请求,读写都需要占用系统内存资源,可根据系统配置,对TCP连接数,内存大小,限制调优. 查看系统内存资源 记录内存 详情:cat /proc/meminf ...

  6. 剑指offer(24)二叉树中和为某一值的路径

    题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 题目分析 这题基本上一看就知道应该深度遍历整个树, ...

  7. 剑指offer(32)把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 题目分析 主 ...

  8. COCO数据集格式互换

    poly->compacted RLE:     seg=np.array([312.29, 562.89, 402.25, 511.49, 400.96, 425.38, 398.39, 37 ...

  9. .NET 实用扩展方法

    .NET 实用扩展方法(持续更新...) 1. 字符串转换为可空数值类型(int, long, float...类似) /// <summary> /// 将字符串转换成32位整数,转换失 ...

  10. 使用VS Code调试Node

    1.双击打开vscode 2.找到底层面板 把ctrl改成LF 2. 3.打开文件夹,建立项目test 4.新建hellow.js 输入: var name='world'; var s='hello ...