审计模式¶
在前面提到过审计配置表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'。