"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

SQL, Trigger und Statistik

grOOvekill@ 20.10.2003 - 15:53 474 9
Posts

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
S'gott,

meine lieben Freunde: Auch heute beglücke ich euch mal wieder mit einer Problemstellung, die alleine zu lösen ich vermutlich nicht imstande sein werde. Um folgendes geht's:

Ich muß eine Statistik für zwei Tabellen einer Oracle Datenbank erstellen. Prinzipiell geht es darum, in einer weiteren Log-Tabelle die Änderungen, die an diesen zwei Tabellen vorgenommen werden, zu protokollieren. In regelmäßigen Abständen soll dann, basierend auf diesen Log-Tabellen, eine Statistik erstellt werden, die danach per automatischem Mailversand an den Admin (also in diesem Fall mich) verschickt werden soll. Als würde dies noch nicht reichen, soll diese Statistik (wenn möglich) auch noch veränderbar sein. Sprich, ich muß imstande sein, die Art der Info, die die Statistik beinhaltet, zu verändern. Klar soweit? Nun mal zum Teil, denich schon habe:

Ich habe bereits zwei Trigger, die schön brav auf die zwei Tabellen (heißen Benutzer und Benutzerlog) aufpassen. Für den Fall daß ein Insert, Update oder Delete stattfindet, tragen sie den Datensatz in die jeweilige Log-Tabelle ein und fügen jeweils ein i, u oder d in einer seperaten Spalte ein. Des weiteren speichere ich die Uhrzeit/Datum des Zugriffes und auch den Namen des Users, der den Zugriff ausgeführt hat. Ich habe also irgendwann mal eine Log-Tabelle, wo jede Menge i's, u's und d's drinstehen.

Irgendwie stehe ich jetzt aber total an. Ich komm' nicht wirklich drauf, wie ich diese Statistik anlegen, bzw. was ich alles für Berechnungen in die Statistik reinnehmen soll.

Nachdem es sich hier um eine sehr wichtige Abgabe von mir handelt, wäre ich demjenigen, der mir zu einer funktionieren Lösung hilft, wirklich sehr, sehr dankbar und auch bereit als Gegenleistung ein paar Biere auszugeben. :)

tia

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2670
wie wärs mit zugriff pro tag, zugriff pro user, deletes, updates, inserts pro tag/woche/monat blabla, da gibts soviel...

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Okay, was ich zähle, ist ja eigentlich eh nicht so sehr das Problem. Eher die Tatsache, daß ich nicht weiß, wie ich das realisieren soll. :(

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2670
sag ma was du zählen willst und i schreib dir die trigger oder sql/statements *ggg* is des des was du brauchst?

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Hm, andere Frage: Weiß jemand, wie ich mir bereits in SQLPLus eingegebene Trigger anzeigen lassen kann? Irgendwie krieg ich da nur Errormessages.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, ich kenn die genaue aufgabenstellung ja nicht, aber wennst schon für _jede_ aktion mitschreibst, kannst auch gleich die affected-rows, bzw. ID's dazuschreiben (sofern das möglich ist, ich kenn mich mit triggern net aus)

mögliche statistiken wären mal aktionen verteilt über den tag, sowie die woche, anzahl natürlich
was ausgesprochen interessant für nen developer wäre, ist die prozessorauslastung und zeit, die für die queries benötigt wurde, wird aber vermutlich nicht möglich sein...

edit: hast du eine möglichkeit die diagramme gleich zu erstellen? wäre nämlich gscheiter, als wenn du die rohdaten verschicken müsstest, natürlich wär auch da möglich per "*" oder wwi pseudo-diagramme zu erstellen... is aber net so toll :p
Bearbeitet von watchout am 20.10.2003, 16:44

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Also, mein eigentliches Problem ist, wie ich diese Statistik starten soll. Offensichtlich gibt es für sowas Prozeduren. Also: Ich zähle einfach irgendwas mit und protokolliere alles in einer eigenen Log-Tabelle. Nun sagen wir, daß ich die Statistik täglich um 23 Uhr starten und anschliessend per Mail verschicken will. Für das Versenden per Mail gibt es eine Prozedur, soviel ist sicher. Ich würde ganz einfach jemanden benötigen, der weiß, wie ich die Berechnung der Statistik starte und das Ergebnis danach in eine Mail stopfe. Das Internet gibt zu dem Thema echt Nüsse her, daher bin ich leider iimmer noch nicht schlauer. Kennt irgendwer brauchbare Websiten die sich mit dem Thema befassen?

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Mann, ich krieg noch echt einen Dachschaden mit dem Zeug hier! Also, ich hab's jetzt mal hinbekommen, daß die Protokolldatei ausgelesen wird und so 'ne Art Statistik erstellt wird. Diese wird in einer Prozedur in eine Variable gestopft und dann mit einer weiteren SendMail Prozedur verschickt.

Bevor nun diese Mail verschickt wird, würde ich mir aber gerne ansehen, was an Text genau in dieser Variable drinsteht. Glaubt ihr ich hätte es geschafft, mir einfach den Inhalt der Variable anzeigen zu lassen? Keine Chance!

Also: Kann mir bitte irgendjemand verraten, wie zum Henker ich mir in einer Oracle Prozedur den Inhalt einer Variable ausgeben lassen kann? Wäre wirklich wichtig!

tia

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
schicks doch einfach an dich selber zum testen, dann kannst dir anschaun was drin is...?

grOOvekill@

Legend
Vienna Badass
Avatar
Registered: Nov 2001
Location: @home
Posts: 2297
Ja, wenn's nur so einfach wäre!! Die Mail-Kacke ist auf dem Server deaktiviert, weil die Herren Professoren Angst haben, daß irgendwer Blödsinn damit treibt! Nicht schlecht, oder? Aber egal, ich geh das Problem jetzt mal von einer anderen Seite an.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz