Документация Oracle на русском языке





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

Главная :: Карта


Oracle Database или Oracle RDBMS — объектно-реляционная система управления базами данных компании Oracle.



 

DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Разделяемые статические политики

Разделяемые статические политики очень похожи на статические политики. Разница лишь в том, что одна функция политики используется в политиках для нескольких объектов. В предыдущем примере вы видели, как функция authorized_emps использовалась в качестве функции политики для таблицы DEPT и таблицы EMP. Аналогично можно определить для обеих таблиц не только общую функцию, но и общую политику. Такая политика будет называться разделяемой. Если при этом она будет статической, то называться такая политика будет разделяемой статической политикой, а задаваться будет установкой параметра policy_type в константу DBMS_RLS.SHARED_STATIC. Используя данный тип политики, создадим общую политику для двух наших таблиц.

Объявляя единую политику для двух таблиц, мы в действительности сообщаем базе данных о том, что результат функции политики следует кэшировать, а затем повторно использовать кэшированное значение.

Контекстно-зависимые политики

Мы уже говорили, что статические политики, несмотря на их эффективность, могут представлять определенную опасность, т. к. отсутствие повторного выполнения функции политики может приводить к неожиданным и нежелательным последствиям. Поэтому Oracle предлагает еще один тип политики: контекстно-зависимые политики, которые повторно выполняют функцию политики только при изменении контекста приложения в рамках сеанса (см. раздел «Контексты приложения» далее в главе). Рассмотрим блок кода, определяющий такую политику:

Использование контекстно-зависимой политики (DBMS_RLS. CONTEXT_SEN- SITIVE) может значительно увеличить производительность. В следующем фрагменте кода встроенная функция DBMS_UTILITY.GET_TIME вычисляет затраченное время с точностью до сотых долей секунды.

Выполним этот код, применяя все перечисленные в таблице типы политик. Как видите, чисто статическая политика оказывается самой быстрой (требуется всего одно выполнение функции политики). Контекстно-зависимая политика также значительно быстрее, чем полностью динамическая версия.
Тип политики
Время отклика (в сотых долях секунды)
Динамическая
133
Контекстно-зависимая
84
Статическая
37

Разделяемые контекстно-зависимые политики
Разделяемые контекстно-зависимые политики похожи на контекстно- зависимые. Отличие в том, что одна и та же политика используется для нескольких объектов, как и в случае разделяемых статических политик.
 



jAntivirus