2015-10-21 2 views
-1

У меня есть ситуация, когда вчера мой код работал нормально, но сегодня я обнаружил, что мой код терпит неудачу, потому что SQL-запрос завершился неудачно в моей базе данных Oracle. Запрос завершается с ошибкой, потому что таблица, используемая в запросе, не существует. Я не эксперт по Oracle, поэтому я обращаюсь к вам экспертами Oracle. Есть ли способ увидеть в файле журнала или журнальной таблице, когда моя таблица исчезла и кто сбросил мою таблицу?Что случилось с моей таблицей в моей базе данных оракула?

Благодаря

+2

Не так ли вероятно, что пользователь, выполняющий запрос, больше не имеет разрешений для просмотра этой таблицы? – kevinsky

+0

@kevinsky да это также возможно. Знаете ли вы, есть ли способ узнать, что изменилось? –

+2

Если вы подключаетесь как владелец таблицы, и она действительно исчезла, вы можете увидеть, находится ли она в корзине, и если это так, вы можете получить время, когда оно было сброшено с 'user_recyclebin'. Если вы подключаетесь как кто-то другой, возможно, кто-то перестроил таблицу и забыл повторно предоставить разрешения или воссоздал синоним. Надеюсь, это среда для разработчиков, и вы не видите неконтролируемые изменения где-то более важные ... –

ответ

2

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

select * from sys.AUD$ 

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

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