2013-12-16 2 views
2

Возможно ли найти дату обновления определенного поля (а не таблицы в целом). Мне просто нужно найти, когда это значение было обновлено до текущего значения (последнее обновление). Я использую Oracle 10g. Я нашел полезные сообщения here и here, но они обсуждают обновление таблицы, а не конкретные значения. Возможно ли это, не обращаясь к администратору баз данных?Как найти временную метку определенного поля последнего обновления (ORACLE)

+0

Вы можете определить, когда строка обновляется, а не конкретный столбец (поле). – OldProgrammer

+0

Попробуйте использовать ROWSCN. http://stackoverflow.com/questions/9520995/understanding-the-ora-rowscn-behavior-in-oracle –

+0

@OldProgrammer Как я могу это сделать? и не указывает, какое значение в строке было обновлено? – Hawk

ответ

2

В принципе невозможно напрямую использовать SQL, если только вы не знаете, что этот вопрос задан, и были приняты такие меры, как триггер или настройка аудита для данного типа проблем.

Однако, когда это абсолютно необходимо, вы также можете вернуться в архивные файлы журналов повтора. Большинство баз данных для производства архивов хранят свои файлы журналов повтора (с почти всей информацией о транзакциях) в файловой системе и сохраняют их в течение некоторого времени. Архивированные файлы журналов повторного использования обычно используются для восстановления базы данных в предыдущей или текущей ситуации, начиная с резервной копии где-то в прошлом и затем перекладывая транзакции.

Архивированные файлы журналов повторения содержат запрошенную информацию. Вы можете использовать их содержимое с помощью Oracle Logminer. LogMiner доступен на 10g. См. Oracle docs

Смежные вопросы