---
title: "AUDIT - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: AUDIT 描述 该语句用于配置或删除对 SQL 语句的审计规则。 说明 配置对 SQL 语句的审计规则时，您必须拥有 AUDIT SYSTEM 系统权限，且需要登录 ORAAUDITOR 用户。 配置对 SQL 语句的审计规则后，对所有会话立即生效。 需要通过系统配置项 audit_trail 开启审计功能，该语句…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# AUDIT

更新时间：2026-06-28 17:16:22

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/300.dcl-of-oracle-mode/200.audit-of-oracle-mode.md)  

## 描述

该语句用于配置或删除对 SQL 语句的审计规则。

#### 说明

- 配置对 SQL 语句的审计规则时，您必须拥有 `AUDIT SYSTEM` 系统权限，且需要登录 ORAAUDITOR 用户。
 - 配置对 SQL 语句的审计规则后，对所有会话立即生效。
 - 需要通过系统配置项 audit_trail 开启审计功能，该语句配置的审计规则才能生效。

## 使用限制及注意事项

在进行审计前，需先解锁 `ORAAUDITOR` 用户。

将 `ORAAUDITOR` 用户解锁，示例如下：

```sql
ALTER USER ORAAUDITOR ACCOUNT UNLOCK;

```

使用审计的详细信息，参见 [开启安全审计](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682893)。

## 语法

```sql
/* 语句审计 */
{AUDIT | NOAUDIT}
    { statement_operation_list | ALL | ALL STATEMENTS }
    [BY user_name [, user_name]...]
    [BY ACCESS]
    [WHENEVER [NOT] SUCCESSFUL]

/* 对象审计 */
{AUDIT | NOAUDIT}
    { object_operation_list | ALL }
    ON { obj_name | DEFAULT }
    [WHENEVER [NOT] SUCCESSFUL]

statement_operation_clause:
    statement_operation_list
    | ALL
    | ALL STATEMENTS

statement_operation_list:
    statement_operation [statement_operation...]

object_operation_clause:
    object_operation_list
    | ALL

object_operation_list:
    object_operation [object_operation...]

auditing_on_clause:
    ON obj_name
    | ON DEFAULT

auditing_by_user_clause:
    BY user_name [user_name...]

whenever_option:
    WHENEVER NOT SUCCESSFUL
    | WHENEVER SUCCESSFUL

```

## 参数说明

| 参数 | 说明 |
| --- | --- |
| statement_operation_list | 要审计的 SQL 语句操作列表 |
| ALL | 审计所有可审计的语句 |
| ALL STATEMENTS | 审计所有语句 |
| user_name | 要审计的用户名列表，用逗号分隔 |
| BY ACCESS | 为每个审计操作生成一条记录 |
| WHENEVER NOT SUCCESSFUL | 仅审计失败的操作 |
| WHENEVER SUCCESSFUL | 仅审计成功的操作 |
| object_operation_list | 要审计的对象操作列表 |
| ALL | 审计所有可审计的对象操作 |
| obj_name | 要审计的对象名称 |
| DEFAULT | 设置默认审计选项，应用于后续创建的对象 |
| WHENEVER NOT SUCCESSFUL | 仅审计失败的操作 |
| WHENEVER SUCCESSFUL | 仅审计成功的操作 |

可以审计的 SQL 语句类型如下表所示。

**审计语句说明表 1**

| 审计语句 | 说明 |
| --- | --- |
| ALTER SYSTEM | 审计 `ALTER SYSTEM` 语句。 |
| CLUSTER | 审计 `ADD CLUSTER` 和 `REMOVE CLUSTER` 语句。 |
| INDEX | 审计 `CREATE INDEX`、`DROP INDEX`、`FLASHBACK INDEX` 和 `PURGE INDEX` 语句。 |
| NOT EXISTS | 审计因对象不存在导致失败的操作。 |
| OUTLINE | 审计 `CREATE OUTLINE`、`ALTER OUTLINE` 和 `DROP OUTLINE` 语句。 |
| PROCEDURE | 审计 `CREATE PROCEDURE`、`DROP PROCEDURE`、`CREATE FUNCTION`、`DROP FUNCTION`、`CREATE PACKAGE` 和 `DROP PACKAGE` 语句。 |
| PROFILE | 审计 `CREATE PROFILE`、`ALTER PROFILE` 和 `DROP PROFILE` 语句。 |
| ROLE | 审计 `CREATE ROLE`、`ALTER ROLE`、`DROP ROLE` 和 `SET ROLE` 语句。 |
| SEQUENCE | 审计 `CREATE SEQUENCE` 和 `DROP SEQUENCE` 语句。 |
| SESSION | 审计登入登出操作。 |
| SYNONYM | 审计 `CREATE SYNONYM` 和 `DROP SYNONYM` 语句。 |
| SYSTEM AUDIT | 审计 `AUDIT` 和 `NOAUDIT` 语句。 |
| SYSTEM GRANT | 审计 `GRANT` 和 `REVOKE` 语句。 |
| TABLE | 审计 `CREATE TABLE`、`DROP TABLE` 和 `TRUNCATE TABLE` 语句。 |
| TABLESPACE | 审计 `CREATE TABLESPACE`、`ALTER TABLESPACE` 和 `DROP TABLESPACE` 语句。 |
| TRIGGER | 审计 `CREATE TRIGGER`、`ALTER TRIGGER` 和 `DROP TRIGGER` 语句。 |
| TYPE | 审计 `CREATE TYPE`、`DROP TYPE`、`CREATE TYPE BODY` 和 `DROP TYPE BODY` 语句。 |
| USER | 审计 `CREATE USER`、`ALTER USER` 和 `DROP USER` 语句。 |
| VIEW | 审计 `CREATE VIEW` 和 `DROP VIEW` 语句。 |

**审计语句说明表 2**

| 审计语句 | 说明 |
| --- | --- |
| ALTER SEQUENCE | 审计 `ALTER SEQUENCE` 语句。 |
| ALTER TABLE | 审计 `ALTER TABLE` 语句。 |
| COMMENT TABLE | 审计 `COMMENT ON TABLE` 和 `COMMENT ON VIEW` 语句。 |
| DELETE TABLE | 审计 `DELETE FROM TABLE` 和 `DELETE FROM VIEW` 语句。 |
| EXECUTE PROCEDURE | 审计 `CALL` 语句。 |
| GRANT PROCEDURE | 审计 `GRANT obj_privilege ON PROCEDURE \| FUNCTION \| PACKAGE` 和 `REVOKE obj_privilege ON PROCEDURE \| FUNCTION \| PACKAGE` 语句。 |
| GRANT SEQUENCE | 审计 `GRANT obj_privilege ON SEQUENCE` 和 `REVOKE obj_privilege ON SEQUENCE` 语句。 |
| GRANT TABLE | 审计 `GRANT obj_privilege ON TABLE \| VIEW` 和 `REVOKE obj_privilege ON TABLE \| VIEW` 语句。 |
| GRANT TYPE | 审计 `GRANT obj_privilege ON TYPE` 和 `REVOKE obj_privilege ON TYPE` 语句。 |
| INSERT TABLE | 审计 `INSERT INTO TABLE` 和 `INSERT INTO VIEW` 语句。 |
| SELECT SEQUENCE | 审计所有包含 `sequence.CURRVAL` 或 `sequence.NEXTVAL` 的语句。 |
| SELECT TABLE | 审计 `SELECT TABLE` 和 `SELECT VIEW` 语句。 |
| UPDATE TABLE | 审计 `UPDATE TABLE` 和 `UPDATE VIEW` 语句。 |

## 示例

### 基本审计配置

1. 查看用户：

   ```sql
   obclient> SELECT username, account_status FROM dba_users ORDER BY created;

   ```

   返回结果：

   ```sql
   +------------+----------------+
   | USERNAME   | ACCOUNT_STATUS |
   +------------+----------------+
   | SYS        | OPEN           |
   | LBACSYS    | LOCKED         |
   | ORAAUDITOR | OPEN           |
   +------------+----------------+
   3 rows in set (0.211 sec)

   ```
 2. 审计用户 `SYS` 的 SELECT 表操作：

   ```sql
   obclient> AUDIT SELECT TABLE BY SYS BY ACCESS;

   ```
 3. 仅审计用户 `SYS` 执行失败的表操作：

   ```sql
   obclient> AUDIT TABLE BY SYS BY ACCESS WHENEVER NOT SUCCESSFUL;

   ```

### 取消审计

1. 取消对用户 `SYS` 表操作的审计：

   ```sql
   obclient> NOAUDIT TABLE BY SYS;

   ```
 2. 取消对用户 `SYS` SELECT 表操作的审计：

   ```sql
   obclient> NOAUDIT SELECT TABLE BY SYS;

   ```

## 查看审计配置

1. 查看语句审计配置：

   ```sql
   obclient> SELECT * FROM DBA_STMT_AUDIT_OPTS;

   ```
 2. 查看对象审计配置：

   ```sql
   obclient> SELECT * FROM DBA_OBJ_AUDIT_OPTS;

   ```

## 系统参数配置

1. 启用系统操作审计：

   ```sql
   obclient> ALTER SYSTEM SET audit_sys_operations = TRUE;
   -- 或
   obclient> ALTER SYSTEM SET audit_sys_operations = '1';

   ```
 2. 设置审计日志输出目标：

   ```sql
   -- 输出到数据库表
   obclient> ALTER SYSTEM SET audit_trail = 'DB';

   -- 或输出到操作系统文件
   obclient> ALTER SYSTEM SET audit_trail = 'OS';

   ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
