ORACLE审计使用

前端之家收集整理的这篇文章主要介绍了ORACLE审计使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1 标准审计

标准审计必须是数据库级别的,设置好后必须重启数据库
(1)alter system set audit_trail =XXXXX scope=spfile|both;
(2)其中autdit_trail取值有以下几种情况:
DB/TRUE:启动审计功能,并把审计结果放在数据库中的sys.aud$中
OS:启动审计功能,并把审计结果存放在操作系统的审计信息中
DB_EXTENDED:具有DB/TRUE的功能,另外写aud$中的sqlbind和sqltext字段
NONE/FALSE:关闭审计
(3)查看审计相关表是否安装:
sys.aud$、dba_audit_trail,如果没有安装,则找到$ORACLE_HOME/rdbms/admin/cataudit.sql,审计表安装在system表空间,如果空间不够,可以移动审计到自建的表空间中。
(4)设置所需要的审计信息
sql>connect system/manage;
sql>grant audit system to scott;
sql>connect scott/tiger;
sql>audit session;
通常设置了标准审计都是通过 Audit语句开启审计。使用noaudit收回,如下:
对表SC的修改或者数据修改进行审计语句如下:
audit alter,update on sc;
取消审计使用下列语句:
noaudit all on sc;
--1 所有的审计日志都写在sys.aud$(也可以通过视图dba_audit_trail找)
select * from sys.aud$ a where a.action#=12;
--2 审计的所有类型 例如:创建表、删除表等
select * from sys.audit_actions;
--3 数据库设置了哪些可以审计
select * from dba_stmt_audit_opts


2 细粒度审计(FGA)

使用包DBMS_FGA.ADD_POLICY、DBMS_FGA.DROP_POLICY

2.1 增加

begin
dbms_fga.add_policy(object_schema => '',object_name => '',policy_name => '',audit_column => '',statement_types => '');
end;
object_schema:数据库用户名
object_name:表名
policy_name:审计的名称(这个自己随便定义,不同审计不同名称)
audit_column:需要审计的字段(全部审计不需要该参数)
statement_types:delete,update(只审计delete和update,中间用逗号分隔,也可以审计select,例如:select,update,delete)

2.2 删除

dbms_fga.drop_policy(object_schema => '',policy_name => '');


2.3查询审计结果

select * from dba_audit_policies;--增加的审计 select * from dba_fga_audit_trail;--审计产生日志(重点查询) 原文链接:/oracle/211078.html

猜你在找的Oracle相关文章