Hi!
Weiß jemand, wie man die Anzahl der Zugriffe auf eine Tabelle rauskriegen kann? Gibt es eine View, die dies leistet?
Peter
Hi!
Weiß jemand, wie man die Anzahl der Zugriffe auf eine Tabelle rauskriegen kann? Gibt es eine View, die dies leistet?
Peter
Was meinst du genau?
Hi Peter,
was meinst du mit „… Anzahl der Zugriffe auf eine Tabelle …“?
Ich habe im Moment selbst noch keine Ahnung welche Möglichkeiten da alle existieren, folgendes fällt mir spontan ein:
ciao,
Bernhard
Hi Bernhard,
Ich meine:
Wieviele SELECT-statements wurden abgesetzt, die diese
Tabelle betreffen? (bezogen auf ein Tag / Woche)
Gibt es eine View hierfür?
Peter
Auditing
Hi Peter,
geht mit Auditing, siehe auch Dokumentation hierzu:
Beispiel:
INIT.ORA-Parameter setzen:
audit_trail = true
audit-trail-Relation leeren:
CONN SYSTEM/MANAGER
TRUNCATE TABLE SYS.aud$;
audit SELECT … BY ACCESS setzen
AUDIT SELECT ON SCOTT.EMP BY ACCESS;
ein paar SELECTs machen…
SELECT COUNT (*) FROM SCOTT.EMP WHERE ENAME = ‚XXX‘;
SELECT COUNT (*) FROM SCOTT.EMP WHERE SAL > 2000;
audit-trail anschauen
SELECT * FROM SYS.aud$; – das ist die Oracle-interne Relation
SELECT * FROM DBA_AUDIT_TRAIL; – DBA-view
audit abschalten
NOAUDIT SELECT ON SCOTT.EMP;
Keine Ahnung, wie sehr die Performance in den Keller gezogen wird …
Ich habe Auditing bis jetzt nur zur Bug-Suche und zum Reverse-Engineering von Fremdprodukten verwendet…
ciao,
Bernhard