2015-06-09 3 views
1

Как я могу найти в oracle имя всех удаленных просмотров? просто имя, мне не нужно его восстанавливать.Oracle - как найти удаленные виды?

благодаря

+1

'show recyclebin'? –

+0

не смог найти его по какой-то причине .. может быть, он был удален и там .. есть ли другой вариант? – user1508682

+0

Возможно, кто-то очистит корзину. Или, в первую очередь, не включена утилита. –

ответ

0

попробовать на эти ссылки link1 link2 которые помогают определить активность объектов в схема

+0

, но я думал, что аудит поможет мне с этого момента, а не ретро, ​​не так ли? – user1508682

+0

на мой взгляд, аудит будет полезен, поскольку у него есть столбец, который определяет, что случилось с этими объектами. – Smart003

+0

знаете что? вы правы, это очень полезно. Я использовал эту ссылку: http://oracle-base.com/articles/10g/auditing-10gr2.php, и я начинаю запрашивать проверенные объекты, чтобы найти то, что я ищу. благодаря! – user1508682

0

Try:

SELECT * FROM RECYCLEBIN; 

Более подробную информацию об этой проблеме вы можете найти в documenatiation, как с помощью Flashback

+0

не мог найти его по какой-то причине .. может быть, он был удален оттуда тоже .. есть ли другой вариант? – user1508682

0

Этот SQL должен дать вам имя владельца и имя просмотров за последние 15 минут. То, что вы должны иметь в виду, это будет работать, только если необходимо отменить сегменты в UNDO_TABLESPACE, поэтому, если вы попытаетесь в течение 15 минут, это, вероятно, будет работать, если ваше undo_tablespace не будет крошечным, но в течение 24 часов оно, вероятно, не сработает. И для этого, я думаю, вам нужно подключиться к пользовательскому sys.

SELECT u.NAME as owner, o.name view_name 
from sys.OBJ$ as of timestamp(systimestamp-(interval '15' Minute)) o, sys.user$ u 
where u.USER# = o.owner# 
and o.obj# in (
select obj# from sys.view$ as of timestamp(systimestamp-(interval '15' Minute)) 
minus 
select obj# from sys.view$)