Protokollierung von Zugriffen auf Tabellenfelder
- Dieses Thema hat 8 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahren, 7 Monaten von
Anonym.
-
AuthorPosts
-
22. März 2005 um 8:34 Uhr #2525
AnonymGastHallo,
hat jemand eine Idee, wie sich in DB2 (Schreib- und Lese-)Zugriffe auf Felder einer bestimmten Tabelle protokollieren lassen?
Hintergrund ist, dass man feststellen will, welche Felder einer sehr breiten Tabelle überhaupt noch verwendet werden.
Mir fällt da nur der System Monitor ein, mit dem alle SQL-Statements protokolliert werden können. Erhebung und Auswertung dieser Daten ist aber m.E. recht aufwändig.Gibt es vielleicht eine elegantere Möglichkeit?
Vielen Dank im voraus,
Gruss,
Alex
22. März 2005 um 13:40 Uhr #2982
AnonymInaktivHi Alex,
mit einem After-Trigger (for each row) kann man alle Veränderungen in einer entsprechenden Tabelle protokollieren – und die Protokoll-Tabelle auswerten.
MfG
AxelP
22. März 2005 um 13:44 Uhr #3299
AnonymGastHallo AxelP,
danke für die schnelle Antwort.
Trigger habe ich verworfen, da hauptsächlich Lesezugriffe vorkommen.Gruss,
Alex25. März 2005 um 8:36 Uhr #3504
AnonymInaktivHi Alex,
man könnte auch die Audit-Funktion nutzen, nur scheint mir diese recht aufwendig zu sein.
MfG
AxelP
PS: Zum Trigger: Spalten, die nicht mehr gepflegt werden, werden wahrscheinlich auch nicht mehr benötigt.
25. März 2005 um 10:43 Uhr #3643
AnonymGastHallo AxelP,
db2audit könnte das auch? Welche Optionmüsste ich denn dazu nutzen?
Wir wollten versuchen, über einen Event Monitor die SQLs zu tracen und dann auszuwerten."PS: Zum Trigger: Spalten, die nicht mehr gepflegt werden, werden wahrscheinlich auch nicht mehr benötigt."
Im Prinzip schon richtig, nur leider werden die Tabelleninhalte in diesem Fall in einem anderen System gepflegt.
Gruss,
Alex
7. April 2005 um 14:46 Uhr #3748
AnonymInaktivHi Alex,
zunächst mal sorry für die späte Antwort, aber ich war über Ostern in Urlaub.
Dann habe ich bei meinem Vorschlag mit der Audit-Funktion nicht darauf geachtet, daß es sich um DB2 LUW handelt: db2audit kann KEINE Abfragen aufzeichnen. Der Audit-Trace von DB2z schon. Nochmals sorry!
MfG
AxelP
PS: Wird IBM DB2 irgendwann einmal auf einen einheitlichen Funktionsumfang bringen?
7. April 2005 um 17:51 Uhr #3812
AnonymGastHallo Axel,
kein Problem, Urlaub muss schliesslich auch mal sein.
Ich werde die SQL-Statements mit einem Eventmonitor protokollieren und dann per awk auswerten.Danke für die Hilfe,
Gruss,
Alex
21. April 2005 um 14:53 Uhr #3854
AnonymGastHi Alex,
ich weiss, ich bin ziemlich spät mit meiner Antwort. Ich achau halt auch nicht ständig ins Forum. Aber das beste Werkzeug für diese Aufgabe ist der Query Patroller, der allerdings nur mit der Data Warehouse Edition mitkommt (oder gesondert zu lizensieren ist).
Gruß,
Guido
24. April 2005 um 4:58 Uhr #3885
AnonymGastHallo Guido,
danke für die Antwort. Unglücklicherweise haben wir natürlich keine Lizenz für den Query Patroller.
Ich habe inzwischen ein script fabnriziert, um die geloggten SQL-Statements auszuwerten. Das war glücklicherweise nicht sehr aufwending, da in diesem Fall jeder Feldname eindeutig auf eine Tabelle zeig, wodurch ein aufwendiges SQL-Parsing entfallen konnte.Gruss,
Alex
-
AuthorPosts
You must be logged in to reply to this topic.