开发者

oracle数据库如何开启审计日志

开发者 https://www.devze.com 2024-10-09 09:04 出处:网络 作者: lnwd___
目录1 审计功能由参数 audit_trail 进行控制2 以 DBA 的身份登陆SQL plus2.1 查看 audit_trail 的值2.2 执行以下语句关闭数据库审计功能2.3 重启数据库2.4 验证审计是否已经被关闭2.5 开启审计功能2.6 删除审计日志3
目录
  • 1 审计功能由参数 audit_trail 进行控制
  • 2 以 DBA 的身份登陆SQL plus
    • 2.1 查看 audit_trail 的值
    • 2.2 执行以下语句关闭数据库审计功能
    • 2.3 重启数据库
    • 2.4 验证审计是否已经被关闭
    • 2.5 开启审计功能
    • 2.6 删除审计日志
  • 3 开启特定用户特定表的审计
    • 总结

      1 审计功能由参数 audit_trail 进行控制

      取值范围及意义如下:

      参数取值 说明

      • DB (默认)开启审计功能。
      • OS 将审计记录写入操作系统的一个文件
      • TRUE 开启审计功能。
      • FALSE 关闭审www.devze.com计功能。
      • NONE 关闭审计功能。

      2 以 DBA 的身份登陆SQL plus

      以下所有命令均在此模式下执行:

      sqlplus / as sysdba

      2.1 查看 audit_trail 的值

      SHOW PARAMETER AUDIT
      
      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      audit_file_dest                      string      /data/app/oracle/admin/orcl/ad
                                                       ump
      audit_sys_operations                 boolean     TRUE
      audit_syslog_level                   string
      audit_trail                          string      DB

      根据查询结果可知

      已经开启数据库审计功能

      2.2 执行以下语句关闭数据库审计功能

      ALTER SYSTEM SET AUDIT_TRAIL='NONE' SCOPE=SPFILE;

      2.3 重启数据库

      shutdown imwww.devze.commediate;
      startup;

      2.4 验证审计是否已经被关闭

      show parameter audit_trail
      
      NAME TYPE VALUE
      
      audit_trail string FALSE

      说明:

      • VALUE值为FALSE
      • 表面审计功能为关闭的状态

      2.5 开启审计功能

      alter system set audit_sys_operations=TRUE scope=spfile;--审计管理用户(以sysdba/sysoper角色登陆)
      alter system set audit_trail=db,extended www.devze.comscope=spfile;

      最后重启服务即可开启。

      2.6 删除审计日志

      当已形成很对日志时,可删除里面的记录,目前是直接删除,未对数据库造成影响。

      • 查询目前的日志信息:select * FROM SYS.AUD$;
      • 删除已有的审计信息:DELETE FROM SYS.AUD$;
      • 或者快速删除表信息:truncate table SYS.AUD$;

      一般建议部署完oracle后如不用审计功能,即关闭以节省空间。

      3 开启特定用户特定表的审计

      select * from dba_audit_object --查看日志是否生成
      AandroidUDIT ALL ON "C##zhangsan".TEST2 by Access;设置特定用户特定表审计
      AUDIT ALL BY "c##zhangsan" BY ACCESS;
      AUDIT ALL ON "c##zhangsan".TEST2;
      select * from DBA_OBJ_AUDITdwcbzKJg_OPTS  --查询那些用户开户审计功能
      AUDIT UPDATE ON SCOTT.EMP;
      AUDIT DELETE ON SCOTT.EMP by ACCESS;
      AUDIT UPDATE ON ROOT.TEST2;

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消