五、管理对象审计:
/*

针对具体的一个对象进行审计不能对一个用户进行审计。
包括select、delete、update、insert、excute对象特权。

*/

--5.1 启用对象审计

/*
环境准备:
SQL> create user win identified by password quota 100m on users;

用户已创建。

SQL> grant create session, create table to win;

授权成功。

SQL> conn win
输入口令:
已连接。
SQL> create table accp
  2  (
  3  sid int
  4  );

表已创建。

SQL> insert into accp values (1001);

已创建 1 行。

SQL> select * from accp;

SID
----------
      1001

SQL> commit;

*/

--案例1:使用select审计

--步骤1:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

未选定行

--步骤2:开启审计对象

SQL> show user
USER 为 "SYS"

SQL> audit select on win.accp  ;

审计已成功。

--步骤3:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             -/-   S/S

/*

******如果步骤2中使用的by access则结果如下:

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             -/-   A/A

*/

--步骤4:让用户对对象进行操作

SQL> grant select on win.accp to scott;  --授权让用户scott可以查看用户win的表accp

授权成功。

SQL> conn scott/tiger
已连接。
SQL> select * from win.accp;

TID
----------
      1001

--步骤5:检查审计跟踪

SQL> conn sys as sysdba
输入口令:
已连接。

select username, to_char(timestamp,'yyyy:mm:dd:hh') time, action_name from dba_audit_trail
where username='SCOTT';

USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ------------------
SCOTT                          2008:10:29:02 SESSION REC

/**********如果步骤2中使用的是by access则该步结果如下:

USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ----------------------------
SCOTT                          2008:10:29:03 SELECT

*/

--步骤6:清空审计记录

SQL> delete  from sys.aud$  ;

--案例2:使用insert审计

--步骤1:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

未选定行

--步骤2:开启审计对象

SQL> audit insert on win.accp;

审计已成功。

--步骤3:查看启用的对象scott.emp审计选项

select owner, object_name,object_type, ins,sel from
dba_obj_audit_opts
where owner='WIN'
and object_name='ACCP';

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             S/S   -/-

/*

******如果步骤2中使用的by access则结果如下:

OWNER                          OBJECT_NAME                    OBJECT_TYPE       INS   SEL
------------------------------ ------------------------------ ----------------- ----- -----
WIN                            ACCP                           TABLE             A/A   -/-

*/

--步骤4:让用户对对象进行操作

SQL> grant insert on win.accp to scott;  --授权让用户scott可以查看用户win的表accp

授权成功。

SQL> conn scott/tiger
已连接。
SQL> select * from win.accp;

SID
----------
      1001

SQL> insert into win.accp values (1002);

已创建 1 行。

SQL> select * from win.accp;

SID
----------
      1001
      1002

--步骤5:检查审计跟踪

SQL> conn sys as sysdba
输入口令:
已连接。

select username, to_char(timestamp,'yyyy:mm:dd:hh') time, action_name from dba_audit_trail
where username='SCOTT';

USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ------------------
SCOTT                          2008:10:29:02 SESSION REC

/**********如果步骤2中使用的是by access则该步结果如下:

USERNAME                       TIME          ACTION_NAME
------------------------------ ------------- ----------------------------
SCOTT                          2008:10:29:03 INSERT

*/

--步骤6:清空审计记录

SQL> delete  from sys.aud$  ;

----------------------------------------------------------------------------------------
****************************************************************************************
七、管理精细审计:
****************************************************************************************
----------------------------------------------------------------------------------------

--7.1 环境准备

/*

SQL> show user
USER 为 "SYS"

create user win identified by password
quota 100m on users;

grant create session to win;

SQL> conn scott/tiger
已连接。
SQL> show user
USER 为 "SCOTT"

create table accp
(
sid int,
sno int
)
go

insert into accp values (1001,2001);

SQL> conn sys/password as sysdba
已连接。

SQL> show user
USER 为 "SYS"

grant select on scott.accp to win;

*/

---7.2 案例演示:

--(1) 查询数据库中存在的FGA策略

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

未选定行

--(2)新建FGA策略noselect

begin
dbms_fga.add_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
,audit_column=>'sid'
,enable=>false
,statement_types=>'select,update,delete'
);
end
;
/

--(3) 查询数据库中存在的FGA策略

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID                NO    DB+EXTENDED

-- (4) 启用FGA策略并查看数据库中存在的FGA策略
begin
dbms_fga.enable_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID               YES   DB+EXTENDED

--(5) 查看FGA策略跟踪报表
SQL> select db_user, timestamp, userhost from dba_fga_audit_trail where policy_name='NOSELECT';

未选定行

-- (6) win用户操作

SQL> conn win/password
已连接。
SQL> show user
USER 为 "WIN"

select * from scott.accp;

--(7) 查看FGA策略跟踪报表

SQL> select db_user, timestamp, userhost from dba_fga_audit_trail where policy_name='NOSELECT';

DB_USER                        TIMESTAMP   USERHOST
------------------------------ ----------- --------------------------------------------------------------------------------
SCOTT                          2008-10-29  WORKGROUP\NANJING

--(8) 停用FGA策略并检查数据库存在的策略

begin
dbms_fga.disable_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

POLICY_NAME     OBJECT_SCHEMA     POLICY_NAME      POLICY_COLUMN     ENABLED    AUDIT_TRAIL
-------------------------- ------------------------------ ------------------------------ ---
NOSELECT        SCOTT             NOSELECT          SID               NO  DB+EXTENDED

--(9) 删除FGA策略并查看数据库是否还存在这个FGA策略

begin
dbms_fga.drop_policy(object_schema=>'scott'
,object_name=>'accp'
,policy_name=>'noselect'
);
end
;
/

select policy_name, object_schema ,policy_name, policy_column, enabled, audit_trail
from dba_audit_policies;

未选定行

转载于:https://www.cnblogs.com/javaEEspring/archive/2012/03/30/2523319.html

oracle-审计3相关推荐

  1. oracle 关闭audit,关于Oracle审计(audit)

    Oracle审计可以查询到某个用户对DB做了哪些操作,10g后,可以查询到具体的sql语句,很有用.审计功能开户的整个过程: Oracle审计可以查询到某个用户对DB做了哪些操作,10g后,可以查询到 ...

  2. Oracle 审计文件

    Oracle审计功能: Oracle11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多, 默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的 ...

  3. Oracle审计功能

    1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查 ...

  4. oracle 审计(二)

    1.什么是审计 审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$表中,可通过视图dba_audit_trail查 ...

  5. oracle audit_trail,关于Oracle审计(audit)

    Oracle审计可以查询到某个用户对DB做了哪些操作,10g后,可以查询到具体的sql语句,很有用.审计功能开户的整个过程: Oracle审计可以查询到某个用户对DB做了哪些操作,10g后,可以查询到 ...

  6. oracle 审计设置,oracle数据库审计设置

    --开启oracle审计 su - oracle sqlplus / as sysdba SQL> show parameter audit --看到有下面的内容表示审计没有开启 audit_s ...

  7. oracle审计功能有什么用,Oracle审计功能

    本文参考文章:5 概述:5 审计功能分类:5 一.审计相关实例参数6 ?audit_sys_operations6 一..1 linux/unix6 一..2 windows7 二.标准审计10 (一 ...

  8. oracle 审计drop单张表,sysaux表空间中,审计信息表aud$过大清理实例

    巡检发现系统system表空间达到26G,正常情况下其大小最多几个G.这里发现其只要原因是aud$信息过大导致. oracle 11g 是默认开启审计DB,在数据库运行过程中,会将审计信息放入aud$ ...

  9. oracle 审计表满,Oracle审计表AUD$处理方法

    Oracle版本:11.2.0,其他版本要测试DBMS_AUDIT_MGMT能否成功 1. 查询表,然后truncate select count(*) from aud$; truncate tab ...

  10. oracle审计功能的使用

    oracle审计功能的使用 文章目录 oracle审计功能的使用 一.orecle审计简介 二.审计级别 三.使用步骤 1.查看是否开启审计功能 2.开启审计功能 四.注意 一.orecle审计简介 ...

最新文章

  1. 程序员晒元宵节福利,网友:看了我想砸键盘......
  2. 图灵九月书讯 ——金秋时节推荐给程序员们的书
  3. python 难度-Python 入门的难度
  4. Mac上配置 Sublime Text 使其使用 Python3
  5. Spark SQL 1.x之Hive Context
  6. keil c语言表用什么数据类型,面向51单片机的Keil uVision4基本数据类型简介
  7. linux svn 拉取代码_svn快速入门指南
  8. VR安全很重要:Magic Leap低调收购安全公司
  9. 实现用python给微信指定联系人在指定时间发送消息(仅供学习)
  10. 基于WKT标准的空间参考系字符串及prj文件生成样例
  11. 编译x86_64老是不过,iphone模拟器debug不了解决方法
  12. (含代码)基于51最小系统的流水灯+焊接制作
  13. 0基础怎么学习SEO?
  14. 适合新手的MySQL的基本操作第三期——存储过程篇
  15. 大学以来到大二的自我评价
  16. 什么是桌面虚拟化,实施桌面虚拟化有什么好处?
  17. Mvtec数据集批量加各种噪声(高斯,椒盐,随机噪声)
  18. L1-079 天梯赛的善良 (20 分)python
  19. 同事推荐的GIS书籍
  20. 行为模式--子类沙箱

热门文章

  1. 判断一组checkbox中是否有被选中的
  2. [学习笔记] Cordova+AmazeUI+React 做个通讯录 - 使用 SQLite
  3. 如何动态获取UILabel的高度、宽度
  4. 用Instant client批量安装Oracle客户端-安装配置
  5. jquery 弹出遮罩层
  6. 简单绑定要注意的问题_AX
  7. 小程序登录及用户信息和手机号的获取
  8. OSChina 周六乱弹 —— 能胖出腹肌来
  9. Leetcode c语言-Divide Two Integers
  10. 更适合智能家庭使用的新 Wi-Fi 技术问世了