Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak dowiedzieć się, kiedy dana tabela została utworzona w Oracle?

SELECT created
  FROM dba_objects
 WHERE object_name = <<your table name>>
   AND owner = <<owner of the table>>
   AND object_type = 'TABLE'

powie ci, kiedy tabela została utworzona (jeśli nie masz dostępu do DBA_OBJECTS, możesz zamiast tego użyć ALL_OBJECTS, zakładając, że masz uprawnienia SELECT do tabeli).

Ogólną odpowiedzią na pobieranie znaczników czasu z wiersza jest jednak to, że możesz uzyskać te dane tylko wtedy, gdy dodałeś kolumny do śledzenia tych informacji (zakładając oczywiście, że Twoja aplikacja również zapełnia kolumny). Istnieją jednak różne przypadki szczególne. Jeśli DML wydarzyło się stosunkowo niedawno (najprawdopodobniej w ciągu ostatnich kilku godzin), powinieneś być w stanie uzyskać sygnatury czasowe z zapytania dotyczącego retrospekcji. Jeśli DML wydarzyło się w ciągu ostatnich kilku dni (lub jak długo przechowujesz zarchiwizowane dzienniki), możesz użyć LogMiner do wyodrębnienia znaczników czasu, ale będzie to bardzo kosztowna operacja, szczególnie jeśli otrzymujesz znaczniki czasu dla wielu wierszy. Jeśli zbudujesz tabelę z włączoną opcją ROWDEPENDENCIES (nie jest to ustawienie domyślne), możesz użyć

SELECT scn_to_timestamp( ora_rowscn ) last_modified_date,
       ora_rowscn last_modified_scn,
       <<other columns>>
  FROM <<your table>>

aby uzyskać datę ostatniej modyfikacji i SCN (numer zmiany systemu) dla wiersza. Jednak domyślnie, bez ROWDEPENDENCIES, SCN znajduje się tylko na poziomie bloku. SCN_TO_TIMESTAMP funkcja nie będzie również w stanie na zawsze mapować SCN na znaczniki czasu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć duplikaty z listy oddzielonej przecinkami przez regexp_replace w Oracle?

  2. Dowiedz się więcej o pakiecie DBMS_OUTPUT w Oracle

  3. Oracle DB:Jak mogę napisać zapytanie, ignorując wielkość liter?

  4. Oracle 11g — Unpivot

  5. Czy można tworzyć typy obiektów Oracle Database w PL/SQL?