Контрольные вопросы и задания для самостоятельного выполнения
1. Повторите материалы этого шага.
2. Поясните назначение материализованных представлений.
3. Можно ли в материализованных представлениях использовать GROUP BY и SUM?
4. Объясните, для чего нужны журналы материализованных представлений.
5. Создайте материализованное представление (FAST) для таблиц MAN, AUTO, чтобы оно включало имя человека и количество автомобилей, которое купили люди с этим именем.
В каждой сессии есть возможность использовать специальные структуры данных, именуемые контекстом.
Контексты — это набор данных вида «параметр — значение». Контекст предоставляет дополнительные возможности для приложений, использующих СУБД ORACLE.
Контекст — это предопределенный набор параметров и значений, создаваемый в рамках определенной сессии. Несколько таких наборов «параметр — значение» объединяются с помощью структуры, называемой контекстом.
Задается значение контекста с помощью процедуры DBMS_SESSION.SET_CONTEXT.
Функция SYS_CONTEXT позволяет получить значение заданного контекста в рамках сессии.
Для создания контекста используется специальная команда CREATE CONTEXT.
Сначала следует создать специальную процедуру для управления контекстом.
Существует специальный системный контекст CLIENTCONTEXT.
CLIENTCONTEXT при открытии сеанса задает информацию, дополнительную к заданным сведениям (текущая схема, пользователь, тип авторизации, домен, хост, наименование DB, имя пользователя информационной системы…), контекста USERENV.
Пример
Результат для моего компьютера:
Данная информация достаточно часто используется при разработке ORACLE-приложений.
Существует еще один специальный контекст — CLIENTCONTEXT, клиентский контекст.
Данный контекст не требует создания и позволяет сессии пользователя задавать собственные атрибуты и значения. Этот контекст разрешает устанавливать значения заранее, при открытии соединения с базой данных пользовательским приложением.
CLIENTCONTEXT можно считывать функцией SYS_CONTEXT, а также изменять и создавать новые атрибуты.
Пример
— VALUEr
— valuser1
DBMS_SESSION содержит ряд других подпрограмм для работы с контекстами.
Для создания контекста необходимы права CREATE ANY CONTEXT, они могут быть выданы администратором системы.
Можно ли контекст использовать для других типов данных, а не только для строк?
Да, вот пример использования числа:
Какие еще данные можно извлечь из системного контекста?
Вот список информации, которую можно получить из системного контекста:
Информация о SYSCONTEXT
Информация о SYSCONTEXT
Пример:
Контрольные вопросы и задания для самостоятельного выполнения
1. Выберите из системного контекста следующую информацию: имя схемы.
2. Выберите из системного контекста следующую информацию: имя пользователя операционной системы.
3. Создайте в клиентском контексте VAL1 со значением 123.
4. Выберите данные из клиентского контекста для VAL1.
Шаг 87. Планировщик JOB-заданий. Управление
В ORACLE есть механизм, позволяющий запланировать выполнение определенной программы на заданное время, такая программа может быть оператором SQL, программой на языке PLSQL либо даже внешней программой. Этот механизм называется механизмом заданий JOB.
Данный механизм может применяться, например, для планирования запуска тяжелых запросов в ночное время или на выходные дни, распределения задач построения отчетности.
Для управления заданиями в ORACLE существует специальный пакет DBMS_JOB:
• создание заданий;
• можно использовать механизм DBMS_JOB или механизм DBMS_SCHEDULER — более современный способ.
Здесь
JOB — входной параметр, уникальный идентификатор задания. Идентификатор генерируется специальной системной последовательностью;
WHAT — анонимный PL/SQL-блок, в данном блоке указывается последовательность команд, которая будет выполнена в процессе работы задания.
В этом же параметре можно также писать команды вставки, удаления, редактирования (INSER, UPDATE, DELETE), а также команды для создания индексов таблиц, создания индексов, ограничений;
NEXT_DATE — дата-время следующего выполнения задания. Если будет указана дата меньше, чем текущая дата, то выполнение задания будет начато немедленно;
Читать дальше
Конец ознакомительного отрывка
Купить книгу