# [Oracle] Zeitpunkt des letzten Insert/Update/Delete?



## BaseBallBatBoy (21. November 2012)

Hallo

Gibt es bei Oracle irgendeine Systemtabelle die mir für jede Tabelle sagen kann, wann das letzte mal ein Insert/Update/Delete auf dieser Tabelle stattgefunden hat?

Gruss


----------



## MPr (21. November 2012)

Hallo,

es gibt (seit 10g, glaube ich) ALL_TAB_MODIFICATIONS ("describes tables accessible to the current user that have been modified since the last time statistics were gathered on the tables") mit der Spalte Timestamp ("Indicates the last time the table was modified"): http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2097.htm#i1591024.

Außerdem gibt's (in halbwegs aktuellen Releases) die Pseudo-Column ORA_ROWSCN, mit der man zu einem Datensatz eine SCN erhält, die sich - für halbwegs aktuelle Werte - in einen Timestamp umwandeln lässt (knapp erläutert: http://martinpreiss.blogspot.de/2010/02/orarowscn.html; technisch anspruchsvoller unter http://jonathanlewis.wordpress.com/2010/09/03/last-modified/)

Gruß

Martin


----------



## BaseBallBatBoy (23. November 2012)

MPr hat gesagt.:


> ALL_TAB_MODIFICATIONS



Hab ich angeschaut, aber die Tabellen die mich interessieren sind nicht da drin 



MPr hat gesagt.:


> ORA_ROWSCN



Ich hab mal das erste Beispiel darin versucht mit der table link$, aber dass will er nicht. Sagt die gibt's nicht.

Zudem habe ich auch noch 
SELECT SCN_TO_TIMESTAMP(max(ORA_ROWSCN)) FROM mytable versucht, aber das will er auch nicht:

ORA-08181: specified number is not a valid system change number
ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1
08181. 00000 - "specified number is not a valid system change number"
*Cause: supplied scn was beyond the bounds of a valid scn.
*Action: use a valid scn.


Irgendwo habe ich gelesen, dass die SCN nicht allzu alt sein darf... aber da bin ich mir nicht sicher.


----------



## MPr (23. November 2012)

ja, für ältere Daten ergibt sich dieser Fehler. Man kann allerdings mit Hilfe von v$log_history zumindest ein Zeitintervall bestimmen, in dem eine SCN entstanden ist. Ein Script, das diese Informationen verknüpft, hat Tanel Poder veröffentlicht: http://blog.tanelpoder.com/2009/02/07/when-was-a-table-last-changed/.


----------

