Skip to content

数据库全局审计

在数据库指定对库级操作行为的审计功能称为数据库全局审计,全局审计支持的对象有:数据库、数据库连接。当审计对象为数据库时,表示对数据库的创建、修改、删除操作记录;审计对象为连接时,表示对一切连接数据库的行为进行记载。

审计选项审计的数据库操作说明
CONNECT-数据库连接操作
DATABASE-创建/删除库操作

语法格式

sql
{AUDIT | NOAUDIT} { TYPE } [BY USER_NAME] [TO FILE] [WHENEVER SUCCESSFUL | WHENEVER NO SUCCESSFUL]

参数说明

  • 设置审计:AUDIT设置审计项;NOAUDIT取消审计项。

  • TYPE:全局审计选项,即表1 数据库全局审计选项中的第一列。

  • USER_NAME:用户名。审计指定用户的操作,若未指定用户则表示对当前库下所有用户操作进行审计。

  • WHENEVER:审计时机,可选的取值如下,若不加则表示无论成功与否都作记载(注:新版本取消审计项不再支持WHENEVER子句)。

    • SUCCESSFUL:操作成功时
    • NO SUCCESSFUL:操作失败时
  • TO FILE:若省略TO FILE则表示使用表模式进行审计,若选取 TO FILE 则表示使用日志模式进行审计;同一审计项只能选择其中一种模式,如需修改审计模式则根据审计语法重新执行一次设置审计项即可。

应用示例

  • 审计 SYSDBA 用户建立数据库连接成功的操作
    sql
    SQL> AUDIT CONNECT BY SYSDBA WHENEVER SUCCESSFUL;
  • 审计 SYSDBA 用户建立数据库连接成功的操作修改为日志模式
    sql
    SQL> AUDIT CONNECT BY SYSDBA TO FILE WHENEVER SUCCESSFUL;
  • 取消审计 SYSDBA 用户建立数据库连接成功的操作
    sql
    SQL> NOAUDIT CONNECT BY SYSDBA;