PL-SQL paralleling execution 10g

Как рассчитать больший объем данных за то же время ?   Увеличить скорость расчета ?   Как заставить PL-SQL  задействовать все свободные процессорные мощности ? .   Для всех этих вопросов есть только один ответ – нужно использовать возможности параллельного исполнения . Для этого есть несколько  возможностей – в запросах на выборку данных (select)  использовать подсказки оптимизатору(hint) для распараллеливания запроса (/*+ FULL(hr_emp) PARALLEL(hr_emp, DEFAULT,DEFAULT) */).

Второй способ, это параллелить исполнение PL_SQL программы из внешнего вызова, средствами операционной системы.  Тогда алгоритм работы чуть усложняется –  вначале вызываем несколько потоков для расчета единого результата, затем забираем рассчитанные  данные.

Третий способ (10g), когда требуется выполнять задачу едино за один шаг  –    это использование менеджера заданий (DBMS_SCHEDULER.CREATE_JOB) для одновременного запуска нескольких расчетов.  По сравнению с предыдущим способом, данный инструмент имеет следующие преимущества

(Для 11-ой версии нужно использовать DBMS_PARALLEL_EXECUTE.)

1)      «Клиент» ничего не должен знать о реализованном параллелизме

2)      Данные возвращаются по мере расчета, а не скопом в конце процедуры

Об этом и пойдет речь далее (..в продолжении темы PL-SQL расчетов в Essbase).
Continue reading “PL-SQL paralleling execution 10g”

Hyperion Planning MetaData PLSQL Interface

Опубликовал интерфейс доступа к метаданным Hyperion Planning .
http://code.google.com/p/hyperion-planning-metadata-plsql-interface/

В этой библиотеки использованы технологии Dynamic SQL и PipeLine functions, что теоретически позволяет ее использовать для доступа к справочникам любых произвольных приложений без вмешательства в код этой разработки.

Но тем не менее, для ее корректной работы в конкретном окружении, нужно переопределить функциональную часть реализованную в подпрограмме getDBSchemaName.
Указав соответствие имени приложения и схемы базы данных.
Continue reading “Hyperion Planning MetaData PLSQL Interface”