Missing data and perceived inconsistencies in auditing data upon database restarts
Details
| Detail name | Value |
|---|---|
| Changelog Number | 5051 |
| Type | Bug |
| Status | Open |
| Affected Versions | EXASOL 6.0.0, EXASolution 5.0.0 |
Synopsis
Upon database restarts it is possible that some query data in auditing is lost. In particular it is possible to have queries in EXA_DBA_AUDIT_SQL having session id's not matching any session in EXA_DBA_AUDIT_SESSIONS.
Details
The auditing data is written and committed by the SqlLog server process. Upon a uncoordinated database restart (crash) any uncommitted data is lost, including auditing data. In particular, the following scenario is possible:
- Just before the database restart new sessions are created and some statements are executed; this data is lost and consequently sessions do later not show up in EXA_DBA_AUDIT_SESSIONS and queries do not show up in EXA_DBA_AUDIT_SQL
- In some cases, a session may be able to reconnect after the restart; this does not count as a new login and the session data does not show up in EXA_DBA_AUDIT_SESSIONS (old data was lost), while the sql entries that run after restart are shown in EXA_DBA_AUDIT_SQL. This leads to queries in EXA_DBA_AUDIT_SQL whose session_id field doesn't match any entry in EXA_DBA_AUDIT_SESSIONS.