1、查看审计功能是否开启(本机已经开启,如果audit_sys_operations值为FALSE就是没开审计)

SQL> CONN /AS SYSDBA

SQL> show parameter audit

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

audit_file_dest                      string      F:\APP\ADMINISTRATOR\ADMIN\ORCL\ADUMP

audit_sys_operations                 boolean     TRUE

audit_trail                          string      DB_EXTENDED

如果没有使用下面语句更改:

SQL> alter system set audit_trail=db_extended scope=spfile;

注意audit_trail要为DB_EXTENDED才记录执行的具体语句...

2、重启实例

SQL> shutdown immediate;

SQL> startup

3、针对某表的DML审计(错误的也记录)

SQL> AUDIT UPDATE,DELETE,INSERT ON T_TEST by access;

4、对该表做各种DML操作

用scott用户登录

SQL> conn scott/123

SQL> create table t_test as select * from emp;

SQL> update t_test set emp1='111';                     *

第 1 行出现错误:

ORA-00904: "EMP1": 标识符无效

SQL> delete from t_test where rownum=1;

已删除 1 行。

SQL> commit;

5、查询审计信息

SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT

SQL> from DBA_COMMON_AUDIT_TRAIL ORDER BY EXTENDED_TIMESTAMP DESC;

或者

SQL> select EXTENDED_TIMESTAMP,SESSION_ID,SQL_TEXT from DBA_COMMON_AUDIT_TRAIL

SQL> where OBJECT_NAME='T_TEST'

SQL> and STATEMENT_TYPE in ('INSERT','UPDATE','DELETE');

---结果:

SQL> /

EXTENDED_TIMESTAMP                       SESSION_ID SQL_TEXT

---------------------------------------- ---------- ----------------------------

------------

14-8月 -12 04.14.45.187000 下午 +08:00       190125 update t_test set emp1='111'

14-8月 -12 04.26.02.968000 下午 +08:00       190125 delete from t_test where rownum=1

注意:审计一般只用于对普通用户操作,一般不审计SYS用户

对于windows系统,对sys用户的审计信息并不存在AUDIT_FILE_DEST参数指定的目录里,而是在windows的事件管理器中。

---------------------------------------------------------------------------------------------------------------------

另外通过细粒度审计FGA也可以实现上述审计:

用法创建审计策略:

Syntax

DBMS_FGA.ADD_POLICY(

object_schema   VARCHAR2,

object_name     VARCHAR2,

policy_name     VARCHAR2,

audit_condition VARCHAR2,

audit_column    VARCHAR2,

handler_schema  VARCHAR2,

handler_module  VARCHAR2,

enable          BOOLEAN  );

删除审计策略:

DBMS_FGA.DROP_POLICY(

object_schema  VARCHAR2,

object_name    VARCHAR2,

policy_name    VARCHAR2 );

启用审计策略:

DBMS_FGA.ENABLE_POLICY(

object_schema  VARCHAR2 := NULL,

object_name    VARCHAR2,

policy_name    VARCHAR2,

enable         BOOLEAN := TRUE);

禁用审计策略:

DBMS_FGA.DISABLE_POLICY(

object_schema  VARCHAR2,

object_name    VARCHAR2,

policy_name    VARCHAR2 );

首先,创建审计策略

SQL> conn /as sysdba

已连接。

SQL> begin

2  dbms_fga.add_policy

3  (

4  object_schema=>'SCOTT',object_name=>'T_TEST',

5  policy_name=>'Test_audit'

6  );

7  end;

8  /

PL/SQL 过程已成功完成。

SQL> conn scott/tigger

进行查询

SQL> select ename from t_test;

使用SYS登录进行查询,

SQL> select statement_type,SQL_TEXT from dba_fga_audit_trail;

STATEME SQL_TEXT

------- ----------------------------------------

SELECT  select ename from t_test

------------

注意: 经过测试发现审计到的SQL语句存在着大小写2种格式。

直接执行的SQL语句,是什么样的语句,审计到的也就是什么样。

在存储里执行的语句,审计到的全是大写的语句。

存储里动态执行的语句,是什么样的语句,审计到的也就是什么样的语句。

查看mysql是否启用安全审计_如何查看oracle是否开启了审计功能?相关推荐

  1. 怎么查看mysql帮助文档_高效查看MySQL帮助文档的方法

    在mysql的使用过程中, 可能经常会遇到以下问题: 某个操作语法忘记了, 如何快速查找? 如何快速知道当前版本上某个字段类型的取值范围? 当前版本都支持哪些函数?希望有例子说明.. 当前版本是否支持 ...

  2. 怎么查看mysql的库名_如何查看数据库名呢?

    ·使用SQL语句:select name from v$database; ·使用show命令:show parameter db_name; ·查看参数文件:查看init.ora文件 二.数据库实例 ...

  3. linux查看mysql连接日志文件,linux下查看mysql日志文件的方法

    查看mysql日志方法: mysql默认不允许我们查看日志.需要更改一些设置 1 vi 更改配置文件 允许用户查看日志文件 sudo vi /etc/mysql/mysql.conf.d/mysqld ...

  4. 如何linux查看mysql目录下日志_测试人员如何在linux服务器中查询mysql日志?

    测试工程师在测试软件的过程中,流程往往是先接口测试,接着就是功能性测试.在做功能性测试的时候,往往有这么一个工作场景,就是出现错误后,我们怎么快速排除数据库报错. 举例某个电商网站,当我们文本框中输入 ...

  5. 怎么看mysql的最大连接数_怎么查看和修改 MySQL 的最大连接数?

    MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看 mysql> show variables like '%connections'; 此命令将得到类似以下的输 ...

  6. mysql查看现在使用的引擎_如何查看MySQL的当前存储引擎?

    如何查看MySQL的当前存储引擎? 一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎: mysql> show engines; 看你 ...

  7. mysql目录在哪_如何查看mysql目录在哪

    查看mysql目录在哪的方法: 一.查看文件安装路径 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址). 这里以mysql为例.比如说我安装了mysql,但是不知道文件都安装在哪 ...

  8. 查看mysql服务器状态命令_在linux中,怎样查看Mysql服务运行状态?

    展开全部 使用命令 # service mysqld status 命令来查看mysql 的启动状态如图所示: mysqld is stopped 那就说明mysql服务是62616964757a68 ...

  9. 查看mysql运行的用户组_第六天、用户、组、权限、grep

    第六天.用户.组.权限.grep 权限总结表 操作 源目录权限 文件权限 目标目录权限 rm删文件 wx - - mv改名 wx - - mv移动文件 wx r wx cp复制文件 x r wx &g ...

最新文章

  1. ⑭云上场景 神州导航科技,智慧云平台三层架构部署实践
  2. 用泛型实现参数化类型
  3. 第一天 Requests库入门
  4. python3.7[列表] 索引切片
  5. ref:下一个项目为什么要用 SLF4J
  6. GWT 2 Spring 3 JPA 2 Hibernate 3.5教程– Eclipse和Maven 2展示
  7. 社区团购“九不得”:低价倾销、大数据“杀熟”被禁止
  8. tomcat 设置xms xmx,采用startup.bat启动和采用操作系统服务启动区别
  9. 史上最全的MSSQL复习笔记
  10. 串口通信中ReadFile和WriteFile的超时详解!
  11. jQuery实现清空table表格除首行外的所有数据
  12. vs编译调试遇到问题
  13. JAVA打包成EXE文件,能在没有jre环境的电脑上运行
  14. linux桌面下雪,一个让桌面下雪的ruby 小程序 snow
  15. windows配置指定网段流量走虚拟专用网络
  16. 网站刷IP?活不过三秒
  17. 智工教育:一消《技术实务》知识点整理
  18. 【MATLAB深度学习工具箱】学习笔记--体脂估计算例再分析:拟合神经网络fitnet里面的数据结构】
  19. 【全教程】qt连接mysql——从qt编译mysql驱动到qt连接mysql数据库(二、编译连接)
  20. 论文笔记:Dynamic GCN: Context-enriched Topology Learning for Skeleton-based Action Recognition

热门文章

  1. [转]C++的Json解析库:jsoncpp和boost
  2. 试hp服务器不识别网卡一则
  3. 你们公司还没使用HTTP3?赶紧来补一补,学习一下如何在Nginx上配置HTTP3。
  4. 行为设计模式 - 迭代器设计模式
  5. The finally block does not always execute in try finally
  6. 【nginx】【小记】泛解析大量域名的情况下 将不带www的域名,301到与之对应的www前缀的域名
  7. 【C语言】创建一个函数,利用该函数将字符串中的小写字母转换为大写字母
  8. 十分钟搞定 pandas
  9. C#LeetCode刷题之#628-三个数的最大乘积( Maximum Product of Three Numbers)
  10. there are so many javascript library