Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Спецификация определяющего запроса снимка (AS ...)



Определяющий запрос снимка может быть любым запросом по таблицам, обзорам или другим снимкам, не находящимся в схеме пользователя SYS. Запрос снимка не может содержать опций ORDER BY или FOR UPDATE. Кроме того, необходимо различать простые и сложные снимки:

· простые снимки – это снимки, которые определяются через обзоры, у которых определяющий запрос не содержит опций GROUP BY И CONNECT BY, соединений, подзапросов и операторов множеств;

· кластеризованные снимки – это снимки, которые представляют собой кэшированную область памяти по индексам; обращение к ним быстрее (кластер – это область памяти уже проиндексированная и в них можно размещать снимки).

Привилегии, которые необходимы для создания снимков в своей схеме:

· CREATE SNAPSHOT

· CREATE TABLE

· SELECT по главным таблицам (те таблицы, по которым создается снимок)

· CREATE VIEW

· CREATE INDEX

Чтобы создать снимок в схеме другого пользователя необходимо иметь привилегии: CREATE ANY TABLE, CREATE ANY VIEW, CREATE ANY SNAPSHOT,CREATE ANY INDEX.

Как для создания простого снимка, так и для создания кластеризованного, вы должны иметь достаточно дискового и табличного пространства.

· сложные снимки – это снимки, которые в своем определяющем запросе имеют подзапрос, объединения, множественный запрос (присутствует связь нескольких таблиц); сложный снимок можно обновлять полностью в отличие от простого, который можно обновлять частично.

 
 

Сложный снимок не имеет журнала, следовательно, данный снимок повышает производительность запроса, потому что операция соединения была уже осуществлена во время освежения снимка, но при удалении записи из таблицы emp информация будет полностью заново перегоняться в снимок.

Выход из этого положения представлен на следующем рисунке:

 
 

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

Для простых снимков, как уже было сказано, можно создавать журналы. Журнал снимков ассоциируется только с главной таблицей. Соответственно главная таблица может иметь только один журнал снимков. Из этого следуют следующие правила:

1) если на одной и той же главной таблице базируется несколько снимков, то все они используют один и тот же журнал снимков;

2) журнал снимков необходимо создавать в одной БД с главной таблицей; если вы не создаете журнал снимков явно, то он создастся автоматически в схеме главной таблицы (проблем с именем журнала не будет, т.к. параметр <имя журнала> в соответствующей команде отсутствует, а при автоматическом создании вы это имя вообще не знаете).

CREATE SNAPSHOT LOG ON emp

TABLESPACE users

STORAGE (initial 10K next PCTINCREASE 50);

Привилегии, необходимые для создания снимков:

- если вы владеете главной таблицей, то для создания журнала вы должны иметь:

· CREATE TABLE

· CREATE TRIGGER

- если же журнал создается для главной таблицы в другой схеме, то:

· CREATE ANY TABLE

· CREATE ANY TRIGGER

Владелец журнала должен иметь достаточную квоту.

Порядок создания снимков и их журналов:

1. Создание главной таблицы.

2. Создание снимка.

3. Создание журнала.

4. Первое освежение.

5. Второе освежение.

 
 


Двойная черта обозначает полное освежение, а одинарная – быстрое.

При таком порядке создания элементов необходимо два раза освежить полностью снимки, это связано с тем, что имеется промежуток времени между созданием снимка и журнала, достаточный для внесения какого-либо изменения.

Можно применить и другой порядок создания снимка и журнала:

1. Создание главной таблицы.

2. Создание журнала.

3. Создание снимка.

4. Первое освежение.

5. Второе освежение.

 
 

Снимки используются точно также как и таблицы, обзоры, но к ним нельзя применять операции INSERT,UPDATE. На их основе можно создавать виды и синонимы.

Индексация снимков возможна для таблицы, в которой был создан индекс для хранения снимков.

Удаление снимков производится с помощью команды DROP SNAPSHOT emp. Если вы удаляете снимок по главной таблице, который был единственным, то вам необходимо удалить и журнал снимков, если он существует.

Привилегии, необходимые для выполнения удаления:

· вы должны быть владельцем снимка (т.е. он лежит в вашей схеме)

· DROP ANY SNAPSHOT

· DROP ANY VIEW

· DROP ANY TABLE

Удаление журнала снимков выполняется с помощью команды

DROP SNAPSHOT emp_log.

Журналы можно удалять без каких-либо связей, т.е. независимо. Причиной удаления может выступить:

1) все простые снимки таблицы удалены;

2) все простые снимки таблицы должны быть полностью обновлены.

Для того чтобы удалить журнал снимков вы должны обладать привилегиями:

· являться владельцем главной таблицы

· DROP ANY TABLE





Дата публикования: 2015-02-18; Прочитано: 238 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...