gpt4 book ai didi

特定表的 Oracle 11g 审计跟踪

转载 作者:行者123 更新时间:2023-12-02 01:02:32 27 4
gpt4 key购买 nike

我想提交一个关于为 Oracle 11g 数据库上的特定表创建审计跟踪的问题。我们想跟踪用户在某些特定表上的更改,记录已从应用程序(前端)端更改。当然,我们想到的第一个想法是手动创建审计表并设置触发器来跟踪:

  • 谁在更改数据
  • 它是什么类型的操作(I,U,D)
  • 手术时间

但我读到 Oracle 具有可以处理审计跟踪的内置机制,但目前我不知道它是如何工作的任何细节。所以主要问题是:“什么是最好/最优雅的,可以轻松清晰地访问数据,执行审计跟踪的方法?”

最佳答案

  • 首先,您应该通过设置您的 audit_trail 来开启审核参数为有效值,如 DBDB_EXTENDEDXMLXML_EXTENDEDOS with scope=spfile 并重启数据库。

  • 接下来,您需要对要跟踪的内容使用审计命令,例如作为:

    audit drop user by access;
    audit drop any procedure by access;
    audit drop any table by access;
    audit audit system by access;
    audit grant any privilege by access;
    audit insert, update, delete on myschema.mytable by access;

To track sessions by audit-trail it's advisible to use

Dbms_Session.Set_Identifier( :i_client );

to set client info, during connection phase of your program unit.

  • Dbms_Session.Set_Identifier 将 session 的 client id 设置为给定的值(value)。该值可用于识别 session v$session 通过 v$session.client_identifier。也可以用于通过以下方式识别 session sys_context('USERENV','CLIENT_IDENTIFIER')
  • 此过程可由PUBLIC执行。

    另外;

    Dbms_Application_Info.Set_Client_Info( :i_client );
    Dbms_Application_Info.Set_Module( :i_modul,null );
    -- :i_modul is the name of your module or program unit from which
    -- you are connecting to db .

    方法也可用于从 gv$session View 的 client_infomodule 列进行监控。

关于特定表的 Oracle 11g 审计跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49648418/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com