简体   繁体   English

Oracle - 针对特定用户的Audit Trail

[英]Oracle - Audit Trail for a specific user

As stated on the topic , I am looking for a way for us to track on the activities of the specific user. 如上所述,我正在寻找一种方法来跟踪特定用户的活动。 May or may not have the SYSDBA or SYSOPER privilege. 可能有也可能没有SYSDBA或SYSOPER权限。

For example , HR. 例如,HR。

I would like to know what are the details of his login , what are the objects that are changed by him , what were their original values , SQL statements executed , what procedure/functions that were executed etc. 我想知道他登录的细节是什么,他改变了什么对象,他们的原始值是什么,执行的SQL语句,执行的程序/功能等等。

Could we set up such audit trail log in Oracle 11gR2 Standard/Enterprise? 我们可以在Oracle 11gR2 Standard / Enterprise中设置这样的审计跟踪日志吗?

Thanks 谢谢

First of all you need to enable auditing in your database by setting audit_trail parameter as shown below- 首先,您需要通过设置audit_trail参数来启用数据库中的审计,如下所示 -

SQL> alter system set audit_trail='OS|DB|DB,EXTENDED|XML|XML, EXTENDED';

Initialization Parameters Used for Auditing 用于审计的初始化参数

Then, you can audit user as- 然后,您可以审核用户 -

SQL>CONNECT sys/password AS SYSDBA

SQL> AUDIT ALL BY username BY ACCESS;
SQL> AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY username BY ACCESS;
SQL> AUDIT EXECUTE PROCEDURE BY username BY ACCESS;

AUDIT 审计

Audit records can be found in DBA_AUDIT_TRAIL view.Following query list all audit related views. 可以在DBA_AUDIT_TRAIL视图中找到审计记录。 DBA_AUDIT_TRAIL查询列出所有与审计相关的视图。

SQL>SELECT view_name FROM dba_views WHERE view_name LIKE 'DBA%AUDIT%';

Fine-grained auditing is available in Enterprise Edition only. 细粒度审核仅在Enterprise Edition中提供。

Feature Availability by Edition 版本的功能可用性

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM