审计模式

在前面提到过审计配置表SYS_AUDCONF及四张审计踪迹视图中都有“审计模式”一列, 其为's'时表示只审计执行成功的命令,为'f'时表示只审计执行失败的命令, 为'a'时表示不论执行成功或失败都审计。在神通数据库中, 对已经存在的审计配置记录再配置或取消配置时,审计模式的处理如下:

's' + 'f' = 'a'

原来为's',再配置WHENEVER NOT SUCCESSFUL时,不增加新的审计配置记录,而是把原审计配置记录的审计模式改为'a';

原来为'f',再配置WHENEVER SUCCESSFUL时,不增加新的审计配置记录,而是把原审计配置记录的审计模式改为'a';

例如:

AUDIT DELETE WHENEVER SUCCESSFUL;

查看审计配置表,看审计配置是生效:

SELECT * FROM SYS_AUDCONF;

结果如下:

+--------+---------+-------+-------+-------+
| HTGTID | STRNAME | CTYPE | CMODE | BISON |
+--------+---------+-------+-------+-------+
| 0 | DELETE | 2 | s | t |
+--------+---------+-------+-------+-------+
(一行)

再配置执行不成功的删除语句:

AUDIT DELETE WHENEVER NOT SUCCESSFUL;

查询审计配置表中审计模式的变化:

SELECT * FROM SYS_AUDCONF;

结果如下:

+--------+---------+-------+-------+-------+
| HTGTID | STRNAME | CTYPE | CMODE | BISON |
+--------+---------+-------+-------+-------+
| 0 | DELETE | 2 | a | t |
+--------+---------+-------+-------+-------+
(一行)

可以看出CMODE由's'变为'a'。

's'+ 'a' = 'a'

原来为's',再执行同样的审计配置,但不指定审计模式时,不增加新的审计配置记录,而是把原审计配置记录的审计模式改为'a';

'f' + 'a' = 'a'

原来为'f',再执行同样的审计配置,但不指定审计模式时,不增加新的审计配置记录,而是把原审计配置记录的审计模式改为'a';

'a' - 's' = 'f'

原来为'a',执行NOAUDIT时指定WHENEVER SUCCESSFUL,审计模式变为'f';

'a' - 'f' = 's'

原来为'a',执行NOAUDIT时指定WHENEVER NOT SUCCESSFUL,审计模式变为's';

's' - 's' = 'f'-'f' = 'a'-'a' = 0

原来为's', 执行NOAUDIT时指定WHENEVER SUCCESSFUL,本审计记录状态设为关闭,认为其不再有效;

原来为'f', 执行NOAUDIT时指定WHENEVER NOT SUCCESSFUL,本审计记录状态设为关闭,认为其不再有效;

原来为'a', 执行NOAUDIT时不指定审计模式,本审计记录状态变为关闭,认为其不再有效。

例如:

AUDIT DELETE WHENEVER SUCCESSFUL;

查看审计配置表:

SELECT *FROM SYS_AUDCONF;

结果如下:

+--------+---------+-------+-------+-------+
| HTGTID | STRNAME | CTYPE | CMODE | BISON |
+--------+---------+-------+-------+-------+
| 0 | DELETE | 2 | s | t |
+--------+---------+-------+-------+-------+
(一行)

取消前面的审计配置:

NOAUDIT DELETE WHENEVER SUCCESSFUL;

查看审计配置表中审计配置记录状态的变化:

SELECT *FROM SYS_AUDCONF;

+--------+---------+-------+-------+-------+
| HTGTID | STRNAME | CTYPE | CMODE | BISON |
+--------+---------+-------+-------+-------+
| 0 | DELETE | 2 | s | f |
+--------+---------+-------+-------+-------+
(一行)

可以看出BISON由原来的't'变为'f'。