2015-01-12 5 views
0

Так что это проблема, у меня есть таблица Oracle, просто обычная таблица, скажем 300 строк данных.История SQL-таблицы Oracle

Мне нужно выяснить, как эти данные выглядели как минимум за 100 дней до этого, кто сделал изменения и отметку времени тоже было бы неплохо. Дело в том, что у меня есть резервная копия расписания, но я считаю, что кто-то изменил данные и удалил резервную копию, поэтому я пытаюсь выяснить это изменение по системным записям.

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

  • выберите * из dba_hist_sqltext - это дает мне результаты для текущего сеанса
  • ВЫБРАТЬ SCN_TO_TIMESTAMP (ORA_ROWSCN) - указанное число не является число действительного изменения системы

Oracle SQL Информация - Java (TM) Платформа 1.7.0_51 Oracle IDE 4.0.0.13.80 Поддержка версий 4.0.0.13.80

Есть ли у вас другая идея? Спасибо заранее

ответ

2

Вы можете использовать ретроспективный кадр: Using Oracle Flashback Technology

с этим, вы можете запросить с помощью предложения AS OF TIMESTAMP, например:

SELECT * FROM yourtable 
    AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS'); 

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

+0

Спасибо, он показал мне, в каком направлении думать о поиске решения! Еще раз спасибо за быстрый ответ! – Veljko89

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