Битмап-индексы во время пересчета блокируют операции изменения или удаления данных из сегмента таблицы, где происходит пересчет индексов.
Если в таблице есть простой индекс и индекс по функции, база данных будет предпочтительнее использовать простой индекс, в этом случае необходимо указать СУБД ORACLE принудительно использовать индекс по функции.
Что означает сжатый индекс?
Такой тип индексов называется индекс со сжатым ключом, в сжатом виде индексы занимают меньший объем дискового пространства. Для сжатия индекса используется директива compress.
Что такое реверсивный индекс?
Это специальный тип индексов для запросов, где дерево индекса строится в обратном порядке, то есть данные в запросе чаще считываются в порядке убывания.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного шага.
2. Для таблицы AUTO создайте функциональный индекс, который бы включал номер телефона без скобок (REPLACE).
3. Для таблицы CITY создайте обычный индекс для колонки PEOPLES.
4. Для таблицы AUTO создайте битпмап-индекс для колонки COLOR.
Начиная с версии ORACLE 10g, в ORACLE появился новый механизм корзины RECYCLE BIN, объекты после удаления теперь можно восстановить.
Механизм RECYCLE BIN в ORACLE поддерживается начиная с версии 10g.
Если данный механизм включен (по умолчанию), то при удалении таблицы с помощью конструкции DROP объект не удаляется, а просто переименовывается, оставаясь в табличном пространстве пользователя.
Посмотреть содержимое корзины можно с помощью запроса:
Отключение корзины:
ВОССТАНОВЛЕНИЕ ТАБЛИЦЫ ИЗ КОРЗИНЫ:
Пример
В ORACLE все сведения хранятся в словаре данных.
Словарь данных представляет собой МНОЖЕСТВО таблиц и представлений.
Исходный код пакетов и процедур хранится в таблице SYS.SOURCE$, к которой, в свою очередь, применим РЕТРОСПЕКТИВНЫЙ запрос вида AS OF TIMESTAMP.
Сперва определим OBJECT_ID объекта, который нам предстоит спасти:
Если это пакет, то нам понадобятся два OBJECT_ID: один для тела, а другой для определения. Теперь, зная идентификаторы объектов, получаем код и кладем его в таблицу:
Таким образом можно извлечь исходный код процедуры или пакеты.
ORACLE DATABASE извлекает все индексы, определенные в таблице, полученные из корзины, за исключением индексов BITMAP (индексы BITMAP не помещаются в корзину во время операции DROP TABLE).
База данных также извлекает из корзины все триггеры и ограничения, определенные в таблице, за исключением ограничений ссылочной целостности, которые ссылаются на другие таблицы.
Извлеченные из корзины индексы, триггеры и ограничения имеют сгенерированные имена. Поэтому рекомендуется выполнить запрос представления USER_RECYCLEBIN перед выполнением оператора FLASHBACK TABLE… TO BEFORE DROP, чтобы можно было переименовать полученные триггеры и ограничения в более пригодные для использования имена.
При удалении таблицы все журналы материализованного представления, определенные в таблице, также удаляются, но не помещаются в корзину. Следовательно, журналы с материализованным представлением необходимо будет создавать заново.
При удалении таблицы все индексы в таблице удаляются и помещаются в корзину вместе с таблицей. Если возникает нехватка пространства, база данных освобождает пространство из корзины, сначала удаляя индексы. В этом случае, когда вы вернетесь назад к таблице, вы не сможете вернуть все индексы, которые были определены в таблице.
В каком случае будет невозможно восстановить таблицу из корзины?
Невозможно вернуть данные из таблицы назад, если она была очищена пользователем или базой данных ORACLE в результате некоторой операции восстановления.
Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы данного урока.
2. Попробуйте создать таблицу t11 на основе системного представления ALL_TABLES.
3. Удалите таблицу AUTO1.
4. Просмотрите корзину с помощью запроса.
5. Восстановите таблицу AUTO1.
6. Напишите запрос, который выведет все записи этой таблицы.
Шаг 80. Массовая операция вставки данных
Есть возможность вставить одновременно в несколько таблиц данные на основе заданного запроса, в том числе и сложного.
Читать дальше
Конец ознакомительного отрывка
Купить книгу