Описание ситуации. Вы решили приобрести практический опыт применения технологии flashback.Для того, чтобы избежать воздействия на других пользователей, Вы сначала сделаете копию таблицыDEPARTMENTS схемы HR под именем DEPARTMENTS2.
Задачи:
1. В SQL*PLUS соединитесь как пользователь DBA1 и создайте новую таблицу HR.DEPARTMENTS2 на основе таблицы HR.DEPARTMENTS. В ней должно быть 27 строк.
2. Удалите таблицу HR.DEPARTMENTS2 и убедитесь, что она действительно была удалена.
3. Используя команду FLASHBACK TABLE, восстановите таблицу. Определите количество строк в таблице HR.DEPARTMENTS2.
4. Выполните скрипт lab_17_04.sql для вставки еще трех строк в таблицу HR.DEPARTMENTS2, используя три различные транзакции. Новые записи имеют значения DEPARTMENT_ID, равными 280, 290 и 300.
5. Используйте Enterprise Manager для того, чтобы вернуться к состоянию таблицы, в котором присутствует только первая из трех новых строк (с DEPARTMENT_ID = 280). (Maintaince > Perform Recovery). Сначала определите измененные строки, для того чтобы выбрать интересующий Вас момент времени. Ограничьте Ваш анализ только новыми строками, у которых Department_id>=280. Если Вы получаете ошибку при выполнении операции Flashback, возможно Вам необходимо установить на таблицу опцию Enable Row Movement. Для решения задачи используйте следующий порядок:
Object |
Settings |
Object Type |
Tables |
Operation Type |
Flashback Existing Tables |
Evaluate row changes and transformations to decide on a point of time |
selected |
Table |
HR.DEPARTMENTS2 |
Choose Column > Selected Columns |
DEPARTMENT_ID |
Bind The Row Value |
Where Department_id>=280 |
Проверьте Flashback Versions Query Result:
Выберите строку с Department_id=290 и продолжайте Ваши операции. Просмотрите SQL команду, которую Вы выполнили и завершите процесс.
6. Вы обнаруживаете, что операция выполняется с ошибкой, поскольку перемещение строк невозможно для этой таблицы. Вы можете вспомнить из урока, что перемещение строк должно возможно для выполнения работы.
Сделайте возможным перемещение строк (Administration > Tables). Проанализируйте следующую команду:
ALTER TABLE HR.DEPARTMENTS2 ENABLE ROW MOVEMENT;
После модификации таблицы Вы можете выполнить операцию Flashback.
Повторите шаг 5, чтобы вернуться к состоянию таблицы, в котором присутствует только первая из трех новых строк. Поскольку перемещение строк стало возможным, эта операция должны быть успешно выполнена.
Затем, используя SQL*PLUS, сосчитайте количество строк в таблице HR.DEPARTMENTS2 для того, чтобы подтвердить выполнение операции Flashback. Заметьте, что теперь имеется только одна дополнительная запись, а не три. Затем выведите на экран записи, в которых Department_id >= 280. Заметьте, что осталась только одна оригинальная запись.
SQL> SELECT count(*) FROM hr.departments2;
COUNT(*)
---------28
SQL> SELECT * FROM hr.departments2 WHERE department_id>=280;
DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID
------------- ---------- -------------------- ---------- ----------280 DUMMY1
Описание ситуации. В недавнем прошлом Вы получили ряд вопросов о схеме HR. Для того, чтобы проанализировать их без влияния на ежедневную активность, Вы решили использовать Data Pump Wizard для экспорта схемы HR в файл. Когда Вы выполняете экспорт, Вы не знаете, в какую базу данных Вы будете импортировать эту схему.
В итоге Вы приходите к выводу, что единственная база данных, для которой управление одобряет импорт, это база данных STUD. Поэтому Вы выполняете импорт при помощи Data Pump Wizard, перенаправляя схему HR в заново созданную схему в табличном пространстве HR_TEST.Вы также решаете создать пользователя DP, который будет DBA, выполняющим работы Data Pump. Для удобства Вашей работы создание пользователя DP включено в скрипт lab_18_01.sql. Однако один шаг там пропущен.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.