Auditierung

BPS führt ein umfangreiches Audit Log für alle relevanten Tabellen. Damit können Probleme im Datenbestand untersucht und die Entstehung nachvollzogen werden.

Die Auditierung ist standardmässig eingeschaltet nachdem die Datenbank mit dem Assistent für neue Datenbanken initialisiert wurde. Dasselbe trifft zu für Tabellen die während des Updates auf neue BPS Versionen verändert oder neu eingeführt werden.

Da die Auditierung namhafte Datenmengen in der Datenbank erzeugt und die Verarbeitung auf dem Datenbank-Server belastet ist es in intensiv genutzten Installationen angezeigt alte Audit Daten regelmässig zu löschen, oder die Auditierung sogar ganz auszuschalten um die Leistung zu erhalten. Das unten beschriebene Skript kann für solche Aktionen verwendet werden.

Audit Tabellen und Views

Die Mastertabelle aller Audit Operationen ist t_audits. In dieser Tabelle werden alle Operationen aufgezeichnet. Nebst eigentlichen Datenänderungen per Insert, Update und Delete Operationen wird in dieser Tabelle auch protokolliert wenn das Auditing von Tabellen aktiviert oder deaktiviert wird:

Für Insert, Update und Delete Operationen in Datentabellen existiert jeweils eine analoge Slave Audit Tabelle deren Name mit ta_ beginnt. In diesen wird jede Datenänderung im Detail aufgezeichnet. Zur komfortableren Auswertung von Datenänderungen existieren allerdings entsprechende Views deren Namen jeweils mit va_ beginnt, darin sind Audit Master- und Slave-Tabellen verknüpft:

Audit-Skript

Das Audit-Skript kann im BPS Installationsverzeichnis von der Kommandozeile aus gestartet werden. Mit dem Kommando bps audit -h kann die eingebaute Online-Hilfe angezeigt werden:

C:\Program Files\IBK BPS 2.22.1\bin>bps audit -h
SYNOPSYS

    bps audit CONNECTSTRING [AUDITNAME]... [OPTION]...

BESCHREIBUNG

    Dieses Skript dient der Steuerung der Auditierung in der BPS Datenbank.

    HINWEISE

    - Geben Sie als CONNECTSTRING die Anmeldung des BPS Besitzers als
      BenutzerID/PIN@Verbindung an.

    - Geben Sie den Auditnamen als Parameter AUDITNAME ein.
      Der Auditname is der Tabellenname ohne den Präfix 't_'.

    BEISPIELE

      Zeige Status von actors und users:

        bps audit 0/1234@pgprod actors users -s

      Alle Auditierungen deaktivieren:

        bps audit 0/1234@pgprod -d -a


OPTIONEN

    -a, --all
        Operation für alle Auditnamen ausführen.

    -d, --disable
        Auditierung deaktivieren.

    -e, --enable
        Auditierung aktivieren.

    -s, --status
        Aktuellen Status anzeigen.

    -P, --purgeall
        Alle Auditdatensätze löschen.

    -h, --help
        Hilfe anzeigen (diese).

    -p TAGE, --purge=TAGE
        Auditdatensätze älter als TAGE löschen.


C:\Program Files\IBK BPS 2.22.1\bin>

Beachten Sie dass das Skript durch den Anwendungsbesitzer (BenutzerID = 0) ausgeführt werden muss, andernfalls fehlen gewisse Datenbankberechtigungen für die auszuführenden Operationen.

Hier einige Beispiele von typischen Aufgaben:

Datensätze löschen welche älter als 60 Tage sind

C:\Program Files\IBK BPS 2.22.1\bin>bps audit 0/1234@oraprod -a -p 60
actors                  2327 Datensätze gelöscht
artattributes             45 Datensätze gelöscht
articleattributes        123 Datensätze gelöscht
articlebarcodes           16 Datensätze gelöscht
.....

Auditierung komplett deaktivieren

C:\Program Files\IBK BPS 2.22.1\bin>bps audit 0/1234@oraprod -a -d
actors            deaktiviert
artattributes     deaktiviert
articleattributes deaktiviert
articlebarcodes   deaktiviert
articleclasses    deaktiviert
.....

Alle Auditierungen einschalten

C:\Program Files\IBK BPS 2.17.0\bin>bps audit 0/1234@oraprod -a -e
actors            aktiviert
artattributes     aktiviert
articleattributes aktiviert
articlebarcodes   aktiviert
articleclasses    aktiviert
.....
Kommentare