GBase 8c
运维管理
文章

如果需要单独开启对SELECT语句的审计,需要设置哪个参数?如果要开启对所有DML语句(INSERT/UPDATE/DELETE)的审计呢?

发表于2026-03-10 11:11:4613次浏览1个评论

1. 单独开启对 SELECT 语句的审计

需要设置参数:audit_dml_state_select

  • 设置方法ALTER SYSTEM SET audit_dml_state_select = 1;

     

  • 作用:将此参数设置为 1(或 on)即可开启对 SELECT 语句的审计记录。

2. 开启对所有 DML 语句(INSERT/UPDATE/DELETE)的审计

需要设置参数:audit_dml_state

  • 设置方法ALTER SYSTEM SET audit_dml_state = 1;

     

  • 作用:将此参数设置为 1(或 on)即可开启对 INSERTUPDATEDELETE 等 DML 语句的审计记录。

重要说明与前提条件:

  1. 总开关:上述两个参数生效的前提是数据库的审计总开关 audit_enabled 必须已经开启(设置为 on)。通常使用 ALTER SYSTEM SET audit_enabled = on; 来开启。
  2. 系统对象审计开关:参数 audit_system_object 的值会影响哪些系统对象的操作会被审计。通常需要将其设置为一个足够大的值(如 127)以确保涵盖所需的审计项。文档中示例为 ALTER SYSTEM SET audit_system_object = 127;

     

  3. 无需重启:修改这些审计参数后,不需要重启数据库即可生效
-- 1. 确保审计总开关开启
ALTER SYSTEM SET audit_enabled = on;

-- 2. 开启SELECT语句审计
ALTER SYSTEM SET audit_dml_state_select = 1;

-- 3. 开启INSERT/UPDATE/DELETE语句审计
ALTER SYSTEM SET audit_dml_state = 1;

-- 4. (建议)设置系统对象审计范围
ALTER SYSTEM SET audit_system_object = 127;

评论

登录后才可以发表评论
GBase用户47954发表于 4个月前
感谢作者的精彩分享!