ORA-01631:
max # extents (1) reached in table SCOTT.SMALL_EXTENT_TABLE
Устраним причину ошибки:
alter
table Scott.Small_extent_table storage (maxextents 10);
Теперь осталось только убедиться, что в первой сессии
оператор Insert успешно закончился.
Еще один классический вид сбоев – ошибки
пользователей. Если кто-то из пользователей, разработчиков или сам
администратор случайно удалил таблицу или запустил неотлаженную процедуру, восстановить потерянные данные бывает очень трудно. В Oracle8i в таких случаях
очень помогает утилита Log Miner. В Oracle9i эта утилита обогатилась новыми
возможностями, такими как восстановление текста DDL-операций или возможность
пропуска поврежденной части журнала.
Кроме Log Miner, восстановить данные после
пользовательской ошибки помогает еще одно нововведение – ретроспективные
запросы (flashback query). С помощью процедур пакета dbms_flashback
пользователь может задать нужный момент времени (предшествующий ошибке), и
после этого все его запросы будут возвращать состояние данных на указанный
момент. Попробуем это сделать.
Удалим важные данные из таблицы:
delete from small_extent_table;
Commit;
Посмотрим состояние данных на момент, предшествующий
фиксации транзакции (точное время фиксации можно получить с помощью LogMiner):