#oracle11g
#oracle11g
Вопрос:
Где я могу узнать, в какое время представление было удалено из базы данных.
Для других типов объектов, таких как индексы и таблицы, я использую dba_recyclebin для проверки времени удаления, но для представления я не думаю, что ORACLE фиксирует детали в этой таблице.
Комментарии:
1. Ваш вопрос неясен. Вы хотите знать, было ли удалено представление? Тип
select count(*) from [view_name]
— если представление не существует, Oracle сообщит вам. Есть много других способов — вы можете запроситьuser_views
или……2. Я хотел проверить, в какой временной отметке было удалено представление. Поскольку оно не хранится в DBA_RECYCLEBIN , мне было интересно, есть ли какая-нибудь другая таблица, в которой хранится такая история. На данный момент кажется, что нет другого варианта, кроме поиска в архивных журналах.
3. Понятно, но, пожалуйста, перечитайте то, что вы написали (точные слова, а не то, что вы «хотели» сказать), и посмотрите, является ли это нормальной интерпретацией. Вы сказали, что у вас возникли проблемы с определением, было ли удалено представление; вы не сказали, что ЗНАЕТЕ, что оно было удалено, и вы просто хотите знать, когда. Спасибо за разъяснение!
4. Спасибо за ваши комментарии. Я обновил вопрос.
Ответ №1:
Предполагая, что удаление было достаточно недавним, чтобы данные все еще присутствовали в вашем UNDO
табличном пространстве (вероятно, несколько часов, но до нескольких дней, в зависимости от вашей рабочей нагрузки и конфигурации), вы должны иметь возможность использовать запрос ретроспективного dba_views
просмотра. У вас должна быть FLASHBACK ANY TABLE
привилегия.
SELECT text
FROM dba_views AS OF TIMESTAMP( systimestamp - interval '1' hour )
WHERE owner = <<owner of view>>
AND view_name = <<name of view>>
Помимо этого, вы можете просмотреть свои архивные журналы, используя dbms_logmnr
для поиска drop view
инструкций в течение более длительного времени. Однако это, вероятно, потребует больше усилий.
Комментарии:
1. Спасибо за помощь. dbms_logmnr сделает свое дело. Мне было интересно, существует ли какая-либо эквивалентная таблица DBA_RECYCLEBIN.