Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Oracle University Official Study Notes (RUS) > База данных Oracle 10g Администрирование > База данных Oracle 10g Администрирование I

Ответ
 
Опции темы Опции просмотра
  #21  
Старый 26.09.2009, 22:40
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Пример использования возможности Flashback Query



Пример использования возможности Flashback Query

Если какому-то сотруднику недавно ошибочно был изменен оклад, можно вернуть старое значение, выполнив команду update с подзапросом, в котором возвращается хранившееся ранее значение оклада.
__________________
Телеграм чат
Ответить с цитированием
  #22  
Старый 26.09.2009, 22:41
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Обзор возможности Flashback Versions Query



Обзор возможности Flashback Versions Query

Используя возможность флэшбэк-запроса (Flashback Query), можно извлекать информацию из БД, существовавшую на определенный момент времени или заданный пользователем системный номер изменений (system change number - SCN). Для выбора всех версий строк, существовавших между двумя моментами времени или двумя SCN в команде запроса указывается фраза VERSIONS.

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

Запрос Flashback Versions Quay можно использовать для вывода хронологии изменения содержимого строк. Такой запрос предоставляет возможность проведения аудита строк таблицы и выявления транзакций, изменявших значения в строках. Полученный с использованием Flashback Versions Query идентификатор транзакции используется для получения информации о транзакции с помощью LogMiner или запроса сведений о прошедших транзакциях (Flashback Transaction Query), который будет рассмотрен далее в этом уроке.

Примечание: в приведенном примере VERSIONS_XID - это псевдостолбец, в котором возвращается идентификатор транзакции для соответствующей версии строки.
__________________
Телеграм чат
Ответить с цитированием
  #23  
Старый 26.09.2009, 22:42
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Выполнение Flashback Versions Query в Enterprise Manager



Выполнение Flashback Versions Query в Enterprise Manager

EM предоставляет возможность выполнить запрос версий данных. Для этого на странице Maintenance перейдите по ссылке Perform Recovery.

На странице Perform Recovery выберите Tables в выпадающем списке поля Object Туре, а затем Flashback Existing Tables в Operation Туре. Щелкните на кнопке Perform Object Level Recovery. На выводимой странице "Perform Object Level Recovery: Point-in-Time" выберите 'Evaluate row changes and transactions to decide on a point in time' и укажите имя целевой таблицы.

Выберите просматриваемые столбцы в перечне Available Columns, содержащем имена столбцов таблицы, затем введите условие поиска в поле Bind The Row Value. Отметьте Show all row history, а затем щелкните на кнопке Next.
__________________
Телеграм чат
Ответить с цитированием
  #24  
Старый 26.09.2009, 22:43
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Рассмотрение возможности запроса версий данных



Рассмотрение возможности запроса версий данных

Фраза VERSIONS не используется в запросах версий данных следующих видов таблиц:

внешних таблиц;
временных таблиц;
фиксированных таблиц (fixed tables; список таких псевдотаблиц находится в представлении V$FIXED_TABLE).

Нельзя задавать фразу VERSIONS в запросах вывода данных из представлений. Однако эту фразу можно указывать в определении представления.

Фраза VERSIONS в команде SELECT не дает возможности получить версии строк после момента применения команды DDL, изменяющей структуру соответствующей таблицы. Это означает, что запрос перестает выдавать строки, как только он встречает момент времени в прошлом, когда таблица была изменена.

Некоторые операции, выполняемые при сопровождении, например, сжатие сегмента, могут перемещать строки в другие блоки. Запрос версии данных не обращает внимание на такие операции, поскольку строка данных остается такой же.
__________________
Телеграм чат
Ответить с цитированием
  #25  
Старый 26.09.2009, 22:45
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Обзор запроса сведений о прошедших транзакциях



Обзор запроса сведений о прошедших транзакциях

Запрос сведений о прошедших транзакциях (Flashback Transaction Query) - это инструмент диагностики, используемый для просмотра изменений, сделанных в базе данных на уровне транзакций. Он позволяет диагностировать проблемы в базе данных, а также выполнять анализ и аудит транзакций.

Представление FLASHBACK_TRANSACTION_QUERY используется для выявления всех команд SQL, которые необходимо выполнить для отмены изменений, выполненных либо заданной транзакцией, либо в определенный период времени.
__________________
Телеграм чат
Ответить с цитированием
  #26  
Старый 26.09.2009, 22:46
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Использование ЕМ для запроса сведений о прошедших транзакциях



Использование ЕМ для запроса сведений о прошедших транзакциях

Эта возможность используется вместе с запросом версий данных в мастере Perform Recovery.

На странице Perform Recovery: Choose SCN щелкните на ссылке соответствующего идентификатора транзакции, выводимого в столбце Transaction ID в секции Flashback Versions Query Result.

В примере, приводимом на слайде, сначала в результате выполнения Flashback Versions Query для таблицы JOBS выбираются три строки, удовлетворяющие условию JOB_ID = 'AD_PR.ES'. Затем после щелчка мышью на идентификаторе одной из транзакций показываются все изменения, которые были сделаны в этой транзакции. Обратите внимание на то, что в этой же транзакции производились изменения не только в таблице JOBS, но и в EMPLOYEES.
__________________
Телеграм чат
Ответить с цитированием
  #27  
Старый 26.09.2009, 22:47
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Рассмотрение возможности запроса сведений о прошедших транзакциях



Рассмотрение возможности запроса сведений о прошедших транзакциях

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

Примечание: если для конкретной транзакции недостаточно данных отмены, тогда строка содержит значение UNKNOWN в столбце OPERATION представления FLASHBACK_TRANSACTION_QUERY.
__________________
Телеграм чат
Ответить с цитированием
  #28  
Старый 26.09.2009, 22:48
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Итоги

__________________
Телеграм чат
Ответить с цитированием
  #29  
Старый 26.09.2009, 22:48
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

__________________
Телеграм чат
Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:33. Часовой пояс GMT +3.


Powered by vBulletin®