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

公司主营业务:做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出兰溪免费做网站回馈大家。
说明
- 配置对 SQL 语句的审计规则时,您必须拥有 
AUDIT SYSTEM 系统权限,且需要登录 ORAAUDITOR 用户,密码固定为 ORAAUDITOR。
- 配置对 SQL 语句的审计规则后,对所有会话立即生效。
- 需要通过系统配置项 audit_trail 开启审计功能,该语句配置的审计规则才能生效。
 
/*语句审计*/
{AUDIT | NOAUDIT} statement_operation_clause [auditing_by_user_clause] [whenever_option]
/*对象审计*/
{AUDIT | NOAUDIT} object_operation_clause auditing_on_clause [whenever_option]
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:
    ALTER SYSTEM
    | CLUSTER
    | CONTEXT
    | DATABASE LINK
    | MATERIALIZED VIEW
    | NOT EXISTS
    | OUTLINE
    | PROCEDURE
    | PROFILE
    | PUBLIC DATABASE LINK
    | PUBLIC SYNONYM
    | ROLE
    | SEQUENCE
    | SESSION
    | SYNONYM
    | SYSTEM AUDIT
    | SYSTEM GRANT
    | TABLE
    | TABLESPACE
    | TRIGGER
    | TYPE
    | USER
    | VIEW
    | ALTER SEQUENCE
    | ALTER TABLE
    | COMMENT TABLE
    | DELETE TABLE
    | EXECUTE PROCEDURE
    | GRANT PROCEDURE
    | GRANT SEQUENCE
    | GRANT TABLE
    | GRANT TYPE
    | INSERT TABLE
    | SELECT SEQUENCE
    | SELECT TABLE
    | UPDATE TABLE
object_operation:
    ALTER
    | AUDIT
    | COMMENT
    | DELETE
    | EXECUTE
    | FLASHBACK
    | GRANT
    | INDEX
    | INSERT
    | RENAME
    | SELECT
    | UPDATE| 参数 | 描述 | 
|---|---|
| statement_operation | 语句审计操作类型。 
 | 
| object_operation | 对象审计操作类型。 | 
| obj_name | 被审计的对象名,支持的对象类型包括: 
 | 
| ON DEFAULT | 设置默认审计规则,对后续新创建的对象生效。 | 
| user_name | 指定用户名。 | 
| WHENEVER NOT SUCCESSFUL | 指定只有执行失败才触发审计。 | 
| WHENEVER SUCCESSFUL | 指定只有执行成功才触发审计。 | 
可以审计的 SQL 语句类型如下表所示。
审计语句说明表 1
| 审计语句 | 说明 | 
|---|---|
| ALTER SYSTEM | 审计 ALTER SYSTEM 语句。 | 
| CLUSTER | 审计 ADD CLUSTER 和 REMOVE CLUSTER 语句。 | 
| INDEX | 审计 CREATE/DROP/FLASHBACK/PURGE INDEX 语句。 | 
| NOT EXISTS | 审计因对象不存在导致失败的操作。 | 
| OUTLINE | 审计 CREATE/ALTER/DROP OUTLINE 语句。 | 
| PROCEDURE | 审计 CREATE/DROP PROCEDURE、CREATE/DROP FUNCTION 和 CREATE/DROP PACKAGE 语句。 | 
| PROFILE | 审计 CREATE/ALTER/DROP PROFILE 语句。 | 
| ROLE | 审计 CREATE/ALTER/DROP/SET ROLE 语句。 | 
| SEQUENCE | 审计 CREATE/DROP SEQUENCE 语句。 | 
| SESSION | 审计登入登出操作。 | 
| SYNONYM | 审计 CREATE/DROP SYNONYM 语句。 | 
| SYSTEM AUDIT | 审计 AUDIT/NOAUDIT 语句。 | 
| SYSTEM GRANT | 审计 GRANT/REVOKE 语句。 | 
| TABLE | 审计 CREATE/DROP/TRUNCATE TABLE 语句。 | 
| TABLESPACE | 审计 CREATE/ALTER/DROP TABLESPACE 语句。 | 
| TRIGGER | 审计 CREATE/ALTER/DROP TRIGGER 语句。 | 
| TYPE | 审计 CREATE/DROP TYPE 或 CREATE/DROP TYPE BODY 语句。 | 
| USER | 审计 CREATE/ALTER/DROP USER 语句。 | 
| VIEW | 审计 CREATE/DROP VIEW 语句。 | 
审计语句说明表 2
| 审计语句 | 说明 | 
|---|---|
| ALTER SEQUENCE | 审计 ALTER SEQUENCE 语句。 | 
| ALTER TABLE | 审计 ALTER TABLE 语句。 | 
| COMMENT TABLE | 审计 COMMENT ON TABLE/VIEW 语句。 | 
| DELETE TABLE | 审计 DELETE FROM TABLE/VIEW 语句。 | 
| EXECUTE PROCEDURE | 审计 CALL 语句。 | 
| GRANT PROCEDURE | 审计 GRANT/REVOKE obj_privilege ON PROCEDURE/FUNCTION/PACKAGE 语句。 | 
| GRANT SEQUENCE | 审计 GRANT/REVOKE obj_privilege ON SEQUENCE 语句。 | 
| GRANT TABLE | 审计 GRANT/REVOKE obj_privilege ON TABLE/VIEW 语句。 | 
| GRANT TYPE | 审计 GRANT/REVOKE obj_privilege ON TYPE 语句。 | 
| INSERT TABLE | 审计 INSERT INTO TABLE/VIEW 语句。 | 
| SELECT SEQUENCE | 审计所有包含 sequence.CURRVAL 或 sequence.NEXTVAL 的语句。 | 
| SELECT TABLE | 审计 SELECT TABLE/VIEW 语句。 | 
| UPDATE TABLE | 审计 UPDATE TABLE/VIEW 语句。 | 
 
//将 ORAAUDITOR 用户解锁。
obclient> alter user ORAAUDITOR account unlock;
Query OK, 0 rows affected (5.76 sec)
//登录 ORAAUDITOR 用户。
obclient> exit;
Bye
[admin@k08j13249.eu95sqa /home/admin]
$obclient -h10.10.10.10 -P2883 -uORAAUDITOR@Oracle#test -pORAAUDITOR
obclient> AUDIT TABLE BY test WHENEVER SUCCESSFUL;
Query OK, 0 rows affected (21.14 sec)
 
obclient> AUDIT INSERT, UPDATE, DELETE on t1;
Query OK, 0 rows affected (31.62 sec)