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 .....