首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >审计Oracle 12.2中模式上的所有插入、删除、更新和选择语句

审计Oracle 12.2中模式上的所有插入、删除、更新和选择语句
EN

Database Administration用户
提问于 2020-06-08 10:19:38
回答 3查看 10.5K关注 0票数 1

我无法理解如何创建统一审核策略,以便审计对特定架构中的所有对象执行的所有插入、更新、删除和选择语句。

目标是跟踪用于反向工程任务的特定PL/SQL过程中涉及的表和视图。

对于我从文档中了解到的情况,唯一的选择是指定要在策略中跟踪的每个表/视图。创建审核策略语句是否有“审核架构中的所有对象”构造?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2020-06-08 13:30:54

没有“审核所有对象”设置。在统一审计中,执行以下操作:

代码语言:javascript
复制
-- create the policy
create audit policy my_policy actions all on hr.regions;
alter audit policy my_policy actions all on hr.locations;
...

-- enable the policy
audit policy my_policy;

如果您有一个包含大量表的模式,则可以使用SQL构建脚本,如下所示:

代码语言:javascript
复制
select 'alter audit policy hr_policy actions all on '||owner||'.'||table_name||';'
  from dba_tables
 where owner in ('HR','OE');
票数 2
EN

Database Administration用户

发布于 2020-06-08 10:31:43

创建策略是不必要的。

代码语言:javascript
复制
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY hr, oe; 

会做这件事

票数 0
EN

Database Administration用户

发布于 2020-06-11 14:46:33

以下审计声明不仅限于1种模式,而且适用于所有模式。

代码语言:javascript
复制
AUDIT ALL BY USER_NAME BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY USER_NAME BY ACCESS;
AUDIT EXECUTE,PROCEDURE BY USER_NAME BY ACCESS;

请记住,您的audit_trail必须设置为DB,扩展

使用以下方法检查当前的audit_trail设置:

代码语言:javascript
复制
SHOW PARAMETER AUDIT;

如果未将其设置为DB,扩展,则必须使用以下方法设置它:

代码语言:javascript
复制
alter system set audit_trail=db,extended scope=spfile;

为了使audit_trail的更改生效,您必须重新启动DB实例。

之后,您将在SYS.AUD$中找到审计记录。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/268718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档