Czy mogę dowiedzieć się, kiedy wykonano ostatnią instrukcję INSERT, UPDATE lub DELETE w tabeli w bazie danych Oracle, a jeśli tak, to w jaki sposób?Jak sprawdzić, czy tabela Oracle została zaktualizowana po raz ostatni?
Małe tło: wersja Oracle to 10g. Mam aplikację wsadową, która działa regularnie, odczytuje dane z pojedynczej tabeli Oracle i zapisuje je w pliku. Chciałbym to pominąć, jeśli dane nie uległy zmianie od czasu ostatniego wykonania zadania.
Aplikacja jest napisana w języku C++ i komunikuje się z firmą Oracle za pośrednictwem OCI. Loguje się do Oracle z "normalnym" użytkownikiem, więc nie mogę używać żadnych specjalnych zadań administratora.
Edycja: Okay, "Special Admin Stuff" nie był dokładnie dobrym opisem. Chodzi mi o to, że: nie mogę nic zrobić, oprócz WYBORU z tabel i wywoływania procedur przechowywanych. Zmiana cokolwiek na temat samej bazy danych (np. Dodawanie wyzwalaczy), niestety nie jest opcją, jeśli chcesz ją wykonać przed 2010 rok.
Tak ... komentarz z 2010 roku dotyczy powolności Twoich DBA, które biorę? –
Cóż, trochę. Są powolne, ale jak już wspomniałem we wcześniejszym komentarzu, rozumiem je. Jeśli jest problem z tą bazą danych, staje się naprawdę brzydki, naprawdę szybki. Możesz tam dostać rzeczy, ale tylko po tym, jak kilka osób przeanalizowało je do piekła. – Maximilian