Дозволяє відновлювати таблиці до стану на заданий момент часу за допомогою однієї інструкції.
Відновлює табличні дані разом з пов'язаними індексами і обмеженнями.
Дозволяє повертати таблицю і її вміст в стан, що існував на певний момент часу, або до зміни системи, певного номером SCN.
Функція Oracle «Flashback Table» дозволяє відновлювати таблиці на заданий момент часу за допомогою однієї інструкції. Якщо база даних знаходиться в інтерактивному режимі, можна відновити табличні дані разом з пов'язаними індексами і константами, скасовуючи зміни тільки в зазначених таблицях.
При використанні інструкції FLASHBACK TABLE можна повернути таблицю і її вміст в стан на конкретний момент часу або до зміни системи з номером SCN.
Примітка. Номер зміни системи (SCN - system change number) - це цілочисельне значення, пов'язане з кожною зміною бази даних. Це унікальне порядкове число в базі даних. Кожен раз, коли виконується транзакція, записується новий номер зміни системи (SCN).
Синтаксис FLASHBACK TABLE
Засіб відновлення випадкових змін таблиць:
відновлює таблицю до стану, що існував в більш ранній момент часу;
переваги: простота використання, доступність і швидке виконання;
виконується на місці.
Засіб автоматичного відновлення
У базі даних Oracle є DDL-команда SQL, FLASHBACK TABLE. для відновлення стану таблиці на більш ранній момент часу в разі, коли таблиця випадково видалена або змінена.
Команда FLASHBACK TABLE є засобом автоматичного відновлення даних в таблиці разом з пов'язаними атрибутами, такими як індекси та подання. Відновлення виконується в базі даних, яка перебуває в інтерактивному режимі, шляхом відкату назад тільки наступних змін заданої таблиці. У порівнянні з традіціон- ними механізмами відновлення ця функція має значні переваги, такими як простота використання, доступність і більш швидке відновлення. Вона також усуває для адміністратора бази даних необхідність пошуку і відновлення властивостей програми. Функція Flashback table не призначена для відновлення фізичних ушкоджень даних, обумовлених поганим станом диска.
Операцію FLASHBACK TABLE можна викликати для однієї або декількох таблиць, навіть для таблиць в різних схемах. Момент часу, до якого потрібно повернути назад базу даних, задається шляхом вказівки допустимої тимчасової мітки. За замовчуванням тригери бази даних під час операції повернення відключені для всіх задіяних таблиць. Таке стандартну поведінку системи можна перевизначити за допомогою пропозиції ENABLE TRIGGERS.
Примітка. Більш докладно про кошику і семантиці відкату flashback см. В документі Oracle Database Administrator's Guide 11g Release 1 (11.1) (Керівництво адміністратора бази даних Oracle 11g, випуск 1 (11.1)).
Використання інструкції FLASHBACK TABLE
Синтаксис і приклади
У наводиться прикладі таблиця EMP2 відновлюється до стану, що передував виконанню інструкції DROP.
Кошик є фактично таблицею словника даних, що містить відомості про віддалених об'єктах. Дистанційні таблиці і всі пов'язані об'єкти, такі як індекси, обмеження, вкладені таблиці і так далі, які не видаляються і як і раніше займають місце на диску. Вони продовжують враховуватися в дискових квоти користувача, поки спеціально не очищати з кошика або поки не виникне ситуація, коли вони повинні бути очищені базою даних через обмежень за місцем, займаному таблицями.
SELECT * FROM RECYCLEBIN;
Коли видаляють користувача, всі об'єкти, що належать цьому користувачу, не поміщаються в корзину, а всі об'єкти в кошику очищаються.
Кошик можна очистити за допомогою наступної інструкції: