Was ist das erstellt-Datum und-Uhrzeit für die Zeile der Tabelle in Oracle?
Gestern ist mein Freund -BI-Spezialist - erklärte mir ein oracle-problem :
es gibt eine oracle-Datenbank, die riesige Menge von Daten, aber Sie machen Sie nicht Spalte für jede Tabelle, die store Erstellt datetime für jede Zeile.
Also in diesem Fall Wie kann er Erstellt datetime (timestamp) für jede Zeile ?
- meinst du in einer vorhandenen Datenbank mit riesigen Mengen an vorhandenen Daten? ist jede Art von Überwachung aktiviert?
- ich glaube nicht, dass so
InformationsquelleAutor Amr Badawy | 2011-07-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jede Zeile hat seine eigene System Change Number (SCN). Dies ist darin genau zu identifizieren, ein moment in der Datenbank.
Ermitteln Sie zunächst die SCN und basierend auf es zu benutzen SCN_TO_TIMESTAMP, um die Zeit-Stempel:
SCN_TO_TIMESTAMP()
möglicherweise nicht verfügbar für ältere Daten (jedochORA_ROWSCN
ist immer verfügbar).ora_rowscn
aufgezeichnet wird auf block-Ebene (NOROWDEPENDENCIES ist die Standard-TABELLE ERSTELLEN-option). Siehe zum Beispiel asktom.oracle.com/pls/apex/...supplied scn was beyond the bounds of a valid scn
. Vielleicht war es verursacht durch zu viel Daten bzw. alten Datensätze, die nicht über die scn? Jedenfalls, versuchen Sie Sie auf einer einzigen Zeile - die jüngste.SELECT SCN_TO_TIMESTAMP(ora_rowscn), MyTable.* FROM MyTable
damit wir wissen, welche Zeilen, die Zeitstempel zu gehören.