понедельник, 20 декабря 2010 г.

Oracle BI EE 11g. Обзор Oracle Business Intelligence Foundation Suite

Сегодня обнаружил на Oracle Technology Network новый пример по Oracle BI 11g.
Правильнее сказать, что это не пример, а обзор возможностей и архитектуры Oracle Business Intelligence Foundation Suite. За полтора часа можно получить полезную информацию и попрактиковаться в английском ))).

Если интересно, то Вам сюда.


Кроме этого, рекомендую начинающим ознакомиться со статьей Александра Рындина в его блоге, которая так и называется - "OBIEE 11gR1 : Архитектура".

среда, 15 декабря 2010 г.

Планы по расширению "Информационных сервисов КУГИ"

Добрый день!

Уже 15 декабря. Завершается год. Оглядываясь на то, что сделано и подводя итоги, мы смотрим вперед и планируем новые работы по совершенствованию "Информационных сервисов КУГИ". Нам важно, чтобы информация была актуальной и доступной, а средства доступа к ней - современными и удобными.

При формировании плана работ на следущий год были запланировали следующие работы по совершенствованию и расширению информационных сервисов КУГИ:
1. Интеграция разделов "Реестр собственности" и "Публикации свободных объектов" с РГИС Санкт-Петербурга.
Будет реализована возможность перехода по ссылке от объекта недвижимости в списке реестра собственности или в списке публикаций к отображению этого объекта в РГИС.
2. Расчет арендной платы за земельный участок.
Будет реализована возможность расчета арендной платы за земельный участок по действующей методике. Данная возможность позволит Вам оценить величину арендной платы за земельный участок в конкретном месте Санкт-Петербурга при том или ином функциональном использовании. Выбор земельного участка для расчета арендной платы будет осуществляться с помощь сведений РГИС Санкт-Петербурга.
 
Это наши предложения по развитию функций.
Может у Вас есть какие-то пожелания к новым функциям "Сервисов"?


Буду рад услышать эти предложения или замечания по функционированию. Ваши комментарии помогут нам сделать "Сервисы КУГИ" более полезными для Вас.

суббота, 27 ноября 2010 г.

Installation Oracle BI EE 11g. Требования к hostname

Привет.
Несколько дней назад при установке Oracle Business EE Suite11g столкнулись со следующей проблемой. При устанавке на тестовый сервер (MSWin 2003 R2 x86) процедура конфигурации домена зависала на первом же шаге - создание домена.
Изучение лога (файла, с расширением OUT) показало, что в логе все завершается строками.

Starting AdminServer
  Starting the domain ...
  DEBUG : Loading the 32 bit dll here

При этом процедура установки и конфигурации выполнялась на других серверах уже несколько раз. Чего только не делали - ничего не помогало.
Оказалось, что установка Oracle Business EE Suite11g (впрочем это требование справедливо для  установки и Weblogic) необходимо, чтобы имя сервера (hostname) не содержало символов подчеркивания.
Изменили имя - все заработало...

Oracle Support Master Notes Blog

Привет.
Обнаружил весьма полезный ресурс -Oracle DB/EM Troubleshooting
Содержит Support Master Notes по различным темам.
Очень полезными для меня оказались статьи по проблемам производительности DataBase.
Только ценность этот блог будет иметь только для тех, кто имеет доступ к metalink (support).

Удачи.

пятница, 12 ноября 2010 г.

Oracle BI EE 11g. Learning Library. Новые примеры

Привет.
Сегодня заметил публикацию двух новых Tutorial по теме Oracle BI EE 11g.

1. Creating a Repository Using the Oracle BI Administration Tool. Опубликован 10 ноября 2010.


2. Creating Analyses and Dashboards. Опубликован 29 октября 2010.

Приятного просмотра. )))

среда, 3 ноября 2010 г.

Temporary change password или мысль о "всемогущих" админах

Привет.
Должен признаться, что на днях было разрушено одно мое заблуждение о невозможности подключения к базе данных с помощью учетной записи пользователя, пароль которой мне неизвестен.
Конец моему заблуждению положила ЭТА статья.
В ней описана возможность временной смены пароля у учетной записи и восстановления предыдущего пароля с помощью недокументированной возможности команды ALTER USER. Данная возможность была мною проверена на сервере Oracle DB 9.2.0.8

Вообщем действуем так:
1. Создаем пользователя для тестирования
create user TEST identified by test;
grant connect to test;
Далее будем считать, что пароль этого пользователя нам неизвестен и у нас существует ОЧЕНЬ БОЛЬШОЕ желание подключиться к базе данных от имени этого пользователя.

2. Получим значение колонки Password из представления DBA_USERS
select password from dba_users where username = 'TEST';

Query finished, retrieving results...
           PASSWORD           
------------------------------
7A0F2B316C212D67              

1 row(s) retrieved

3. Сохраним полученной значение. Оно нам понадобиться для заметания следов...

4. Заменим на время пароль пользователя на придуманный нами.
alter user test identified by cooladmin;

5. Подключимся к базе данных и "совершим задуманное"....

6. Теперь надо замести следы и восстановить пароль пользователя, который мы не знаем...
Это делается с помощью следующей команды
alter user test identified by VALUES '7A0F2B316C212D67 ';

7. Вот и все... Во всех операциях, совершенных на шаге 5 "виноват" ничего не подозревающий TEST...

Начиная с этого момента начинаю серьезно задумываться над применением дополнительных механизмов защиты паролей пользователей в рабочих системах.

Удачи всем...

вторник, 2 ноября 2010 г.

Трассировка чужой сессии в ORACLE

Привет.
Очень часто ко мне обращаются пользователи или наши тестировщики со следующей проблемой:

"У меня программа стала работать МЕДЛЕННО!"

При этом совсем нет времени на детальное изучение проблемы, да еще и рабочие сервера как правило работают с параметром sql_trace = false ...
В этом случае я для себя нашел следующее "экспресс"-решение.
1. Просим пользователя "зайти" в программу

2. Находим sid и serial сессии пользователя ( select sid, serial# from v$session where <условия поиска> )

3. Выполняем такой PL/SQL блок
declare
-- 0/1/null <--> false/true/null
-- Boolean parameters are translated from/to integers:
sql_trace boolean := sys.diutil.int_to_bool(1);
begin
-- Call the procedure
dbms_system.set_sql_trace_in_session
 (sid => 56,
 serial# => 6656,
 sql_trace => sql_trace);
end;
После его выполнения начинается трассировка указанной сессии.

4.  Просим пользователя выполнить долгую операцию...

5. Ждем ...

6. Отключает трассировку, выполнив еще раз этот скрипт, указывая параметр sql_trace = 0

7. Находим в каталоге UDUMP сервера файл .trc
Имя файла содержит в себе идентификатор процесса операционной системы. Найти его можно так
SQL> select p.spid from v$session s, v$process p
2 where s.paddr=p.addr
3 and ...мои_критерии_отбора...
4 /

8. Обрабатываем этот файл утилитой TKPROF ( TKPROF  <имя trc-файла> <имя выходного файла> )

9. В полученном файле анализируем финальные итоги, оценивая параметры CPU и ELAPSED
Например, сегодня я получил такую картину.
И итогах видно, что проблема ЕСТЬ и она сосредоточена во времени ожидания получения данных (20.85  сек)
Надо искать проблемные запросы.

10. В Window с помощью команды find "total" <имя выходного файла> >1.txt
ищем все строки, которые начинаются с "total" и сохраняем их в файл 1.txt

11. Бегло проматриваем этот файл и находим значения, которые по свей величине нас не устраивают.
Для моего сегодняшнего случая было 2 таких тотальных строки для двух запросов, которые занимали практически собой все время ожидания.
total        9      0.00       0.00          0         21          0           9
total        3      0.03       0.02          0          3          0           0
total        3      0.01       0.00          0         14          0           5
total        3      0.64      10.89      11848      17504          0           4
total        3      0.07       0.06          0        214          0          29
total       15      0.00       0.00          0         15          0           5
total        3      0.01       0.00          0          3          0           0
total        3      0.00       0.00          0          4          0           1
total        3      0.00       0.00          0          8          0           6
total        6      0.04       0.02          0          8          0           2
total        3      0.00       0.00          0          4          0           1
total        3      0.00       0.00          0          3          1           1
total        3      0.00       0.00          0          2          0           1
total        3      0.01       0.00          0          8          2           1
total        2      0.00       0.00          0          4          1           1
total        3      0.00       0.00          0          2          0           1
total        3      0.21       9.85       7760      12354          0           1
total        6      0.00       0.00          0          0          0           0
total        6      0.00       0.00          0          0          0           0
Дальше по этим значениям из этих строк в обработанном trace-файле находим проблемные запросы и разбираемся с ними.
Мне сегодня было достаточно построить два индекса...
ВСЕ...

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

Вы можете спросить, а зачем выполнять 10 пункт. Ведь можно и в обработанном TRC-файле искать проблемные запросы. КОНЕЧНО МОЖНО. Не если таких запросов в одном trace несколько сотен, то проще бегло просмотреть или обработать только тотал, а потом перейти к деталям...

Удачи.

вторник, 26 октября 2010 г.

Oracle BI EE 11 g + Windows Server 2008. Часть 1. Ошибка 10.5.1 500 Internal Server Error

Решил фиксировать свой опыт работы с Oracle BI EE 11g.
Сегодня признаюсь в собственной тупости, которая не отпускала меня несколько дней.
Началось все с установки Oracle BI EE 11g на Window Server 2008.
Все прошло ЗАМЕЧАТЕЛЬНО, как по доке...
Но через несколько дней попытки обращения к серверу BI приводили к появлению в браузере такой ошибки.

Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.

Чего только не перепробовал...
Даже один раз все переустановил...
После переустановки все заработало, но работало только до перезагрузки сервера.
Меня это насторожило.
Я еще потупил пару часов, запуская и останавливая с помощью cmd админский сервер и bi_server1, и после этого решил поплакаться нашему админу.
Он решил посмотреть, а не мешают ли мне и моему BI какой-нибудь запущенный сервис Windows. И только тут я заметил, что сервис Oracle process manager (instance1) НЕ ЗАПУЩЕН и стоит в Manual.
НУ НИКАК Я ТАКОГО НЕ ОЖИДАЛ. Всегда сервисы устанавливались в Automatic, а тут...
То ли причина в Windows 2008, толи во мне и невнимательном чтении доки...Не знаю.
Естественно, после запуска сервиса и рестарта админского сервера все заработало.
Вообщем, еще один мне урок на будущее - если есть проблема, начинай в проверке с простого и убедись в работоспособности основных элементов, а уже потом копайся в мелочах.

вторник, 19 октября 2010 г.

Шаг КУГИ к открытому информационному пространству

Добрый день!
Вчера, 18.10.2010, без особых торжеств была запущена новая версия официального сайта КУГИ Санкт-Петербурга.
Наша проектная группа с использованием CMS "1-С Битрикс" разработала основу для публикации информационного содержимого (разработка дизайн и информационное наполнение выполнялись сотрудниками КУГИ).
Кроме этого, с использованием технологии ASP, мы разработали отдельный раздел "Информацонные сервисы КУГИ".



Данные, являющиеся основной этого раздела попадают в базу данных сайта (Oracle XE 10.2) из баз данных рабочих систем.
Процедуры ETL разработаны с использованием Oracle WareHouseBuilder и запускаются ежедневно, обеспечивая посетителей сайта актуальной информацией о свободнных и предлагаемых к аренде объектах, о состояниях расчетов по договорам аренды, о состоянии рассмотрения направленных писем и обращений в Комитет.
В будущем планируется существенно расширять количество сервисов, с помощью которым посетители сайта получать возможность не только получать информацию, но и направлять различные запросы и заявки в КУГИ.

Хочется отметить, что около полугода назад наши сотрудники провели исследования официальных сайтов органов управления имуществом субъектов Российской Федерации.
Хочется отметить, что сервиса подобного уровня не было представлено ни в одном субъекте РФ. Материалы исследования представлены здесь.

Удачи!

PS. Если кто-то может опровергнуть мое последнее замечания - пишите в комментарии.

понедельник, 20 сентября 2010 г.

Конференция SAP в Санкт-Петербурге

Привет!
Немного запоздало, но все-таки поделюсь своими впечатлениями от прошедшей в нашем городе конференции SAP «Инновации в области управления».
Программа была насыщенной и интересной.
С материалами конференции можно ознакомиться здесь.
Тот, кто захочет, может сам сформировать или изменить (если оно уже существует) свое отношение к компании SAP. И по материалам конференции и по материалам их сайта, который очень масштабно представлен в РУНЕТЕ.
Мне же очень хочется поделиться одним выводом, который я сделал для себя, и который может повлиять на мою дальнейшую карьеру.
Во всех выступлениях можно было заметить огромный интерес SAP к компаниям среднего и малого бизнеса. И этот интерес был подкреплен существенными и (по моему мнению) действенными аргументами в пользу SAP.
Какие-же это аргументы:
1. Формирование пакетов стандартных бизнес-процессов, пакетированных и преднастроенных в решении SAP ERP.
2. Как следствие из первого - возможность демонстрации клиенту уже на этапе presale возможностей системы, которая БУДЕТ ФУНКЦИОНИРОВАТЬ у него, а не какого-то абстрактного прототипа.
3. Возможность на первой встрече говорить о стоимости решения и о сроках внедрения с большой степенью достоверности.

Такой подход, майнер майнунг нах, повернет многих средних клиентов к решениям SAP и покажет им (клиентам), что внедрять и использовать SAP BEST PRACTICS можно за разумные деньги, в разумные сроки и не только в крупных компаниях.

Мне кажется, что конец эпохи функциональной (лоскутной) автоматизации уже близок, и мне, как сотруднику компании, которая занимается такой автоматизацией, необходимо крепко задуматься над дальнейшими перспективами. Сейчас мы занимаемся разработкой решений, которые автоматизируют высокоспециальные области деятельности различных организаций. Но завтра, решения в этих областях обязательно появятся в составе ERP систем, которые будут предлагать высокоспециальные функции в составе комплексного пакета, автоматизирующего всю деятельность.
И находить новых клиентов станет все труднее.

И еще одна мысль не дает мне покоя...
"Как жаль, что знаний, которыми я сейчас обладаю, не было со мной 2 года назад, когда я встречался с руководством и владельцами одной агро-фирмы, и которых не смог убедить в том, что вместе с нашей компанией они могут пройти путь внедрения ERP-системы".
Предложение, которое последовало от них было недвусмысленным и заключалось в следующем: "Мы (агро-фирма) хотим реформировать свою деятельность. Считаем, что реформирование деятельности может быть осуществлено в том числе и с помощью внедрения единой системы управления деятельностью предприятия. Мы не имеем опыта в этой области. Мы знаем, что и Вы (моя компания) не имеете опыта в этой области. Как Вы считаете, Вы сможете вместе с нами пройти этот путь от начала и до УСПЕХА?"
Идеальное предложение для входа компании на рынок услуг по внедрению ERP-систем.

Два года назад я не смог на первой встрече убедить руководство в своем потенциале.
Анализируя сейчас свое поведение на той встрече, я понимаю, какие ошибки были мною допущены.
Сейчас я бы такой возможности не упустил.
Остается ждать и искать ту возможность.

Удачи всем...

четверг, 9 сентября 2010 г.

Разработка и внедрение ERP в государственных структурах. Часть 1

Привет.
К идее высказать свое мнение по поводу внедрения ERP в госструктурах и поделиться имеющимся опытом меня подтолкнула эта статья.
Мнение автора я лично разделяю частично...
И частичность эта проявляется в следующем.

По-моему, рассматривая причины "неуспешности" проекта или его невозможности, говорить о принадлежности организации к тому или иному сегмену, который выделил автор, глупо. Это все равно, если рассуждать об обучаемости человека по цвету его кожи или по его национальности.
Если придерживаться мнения автора, то любая крупная организация (с произвольной формой собственности) обречена вести управление с помощью бумаги, ручки и т.п. высокотехнологичных инструментов. Другие средства автоматизации им недоступны.

Причина, как мне кажется, кроется совсем не в этом, а в ЦЕЛЯХ, которые любая организация поставила перед собой, и в том, как внедрение ERP поможет достижению этих целей.
У меня достаточно и положительных и отрицательных примеров  из собственного опыта, для подтверждения этой мысли.

Попробую на этих примерах подтвердить свое мнение.

1. Успешная разработка и внедрение крупных информационных систем.

 1.1.  КУГИ - комитет по управлению городским имуществом Санкт-Петербурга.
1997- 1998 года. В это время задача наполнения бюджета стояла ТАК ОСТРО, что только подумав об этом можно было порезаться.
И в это время руководство КУГИ (Греф Г.О. вложил в этот проект немало усилий), принимает решение о необходимости разработки и внедрения информационной системы учета и управления собственностью, принадлежащей городу.
Руководители Комитета смогли сформулировать для себя цели, которых они смогут достигнуть (главная - инвентаризация и учет прав на собственность города, вовлечение собственности города в хозяйственный оборот и повышение собираемости арендной платы от использования городской собственности за счет полного контроля деятельности). Они, осознав собственные выгоды, смогли обеспечить организационную поддержку всему процессу разработки и внедрения.
В 2000 году система была принята в промышленную эксплуатацию. В 2002 году завершено ее внедрение во всех структурных подразделениях, включая районные агентства КУГИ, которые территориально расположены во всех административных районах города. И по настоящий день данная система успешно развивается и эксплуатируется.
На каждом этапе разработки и внедрения были трудности, но все они были преодолены.  

В ближайшее время я продолжу публикацию примеров успешных и провальных работ в подкрепление своей мысли...

вторник, 7 сентября 2010 г.

Пример использования ORACLE BI EE.Первые впечатления

Как и обещал ранее (Пример использования ORACLE BI EE) делюсь впечатлениями от примера.
1. Установил первую часть (пока без расширений). Обязательно попробую расширения, демонстрирующие интеграцию BI с MapViewer.
2. Вроде все работает.
Примеров очень много - буду разбираться и делиться впечатлениями.


3. Расскажу пока о возникшей проблеме при установке...
В свое время установка Oracle BI была сделана в каталог c:\Oracle\BI11.
Вероятно из-за величины каталога возникла следующая проблема...
В инструкции по установке SampleApp_Deploy_Instructions_825.pdf указано, что необходимо распаковать содержимое архива в конкретный каталог.



Длинна в символах этого каталога впечатлительна... И при попытке распаковки в этот каталог содержимого архива часть файлов не создается, т.к.полный путь вместе с именем файла превышает 260 символов.
Что с этой проблемой делать я еще не выяснил.
Если у кого-то есть решение - подскажите.
Если я найду решение - обязательно сообщу.


Новый президент Oracle

Ghbdtn/
Сегодня появилось сообщение о назначении Марка Херда президентом Oracle.
Мнение свое я составил по информационным материалам, с которыми ознакомился здесь.

Полностью согласен с Ларри Эллисоном, который назвал увольнение М.Херда одним из худших корпоративных решений за последние 25 лет.
Мне кажется, что параноидальные нападки воинствующих феминисток на руководителей, которые оказывают минимальные знаки мужского внимания женщинам, это просто попытки получения каких-либо выгод. Материальных, информационных, каких-либо других, но цели у данного контингента именно такие.

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

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

Пример использования ORACLE BI EE

Привет.
Сегодня заметил, что на сайте Oracle появился пример использования Oracle Business Intelligence EE 11. Ценное знание сосредоточено здесь.
Обязательно сегодня займусь этим вопросом.

Впечатления последуют.

пятница, 3 сентября 2010 г.

Запрос к WebService из PL/SQL

Наша проектная группа сопровождает информационную систему, введенную в эксплуатацию еще в 1998 году. Естественно, если в те прекрасные времена кто-то и слышал про WebService, то слухи эти воспринимались, как сказочное будущее...

Но вот оно настало. Это будущее... А средства, на которых была написана система, не изменились... Портировать ее на новые версии накладно. Заказчик оплачивать данный проект не захочет, а самим инвестировать в эту деятельность тяжело. Придется остановить производство (выпуск новых версий со всякими фичами и исправлением багов). Это никому не понравиться...

И в этот момент возникло у Заказчика желание формировать в системе PDF-документы. И для этих целей как нельзя лучше подходил ему BI Publisher. И лицензии уже есть и опыт использования через Web-интерфейс тоже, а из системы своей его не вызвать.
Можно конечно, как url вызывать и в окне браузера показывать, но хотелось Заказчику текст PDF в базе сохранять.

И решили мы эту задачу так...
В BIPublisher есть WebService, через который можно управлять формированием отчетов и получать в ответ на запрос поток byte, представляющий собой текст отчета.
Но средства, на которых написана система вызов WS не поддерживают.
Остался один выход....
Вызывать WS из PL/SQL кода.

В результате получилось нечто следующее...

Это функция делает запрос к какому-то Webсервису

function makeDealInformationReport(in_report_path in varchar2) return varchar2
IS
ret_value sys.xmltype;
temp xmltype;
begin
ret_value:=xmltype(
start_abstract_process1(
'http://balorasits2.baltros.ru/KugiReports-Reports-context-root/RevisionActWSSoapHttpPort',
'makeDealInformationReport',
'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body xmlns:ns1="http://reports/types/"><ns1:makeDealInformationReportElement><ns1:reportAbsolutePath>'
in_report_path
'</ns1:reportAbsolutePath></ns1:makeDealInformationReportElement></soap:Body></soap:Envelope>'
));

temp := ret_value.extract('//env:Body','xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"');
return temp.extract('//ns0:makeDealInformationReportResponseElement/ns0:result/child::text()', 'xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://reports/types/"').getstringval();
end;
/

Запрос выполняется с помощью функции, которую мы написали для запуска произвольного WebService. Поначалу мы использовали ее для старта BPEL-процесса, а потом использовали уже для любого WS

function start_abstract_process1



(
bpel_endpoint in varchar2, -- можно найти в WSDL сервиса
bpel_action in varchar2, -- Это собственно метод сервиса
bpel_input in clob -- Это значение входных данных (soap-сообщение) 
) return varchar2  - возвращает результат WS


IS
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
launch_url varchar2(240) ;
name VARCHAR2(256);
value VARCHAR2(1024);


begin
soap_request:= bpel_input;
http_req:= utl_http.begin_request(bpel_endpoint,'POST','HTTP/1.1');
utl_http.set_header(http_req, 'Content-Type', 'text/xml;charset=Windows-1251') ;
utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
utl_http.set_header(http_req, 'SOAPAction',bpel_action );
utl_http.write_text(http_req, soap_request) ;
http_resp:= utl_http.get_response(http_req) ;
utl_http.read_text(http_resp, soap_respond) ;
utl_http.end_response(http_resp);


return soap_respond;
EXCEPTION
WHEN utl_http.end_of_body THEN
utl_http.end_response(http_resp);
return soap_respond;
when others then raise;
END; 
/

Ну вот собственно и все.
Если кому-то поможет - буду рад.
В свое время потратили на поиски решения несколько дней...

среда, 1 сентября 2010 г.

Oracle SOA Suite 11g + Window Server 2008 x64

Привет.
Решил поделиться опытом установки нового Oracle SOA Suite на 64х разрядный Win8 R2/

Сам процесс установки подробно описан в документации. В кратце это выглядит так:
1. Ставим 64х разрядную JVM.
2. Ставим WebLogic Server x64
3. Ставим SOA Suite v. 11.2
4. Ставим SOA Suite v. 11.3 (это патч)
5. С помощью RCA создаем репозитарий для WebLogic и SOA
6. Создаем домен в WebLogic
7. Запускаем AdminServer
8. Запускаем ManagedServers

Хочу обратить внимание, что именно на Win8 x64 R2, столкнулись с МАССОЙ ошибок при выполнении шагов 7 и 8...

Ошибки такого типа...
<Critical> <WebLogicServer> <Ischgl> <soa_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1282747421092> <BEA-000286> <Failed to invoke startup class "JRF Startup Class", java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup

java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup 

Оказалось, что пользователь, от имени которого производилась установка (это не локальный и не доменный администратор), НЕ ИМЕЕТ ПРАВ даже на чтение на некоторыx подкаталогов MiddleWare.
После того, как были выданы соответствующие Permission и заново создан домен (см. п.6), старт WebLogic и Soa_Infra прошел без проблем.

Надеюсь, это кому-то поможет.

вторник, 31 августа 2010 г.

BI в органах государственной власти

Сегодня был удачный день! - скажет оптимист.
Пессемист ничего не скажет.
Сегодня была запланирована встреча с руководством КУГИ Санкт-Петербурга (комитет по управлению городским имуществом), на которой должна бла быть представлена концепция использования средств Oracle BI в анализе исполнительской дисциплины сотрудников комитета при работе с документами. Краткий доклад с воодушевляющими лозунгами должен был сделать я. Все было подготовлено... На подготовку потрачена неделя (с помощником, как и водится "см. Формулу любви").
Вообщем процесс запущен -  презентация, макет информационных панелей, отчеты BIPublisher, работающие iBot'ы...

Короткое сообщение из приемной председателя... и...

Встреча эта перенесена. Становиться это известно  за 1 час до ее начала.
Новый срок - 15 сентября. Вот в этот момент пессемист и должен многозначительно ничего не сказать...

Отнесемся к происходящему философски. Меня это не удивило. Это происходит не в первый раз.

Но несмотря на это, оптимист, продолжающий жить во мне, решил не впадать в отчаянье и выплеснуть весь накопленный боевой азарт на аудиторию рангом поменьше, но ГОРАЗДО более благодарную, т.к. является прямыми потребителями или пользователями средств BI.
Итак  - начальник организационного управления КУГИ, начальник отдела контроля оргуправления КУГИ, ведущий специалист отдела контроля оргуправления КУГИ и начальник отдела управления информационных технологий КУГИ решили ознакомиться с предлагаемой концепцией использования средств Oracle BI EE.
Вот пример того, что им демонстрировалось




Я не буду останавливаться на самой презентации и дискуссии.
ГЛАВНОЕ - РЕЗУЛЬТАТ.
И он заключается в том, что собравшиеся сотрудники КУГИ, которые по своим функциональным обязанностям отвечают за своевременное исполнение поручений и "отработку" входящей кореспонденции, приняли важное решение  -

необходимо изменить подход в предоставлении статистических данных о состоянии исполнительской дисциплины и
заменить практику подготовки отчетов уполномоченным сотрудником и рассылке этих отчетов заинтересованным руководителям
на
самостоятельное получение руководителями любого уровня требуемой им информации в тот момент времени, когда она им необходима.
И обеспечить эти изменения должно аналитическое приложение, разрабатываемое нашей проектной группой на базе Oracle BI EE.

Этому то и радуется оптимист, который после 10 лет работы с государственной властью еще продолжает жить во мне.
И живет он во мне во многом благодаря таким людям, с которыми я сегодня с удовольствием общался и видел в нашей беседе со стороны своих коллег искреннюю заинтересованность, высокий профессионализм и желание совершенствования своей деятельности. Эти качества редко можно встретить в чиновнике.
Еще раз хочу поблагодарить начальника оргуправления КУГИ  Дрибнохода Сергея Леонидовича,
начальника отдела контроля оргуправления Петрову Людмилу Александровну, ведущего специалиста оргуправления Старикову Светлану Васильевну и начальника отдела управления информационных технологий КУГИ Кучумова Сергея Владимировича.

понедельник, 30 августа 2010 г.

Oracle Business Intelligence EE 11

СВЕРШИЛОСЬ.
Стала доступна новая версия Oracle BI 11 EE. Доступна здесь.

В нашей проектной группе за 2 недели "развлечений" с новой версией успели добиться следующего:
1. Скачали ))
2. Установили.
3. Запустили пример.
- Поняли, что он сильно урезанный (об этом говориться на стартовом DashBoard). По предлагаемой ссылке  полнофункциональный пример недоступен ((( Пришлось довольствоваться маленьким примером новых возможностей формирвания системы KPI. Впечатляет....
4. Начали экспериментировать с миграторами информационных панелей и отчетов BIPublisher с предыдущей версии. Этот пуснк и занял практически все 2 недели. Выяснилось много ньюансов и по 1 и по 2 направлению... Без проблем смогли перенести только несложный RPD. Presentation Layer и отчеты BIPublisher так запросто перенести не удалось...
Сейчас готовим и описываем рабочую процедуру по переносу промышленных аналитических приложений и рабочей системы формирования отчетности для комитета по управлению городским имуществом Санкт-Петербурга. Когда будет готово - поделюсь информацией.
А пока, навскидку, то, что меня максимально поразило:
- ПОЛНОЕ отсутствие в документации упоминания о WEB service управления хранилищем отчетов BIPublisher. Раньше он назывался PublicReportService. Теперь называется PublicReportWSSService.
- В BI EE пропала поддержка авторизации пользователей на основе Oracle DataBase Security. Теперь вся авторизация сосредоточена в WebLogic. Придется разбираться с этой проблемой. Раньше пользователи имели аккаунты Oracle DataBase и с ними авторизовывались во всех приложениях.
- При миграции Presentation Layer требуется, чтобы на целевом BI сервере был настроен раздел mail, даже усли в мигрируемом  Layer iBot'ы никогда не использовались. В противном случае выдается сообщение об ошибке.
- При миграции Answers'ов корректно не перенеслись описания правил взаимодействия по значениям. Пришлось их заново переопределять в интерфейсе.

Пока все....
Подробности по процедуре миграции, как и обещал, позже

вторник, 16 марта 2010 г.

Крах хранилища данных КУГИ

Привет.
Как я уже говорил ранее, я работаю над проектом автоматизации деятельности КУГИ Санкт-Петербурга. И основное направление этой деятельности - управление городской собственностью. Задач много, и все их перечислять сейчас нет никакой необходимости.
А конкретно сегодня мне хотелось остановиться на событии, которое произошло еще в начале марта... Числа эдак 2 или 3.
Событие это можно было обозначить одним емким словом, которое в переводе с русского на русский означает
"полное прекращение какой-либо полезной деятельности".
Субъектов деятельности был сервер хранилища данных КУГИ.
Остановлюсь на этом понятии подробнее.
КУГИ, как орган государственной власти, подчиняется вышестоящим властным структурам. А как реализуются функции управления???? ВЕРНО. По-разному. Но один из способов - периодический контроль деятельности подчиненных, основанный на предоставлении отчетов о деятельности.
Для получения такой отчетности наша проектная группа разработала и внедрила в КУГИ Хранилище данных.
Принцип его формирования виден на рисунке.

Что можно понять из этого наскального рисунка? Автор вложил следующий смысл.
  1. Имеем несколько оперативных баз данных. С ними работают пользователи и регистрируют в них результаты своей повседневной деятельности.
  2. Наша задача заключается в том, чтобы сведения об этих результатах были превращены в отчеты о деятельности. При этом эти отчеты должны быть:
  • согласованы между собой - этого сложно добиться, если формирование отчетов производиться по информации из оперативных баз данных. Данные меняются и два отчета об одном и том же, но представляющие данные в различных разрезах могут дать различные итоговые результаты, т.к. пользователи работают с данными.
  • содержать одинаковые результаты при формировании их в разное время с одинаковыми входными параметрами.
Этого можно добиться, если информацию их оперативных баз данных перенести в нужный момент времени в отчетную базу и сохранять там эту информацию без изменения.
Так мы ввели понятие "СРЕЗ".

Срез - это обработанная процедурами ETL(extract, transform, load) и загруженная в хранилище данных информация из оперативных баз данных. В последствии информация среза не модифицируется и сохраняется в неизменном виде. Эта информация будет отражать состояние дел на момент в области управления имуществом на момент ее обработки и загрузки. Если в последствии для формирования того или иного отчета мы будем использовать "срез" к примеру от 01.04.2009, то получим согласованные данные на эту дату. И сколько раз бы мы не запускали один и тот же отчет для одного и того же среза  в разное время, мы всегда будем получать одинаковые данные.

Для построения хранилища мы используем Oracle WareHouse Builder. Это средство позволяет проектировать хранилище и процедуры преобразования данных из источников в целевую базу данных. Подробнее см. здесь www.oracle.com/global/ru/solutions/business_intelligence/dw_home.html Как показано на рисунке, процедуры ETL очищают данные, согласуют их между собой (оперативных баз-то много) и переносят в целевую базу или хранилище данных.
Вся эта кухня успешно функционировала с 2008 года. Пока не случился физический крах сервера хранилища.
Знающий человек скажет, ну и что... Должен быть backup, можно восстановиться на момент падения и т.п.
ВСЕ ВЕРНО, но ... вообще дело было так.

Хронология событий..
1. Объема своего дискового массива на сервере для хранения срезов стало не хватать.
2.  Системные админы КУГИ (которые должны обеспечивать эксплуатацию оборудования и серверного хозяйства) подключили сервер к внешнему дисковому массиву и выделили для хранилища на внешнем массиве какой-то раздел (гигов 300- 400).
3. Базовый админ КУГИ добавил в TBS еще пару datafiles, которые расположил на внешнем массиве.
4. В эти файлы началась писаться какая-то информация процедурами ETL при снятии срезов.
5. Пользователи счастливы..
<skipped>
6. Системный админ перегружает внешний массив, забыв что у него есть новый потребитель в виде сервера базы данных храналища.
7. Сервер Oracle хранилища начинает ругаться в alert_log, что произошел error операционной системы и два datafiles не доступны для чтения. И, как следствие, переводит из в OFFLINE.
8. У базового админа много дел и в alert_log он не смотрит...
9. Пользователи уже сдали свои годовые отчеты, хранилище до середины марта им не нужно и они счастливы.
10. Не установленный следствием "нехороший человек" удаляет все архивные логи, за период 3 недель, которые необходимы для восстановления двух переведенных в offline файлов.
<skipped> проходит 3 недели
11. Первое обращение в системе отчетности выявляет проблему. Один TBS, в котором хранятся срезы по финансовой тематике, содержит offline файлы данных.
12. Пользователи перестают быть счастливы.
13. Админы перестают быть счастливы.
14. "Нехороший человек" затаился...
 
Всех "спасло" только следующее:
1. Наша проектная группа не стала впадать в отчаянье.
2. Мы понимали, что datafiles, которые переведены в OFFLINE, на самом деле содержат хорошие и согласованные данные, т.к. записи в эти файлы до падения не производилось в течении двух недель (слои никто не формировал).
3. Надо было объяснить нашу позицию из п.2 серверу ORACLE, который упорно считал, что данные NEED RECOVERY. Его мнение основывалось на SCN, которые у двух файлов отличались от всех остальных.
Покопавшись в инете мы нашли структуру DATFILES и определили, где надо изменить байты, поправив SCN.
15. После тайных манипуляций и корректировки файлов СЛУЧИЛОСЬ ЧУДО - база открылась. За чудо СПАСИБО нашему сотруднику.
16. Мы сопоставили ряд отчетов, получаемых из восстановленного хранилища с бумажными копиями, сохранившимися у пользователей. Результаты совпадали.
17. Пользователи счастливы.
18. Админы счастливы.
19. "Нехороший человек" затаился.
20. Ждем выводы по п.6.и 8.

Желаю всем удачи, не желаю попадать в подобные ситуации, надеюсь, что со временем мне доведется исправить п. 20 хронологии событий и описать принятые меры, которые позволили бы исключить подобные стрессы из нашей жизни.

суббота, 13 марта 2010 г.

Управление собственностью

Привет!
Это я....

А в коляске - моя дочь. Есть еще старший сын. Он уже подрос и может двигать ногами сам.

Этот приятный городок с с восточным колоритом - Линдос на греческом острове Родос.  Мы всей семьей отдыхали там в летом 2008 года. Рекомендую...
На этом можно считать,что знакомство состоялось, и можно перейти основной теме, которой мне хотелось бы поделиться с вами.
Я вот уже 10 лет работаю в одной небольшой IT компании. И все эти 10 лет я занимался сначала разработкой, а теперь руковожу этим процессом. И разрабатывает наша проектная группа информационную систему Комитета по управлению городским имуществом Санкт-Петербурга.
Система эта постоянно совершенствуется, развивается, модернизируется и, как маленький ребенок, требует постоянного присмотра. Вот этим мы и занимаемся.
За прошедшее время сфромировалось кое-какое представление о деятельности органов управления имущестовом и о том, как эту деятельность можно облегчить средствами автоматизации.
Это мне и хотелось бы рассказать. Вы спросите - "Кому эта хрень может быть интересна?".
И я отвечу - "Прежде всего мне". Я напишу это все для себя, чтобы

КОГДА-НИБУДЬ ПОТОМ В ДАЛЕКОМ БУДУЩЕМ (а может и не в таком далеком),
посмотреть на эти заметки и вспомнить путь, которым шел и те развилки, на которых пошел нитуда.

Сейчас я скажу себе "Пока, до встречи".

В следующий раз я расскажу себе о том, как был спасен сервер ORACLE, содержащий аналитическую информацию (хранилище данных) о деятельности КУГИ за прошедшие два года.