BI EE &Essbase &Express &OLAP &Ликбез Андрей Пивоваров on 27 Apr 2009 10:19 am
Заметки об инсталляции Oracle Essbase
Essbase появился в Oracle c покупкой компании Hyperion в 2007 году. Для тех, кто не знает – это многомерный OLAP сервер. Начиная с Oracle 9.2, ядро OLAP сервера Oracle Express Server встроено в СУБД Oracle и в результате мы имеем т.н. OLAP option. Сам Express Server был прямым конкурентом Essbase. Но, поскольку, встроенная OLAP option и отдельностоящий Essbase все-таки занимают разные технологические ниши, то сейчас рассматривать их как конкурентов, наверное, уже не стоит.
Интересная особенность Essbase для меня – это то, что все, кто с ним работают, отзываются почти исключительно в превосходной степени. Я не помню других таких продуктов, которые все хвалят.
При этом, те, кто хотят попробовать Essbase на своих данных, даже имеющие опыт работы с Express, OLAP или продуктами конкурентов Oracle, часто спрашивают \”Как установить Essbase?\”, так как выясняется, что это не совсем просто по нескольким причинам.
В этой статье я опишу свои впечатления об установке Essbase.
Про свои впечатления об OLAP Option 11g я писал тут.
Теперь я добрался до инсталляции Oracle Essbase. Тем более, что недавно вышла версия 11.1.1.2.
В отличие от OLAP, с Essbase у меня мало практического опыта. Я играл с ним на предустановленных VMware машинах. С одной стороны, какое-то представление о продукте получаешь, но с другой, когда написано что нажимать и в какой последовательности, то ловишь себя на мысли, что не понимаешь как это все устроено и почему нужно нажимать именно сюда. Сам я добрался до установки только сейчас. В связи с этим, я смотрел на установку Essbase почти как новичок, так что, надеюсь эти заметки будут полезны тем, кто пытается разобраться, как это работает. У меня была всего пара дней на то, чтобы разобраться с установкой, поэтому, наверное, я что-то упустил. Более опытные товарищи, надеюсь, поправят.
Итак, предположим – я знаю, что такое OLAP. И я знаю, что Essbase – это хороший OLAP сервер. Я хочу установить Essbase и загрузить в него свою базу данных. С чего начать?
Основная страница на OTN, посвященная Essbase – тут.
Ссылка на документацию тут. Обратите внимание, название не, скажем, Essbase Documentation, а Enterprise Performance Management System Documentation. Дело в том, что Essbase является частью пакета EPM. Меня во время установки интересовал сам сервер Essbase, а не, скажем, приложения для бюджетирования, поэтому я разбираю в этой статье только как устанавливать Essbase.
Где скачать?
Скачть можно тут или на http://edelivery.oracle.com в разделе Oracle Performance Management System и дальше Oracle Enterprise Performance Management (11.1.1.2.0) Media Pack for Microsoft Windows (32-bit)
Бросается в глаза (и это первое препятствие, возникающее перед тем, кто хочет проинсталлировать Essbase) – это обилие файлов архивов. Причем, они достаточно большие по размеру. Все качать и долго и не нужно. Для целей Essbase, я выкачал:
- Oracle Hyperion Enterprise Performance Management System Installer, Fusion Edition Release 11.1.1.2.0 – это ключевой компонент, в отличие от Oracle Installer, который включен в каждый дистрибутив, здесь инсталлер качается отдельно и он нужен для установки всех остальных компонентов.
- Hyperion Enterprise Performance Management System Foundation Services Release 11.1.1.2.0 (4 части) – это некоторый базовый необходимый функционал, который нужно скачать и поставить, даже если нужен только Essbase.
- Oracle Essbase Server Release 11.1.1.2.0 – собственно сервер.
- Oracle Essbase Client Release 11.1.1.2.0 – клиент к нему.
- Oracle Hyperion Provider Services Release 11.1.1.2.0 – нужен для связи различных инструментов с Essbase, Oracle BI и т.д. В принципе, я так понимаю, это не жизненно необходимый компонент именно для моей задачи.
- Hyperion Web Analysis Release 11.1.1.2.0 – веб интерфейс к Essbase базам данных. Наверное тоже не самая необходимая вещь, но пусть будет.
Вообще, описание какой компонент для чего нужен можно прочитать в документации тут.
Всего у меня получилось что-то около 8 гигабайт в архивах, которые распаковались в 10. Ставил я все на VMware с Windows XP.
Установка
В принципе, в интернете есть описания как установить Essbase.
Я взял за основу руководство Tim Tow, вернее его вариант в PDF. Руководство у него написано по Essbase 11.1.1.1., но отличия минимальны. Кстати, рекомендую его блог.
В общем, руководство хорошее, и я прямо по нему все и устанавливал. Поэтому наверное нет смысла повторять тоже самое, что написано у него.
То есть, после того, как вы скачали все файлы, вы берете его руководство и делаете все, что там написано. Отличия будут только в названиях архивов, которые для каждой версии свои. Там много картинок, так что даже если у вас не очень хорошо с английским, думаю все будет понятно. Правда, рекомендую, сначала дочитать эту статью до конца.
В руководстве, на мой взгляд, два недостатка:
- Почти не объясняется зачем нужны все эти выкачанные компоненты и, собственно, что ты делаешь в процессе установки и зачем.
- Оно заканчивается как раз \”на самом интересном месте\”, то есть поставить софт как-бы поставили, ну а дальше-то что, как с этим работать?
Комментарии
Я пытался запустить инсталлятор по сети – это не удалось. Лечится это мапированием сетевого адреса как локального диска.
Для инсталляции нужна база данных, например Oracle. Hyperion-у нужна схема для хранения своего репозитория. Если база есть – хорошо. Если нет, то нужно тоже поставить. В принципе, в руководстве это написано, но лучше знать заранее.
Tim Tow пишет, что для того, чтобы запустился Essbase, нужно стартовать его вручную (в его руководстве написано как это сделать) и создать логин и пароль администратора. Мне это не понадобилось, видимо в 11.1.1.2 это исправили.
- Логин и пароль к серверу Essbase по умолчанию – admin/password
Почему – то это сложно найти в мануалах. Мне кажется, я один раз нашел, но потом снова потерял где.
После установки в меню Start появляется раздел Oracle EPM System, а в нем различные подфолдеры. Бросается в глаза обилие иконок типа Start Administration Services, Stop Administration Services, Start Administration Services Console и проч. В тоже время, если заглянуть в Windows Services, то видно, что там появилось около десятка сервисов. Это все несколько озадачивает.
Отгдака тут такая. Действительно, многие компоненты у Hyperion оформлены в виде J2EE сервисов, и плюс к этим сервисам нужны различные консоли, которые с ними взаимодействуют. Например, администрирование Essbase осуществляется при помощи административного сервиса и плюс к нему запускается административная консоль. с консолью работает разработчик. Сервис, видимо, поддерживает одновременную работу нескольких разработчиков.
В сервисах Windows стоят те же самые процессы (кроме консолей), только запускающиеся автоматически. В принципе, вы можете их не запускать как сервисы Windows, а запускать вручную. У запуска вручную есть как минимум преимущество – в терминале видно, что происходит и какие возникают ошибки. А ошибки у меня возникли.
Началось с того, что как раз эта самая административная консоль не могла подсоединиться к серверу. Вылечилось это так: Я погасил в Windows Services Hyperion Administration Services и запустил его вручную из Start-> Programs-> Oracle EPM System-> Essbase-> Administration Services-> Start Administration Services (Embedded Java Container). И на взлете в терминале сервис сказал, что не может приконнектиться к репозиторию в Oracle. Путем экспериментов выяснилось, что почему-то ему не нравится, что Oracle SID у меня записан как \”orcl\”, а не \”ORCL\”. Я исправил это в файле D:\\Hyperion\\products\\Essbase\\eas\\server\\dao.properties. После этого консоль замечательно взлетела и дала мне приконнектиться.
Затем я обнаружил, что есть такая замечательная вещь, как Oracle EPM System-> Foundation Services-> EPM System Diagnostics. Она проверяет работоспособность всех многочисленных сервисов и выдает страницу с диагностикой. В идеале не должно быть ни одной красной строчки на этой странице. Если есть красная строчка, значит что-то недоконфигурено или недозапущено. Например, не стартовал какой-то сервис. Или они стартовали не в том порядке.
Например, я выяснил, что у меня сервис Essbase Studio не прописан в Windows Services. Его пришлось запускать вручную. Плюс, экспериментально удалось выяснить, что последовательность запуска сервисов важна. Например сначала надо чтобы запускался Hyperion Foundation Shared Services, а затем сервис консоли администратора.
Что я не выяснил пока, можно ли автоматизировать старт всех сервисов так, чтобы они автоматически взлетали в нужном порядке? Пока мне удалось кое-что перезапускать вручную, после чего проверять диагностом, что все работает. В итоге мне удалось добиться, чтобы все работало и красных строчек не было.
О компонентах
Как я уже упомянул, компонентов много. Меня интересовало, что нужно сделать, чтобы построить свой кубик.
Сейчас я знаю как минимум 3 способа это сделать.
- Использовать Administration Services Console (ASC)
- Использовать Integration Services (IS)
- Использовать Essbase Studio\” (ES)
Самый низкоуровневый вариант – первый. Собственно, это работа непосредственно со структурой базы в Essbase. Это аналог Analytic Workspace Manager для Oracle OLAP, хотя и мощнее.
Если вы запустите ASC, то обнаружите, что там есть несколько примеров баз, которые можно посмотреть как устроены. В отличие от OLAP, в Essbase есть так назыаваемые Applications, которые хранят базы данных. Структура базы данных описывается в так называемом Outline. Примеры, которые вы видите в ASC содержат структуру, но данных там нет. Для того, чтобы заполнить примеры можно почитать этот документ.
Если коротко, то суть в том, что нужно встать мышкой на базу данных и по правой кнопке вызвать Load Data. Дальше выбрать Find Data File и Find Rules File. Rules File может отсутствовать. После этого данные будут загружены из текстовых файлов и вы сможете просмотреть их во встроенном просмотровщике (Правая кнопка на базе и Preview Data)
В ASC довольно сложно прописать как грузить данные из базы данных, а не текстового файла (ну или мне так показалось, вполне возможно я ошибаюсь, времени было мало).
Для того, чтобы грузить данные из баз можно использовать Integration Services или Essbase Studio. Идеология у них похожа, но ES появился в 11 версии Essbase и, возможно, он идет на смену IS. Хотя я попробовал – грузить можно и там и там. Мне показалось, что ES удобнее.
Если не углубляться глубоко в работу в ES (для этого, наверное, лучше ее посмотреть самому или почитать мануал), в двух словах как в ней строится работа:
- Вы выбираете источник данных (таблицы, вью и т.д.)
- Дальше на основе таблиц строите многомерную модель (кубы, измерения, иерархии и т.д.)
- Настраиваете различные опции хранения в Essbase
- Создаете структуру куба и загружаете данные.
В общем, если не брать некоторые особенности моделирования многомерной структуры в Essbase, инструмент довольно понятный. В качестве примера, я взял схему GLOBAL, которая обычно используется для демонстрации работы Oracle OLAP option и построил на ее данных кубик в Essbase. Что мне не удалось сделать почему-то из ES, это чтобы в кубе, созданным в BSO, сразу были обсчитаны агрегаты. Приходилось после загрузки запускть в ASC обсчет Calculation. Не знаю, баг это или фича. При выборе типа хранения ASO все было нормально. И еще почему-то отказался строиться куб XOLAP. Вернее во время создания выпадает ошибк