(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Практическое использование средств FGAC

Источник: ln

Том,

Мы собираемся использовать возможности создания виртуальной приватной базы данных (VPD) сервера Oracle для уже работающей производственной системы оперативной обработки транзакций (ООТ). Идея в том, чтобы возможности системы могли одновременно использовать примерно 40-50 разных компаний. В каждую таблицу приложения добавляется новый столбец, например, COMP_ID.

Теперь вопрос: (я знаю о твоем мнении в отношении использования индексов на основе битовых карт в системах ООТ) Не стоит ли использовать индексы на основе битовых карт по столбцам COMP_ID (VPD), просто потому, что количество различных значений в них весьма невелико?

Ответ Тома Кайта

НЕТ!

Индексы на основе битовых карт никогда, ни при каких обстоятельствах не подходят для систем ООТ.

Столбец COMP_ID станет атрибутом, который будет добавлен к существующим индексам -- сам столбец COMP_ID индексировать не нужно.

Пусть имеется таблица emp:

create table emp ( empno   number,
                   ename   varchar2(30),
                   job     varchar2(10) );

И выполнены следующие операторы:

alter table emp add constraint emp_pk primary key(empno);
create index emp_ename_idx on emp( ename );

Теперь, вы добавляете столбец comp_id и выполняете операторы:

alter table emp add constraint emp_pk primary key(EMPNO,COMP_ID);
create index emp_ename_idx on emp(ename, COMP_ID);

поскольку запрос, который имел вид:

select * from emp where empno = :x;

теперь будет эквивалентен:

select * from emp where empno = :x and comp_id = sys_context(...);

Запрос:

select * from emp where ename = :x 

будет изменен аналогично...

Вопрос читателя от 26 мая 2003 года

Нет ли смысла фрагментировать таблицу по столбцу COMP_ID?

Ответ Тома Кайта

Конечно, можно и фрагментировать. Особенно если количество разных значений comp_id фиксировано. Будет сложнее (потребует больше действий от администратора), если придется добавлять фрагменты на ходу.

А как насчет сжатия?

Не будет ли лучше создать индекс со сжатием, например, по столбцам comp_id, empno и сжать по столбцу 1?

Ответ Тома Кайта

Да, это сработает...

Условие, генерируемое при добавлении FGAC

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

Вопросы:

  1. Нет ли способа получить либо условие, генерируемое функциями защиты, либо полный текст SQL-оператора?
  2. Когда реально выполняются функции защиты?

Я попытался сделать следующее:

  • Добавил вызовы dbms_output в функции: ничего выдано не было, так что момент вызова определить не удалось.
  • Представления v$sqlarea/v$sqltext содержат только SQL-операторы виртальной приватной базы данных ("select * from emp")
  • Утилита tkprof также показывает только "select * from emp"

Как получить реальный текст оператора - я привык видеть при программировании все операторы SQL.

Ответ Тома Кайта

1) См. это обсуждение

2) При анализе оператора. Вызовы dbms_output в функциях FGAC выполняются в другом сеансе - вот почему вы никогда не увидите их результаты.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 24.03.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Personal Edition Named User Plus Software Update License & Support
Oracle Database Standard Edition 2 Named User Plus License
Oracle Database Personal Edition Named User Plus License
Oracle Database Standard Edition 2 Processor License
IBM Domino Enterprise Server Processor Value Unit (PVU) Annual SW Subscription & Support Renewal
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерный дизайн - Все графические редакторы
СУБД Oracle "с нуля"
Все о PHP и даже больше
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100