2010-11-18 29 views
2

Ich werde die asynchrone Audit-Trails-Funktionalität für hoch belastete Systeme unter Verwendung von Oracle Streams implementieren (für Log-Mining auf Redo- und Archivprotokollen). Audit-Trails in meinem Fall dürfen keine DML-Operationen über den Satz meiner Tabellen hinaus verlangsamen. Außerdem müssen Audits zusätzliche Informationen über die Identität des Endbenutzers sowie Datum und Uhrzeit der Änderung enthalten.Verwenden von Oracle Streams zum Implementieren von Audit-Trails

Hat jemand Erfahrung in der Implementierung von Audit Trails mit der Verwendung von Oracle Streams? Ist es eine gute Idee, sich so zu bewegen?

Gibt es Tutorials mit Tipps und Tricks zum Implementieren von Audit Trails unter Verwendung von Oracle Streams?

+0

Meinen Sie, dass Sie Oracle Streams verwenden, um Ihre primäre Datenbank zu replizieren, und Sie der Ziel-DB einen Prüfpfad hinzufügen möchten, um der Quelldatenbank keinen zusätzlichen Aufwand hinzuzufügen? – kurosch

+0

@kurosch, nein, in meinem Fall wird Quell- und Ziel-DB gleich sein (ich werde nur separate Tabelle für Audits haben). Ich werde nur Audit-Trap-Funktionalität mit der Verwendung von Oracle Streams oder mit anderen Methoden implementieren, aber ohne zusätzlichen Aufwand für die DB. Oracle Streams sieht wie ein geeignetes Werkzeug aus, um dieses Ziel zu erreichen, aber ich bin mir nicht sicher. –

+0

Oracle Streams ist für die Replikation von DML, ich sehe nicht, wie es hier gelten würde. Auf die eine oder andere Weise benötigen Sie einen Trigger für eine Tabelle, um Änderungen daran festzuhalten und die Überwachungsinformationen irgendwo zu schreiben. Ganz gleich, ob Sie das in ein AQ schieben, um es in einem separaten Prozess zu konsumieren und zu schreiben, oder Sie fügen einfach einen Datensatz in eine Protokolltabelle ein, dann werden Sie jedem DML eine (auch geringe) Menge an Aufwand zufügen. – kurosch

Antwort

1

Oracle behauptet, dass die Überwachungsfunktionen in der Datenbank einen unbedeutenden Overhead verursachen. Haben Sie diese als Testfall ausprobiert, um zu sehen, wie es funktioniert? Es erfordert keine DML-Trigger für die Tabellen. Ich habe sie benutzt und keinen merklichen Unterschied festgestellt, aber die Systemressourcen waren auch nicht ausgereizt.

Verwenden von Streams für die Audiowiedergabe möglich, aber ich denke, es ist eine übermäßig komplizierte Lösung. Ich nehme an, Sie könnten Streams verwenden, um Transaktionen in eine andere Datenbank zu replizieren und dann das Auditing in dieser Datenbank zu verwenden. Sie werden E/A-Last immer dort hinzufügen, wo Sie Ihre Redo-Logs speichern.

0

Stimmen Sie mit @ JOTN überein. Eine weitere Sache, die mit Oracles Streams hinzugefügt werden soll, ist in 12c veraltet und wird als 'Golden Gate' mit separaten Lizenzkosten gepackt/angeboten.