DeepEdit!

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

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

DBMS_RLS

Пакет включает в себя все программы, используемые для реализации безопасности на уровне строк, позволяя создавать, удалять, активировать, деактивировать и обновлять политики. В связи с тем, что в Oracle Database 10g некоторые параметры изменились и добавились новые, в таблицах отмечены различия между версиями Oracle9i и Oracle 10g.
ADD_POLICY
Процедура добавляет политику RLS для таблицы.
Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10£
object_schema
VARCHAR2
Владелец таблицы, к которой применяет­ся политика RLS. По умолчанию - теку­щий пользователь.
Да
Да
object_name
VARCHAR2
Имя таблицы, к которой применяется по­литика RLS.
Да
Да
policy_name
VARCHAR2
Имя создаваемой политики RLS.
Да
Да
function_schema
VARCHAR2
Владелец функции политики. Функция формирует предикат, добавляемый к за­просу для ограничения результирующего
Да
Да

Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10g


множества. По умолчанию - текущий пользователь.
Да
Да
policy_function
VARCHAR2
Имя функции политики.
Да
Да
statement_types
VARCHAR2
Типы операторов, к которым применяется функция политики: SELECT, INSERT, UPDATE и/или DELETE. По умолчанию - все. В Orac­le 10* Release 2 доступен новый тип INDEX.
Да
Да
update_check
BOOLEAN
Допустимы значения TRUE или FALSE. В слу­чае TRUE при изменении/добавлении строк политика проверяет, что пользователь может видеть записи и после изменения. По умолчанию - FALSE.
Да
Да
enable
BOOLEAN
Допустимы значения TRUE или FALSE. Ука­зывает, включена ли политика.
Да
Да
static_policy
BOOLEAN
Указывается для статической политики.
Да
Да
policy_type
BINARY_ INTEGER
Динамизм политики: STATIC, SHARED_STA- TIC, CONTEXT_SENSITIVE, SHARED_CONTEXT_SEN- SITIVE или DYNAMIC. Дополняется префик­сом DBMS_RLS, например POLICY_TYPE=> DBMS_RLS.STATIC. По умолчанию - DYNAMIC.
Нет
Да
long_predicate
BOOLEAN
Если длина возвращаемого функцией по­литики предиката превышает 4000 байт, необходимо передать данному параметру значение TRUE; это позволит функции воз­вращать предикаты длиной до 32000 байт. По умолчанию - FALSE.
Нет
Да
sec_relevant_ cols
VARCHAR2
Указывает список столбцов, упоминание которых приводит к применению полити­ки RLS; в противном случае к запросу по­литика не применяется.
Нет
Да
sec_rele- vant_cols_opt
VARCHAR2
Если имеются столбцы, при обращении к которым происходит применение полити­ки RLS, то есть выбор: когда пользователь обращается к таким столбцам, следует ли показывать строки, подставляя в столбцы значение NULL, или не показывать эти стро­ки вовсе? Передача этому параметру зна­чения ALL_ROWS приводит к выбору первого варианта. Дополняется префиксом DBMS_RLS, например SEC_RELEVANT_ COLS_OPT => DBMS_RLS.ALL_ROWS. По умолчанию - NULL, что означает, что строки с такими значе­ниями выводиться не будут.
Нет
Да

DROP_POLICY
Процедура отменяет политику RLS, назначенную таблице.
Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10£
object_schema
VARCHAR2
Владелец таблицы, к которой применяет­ся политика RLS. По умолчанию - теку­щий пользователь.
Да
Да
object_name
VARCHAR2
Имя таблицы, к которой применяется по­литика RLS.
Да
Да
policy_name
VARCHAR2
Имя удаляемой политики RLS.
Да
Да

ENABLE_POLICY
Процедура включает и отключает политику RLS для таблицы.
Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10£
object_schema
VARCHAR2
Владелец таблицы, к которой применяется политика RLS. По умолчанию - текущий пользователь.
Да
Да
object_name
VARCHAR2
Имя таблицы, к которой применяется по­литика RLS.
Да
Да
policy_name
VARCHAR2
Имя политики RLS.
Да
Да
enable
BOOLEAN
Значение TRUE означает включение полити­ки; FALSE - ее отключение.
Да
Да

REFRESH_POLICY
Процедура обновляет предикат политики RLS. Когда политика определена с типом, отличным от DYNAMIC, предикат политики может некоторое время не обновляться. Кэшированный в памяти предикат будет использоваться до тех пор, пока не выполнится определенное для него условие окончания срока действия. Если вы хотите обновить политику, то просто выполните процедуру REFRESH_POLICY. Она заново выполнит функцию политики и обновит в кэше предикат.
Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10g
object_schema
VARCHAR2
Владелец таблицы, к которой применяет­ся политика RLS. По умолчанию - теку­щий пользователь.
Да
Да

Имя
параметра
Тип данных
Описание
Версия Oracle

9i
10g
object_name
VARCHAR2
Имя таблицы, к которой применяется по­литика RLS.
Да
Да
policy_name
VARCHAR2
Имя обновляемой политики RLS.
Да
Да
 









jAntivirus