А у меня все работает!
Меня поражают программисты, которые в ответ на обрисованную проблему заявляют “А у меня все работает!”. В смысле, сами дураки и сами разбирайтесь. Сразу видно, что люди не работали с внешним клиентом, а сидели или в госконторе, или на внутренней автоматизации, где главная задача спихнуть работу на кого-нибудь другого. А клиент терпеть этого не будет. Он пойдет и найдет кого-нибудь подобрее, того, кто все-таки решит его проблему. Это была присказка, а сказка впереди. Читать любителям покопаться в кишочках Windows.
Ставили мы тут на днях Oracle BI EE. В самом начале установки этот самый Oracle BI заявил, что может работать только под Win XP, 2000,2003 или на худой конец на Vista, а у вас тут неизвестно что стоит, инсталлироваться не буду! Ладно бы там действительно стояло что-то невообразимое, но ведь обычный Windows XP SP2, на котором еще и MS SQL сервер крутится нормально. Закралась у меня крамольная мысль, что заклятые друзья Oracle и Microsoft не любят друг друга. Cлышал я такое насчет СУБД Oracle и MS Sql Server, очень плохо уживаются на одном компьютере, но здесь, все-таки не СУБД. И к тому же лично я ставил на аналогичную конфигурацию, и SQL работал и IIS и Oracle BI и все на одном компьютере.
Можно было бы сказать сказать, что на других машинах нормально ставится а на вашей – “винда гнутая”, дайте мне другую машинку, но для меня разобраться всегда интереснее чего же там “погнулось”. Победить эту железяку и заставить ее делать то, что мне нужно, не в этом ли кайф ITшника? К тому же машинку нам со скрипом выделили. Вы ведь сами понимаете, что лишняя установка… тем более такой не маленькой программки, и никогда не знаешь не рухнет ли сервер после этого…
Долго ли, коротко ли, а Oracle BI сам не установится, нужно ставить. И начали разбираться. Для начала выяснили версию (просто командой ver), видим 5.1.2600, вполне нормальная на вид, ничем не хуже остальных. Копаем глубже. Выясняем, что Oracle BI версию системы проверяет при помощи программы systeminfo.exe. Запускаем ее из консоли, а она нам вместо информации о системе, выдает короткое и емкое, как выстрел пошел в баню “класс не зарегистрирован“. Так, приехали, “винда” решила посопротивляться. Давайте посмотрим сведения о системе в графическом виде. Обычно, это происходит здесь Пуск=>Программы=>Стандартные=>Служебные=>Сведения о системе.
Запускаем, а вместо сведений о системе нам выдается сообщение тебе же сказали, пошел в баню!. “Нет доступа к средствам WMI. Файлы управления Windows были перемещены или удалены“. Ну все, действительно “погнулась” сильно. Ладно, если файлы потерялись, то может быть проблема с диском? Запускаем сканирование, все прошуршал, и ничего страшного не нашел. Ладно, а как там с вирусами? Не пригласить ли нам мистера Касперского? Ночь напряженной работы и целых 35% просмотрено приглашенной звездой и опять ничего, дальше смотреть не стали.
Ладно, у нас есть в запасе хорошая программка sfc, запускаем ее с ключиком sfc /scannow и она восстанавливает потерянные системные файлы. Запускаем, ждем, все скопировалось, проблема осталась. Ладно, посмотрим может у нас служба WMI не запущена? Заходим в управление компьютером и смотрим службы, … а как там с зависимостями, говорят, что должна зависеть от RPC. Переключаемся во вкладку “Зависимости” и видим сообщение ну ты непонятливый, тебе же сказали “класс не зарегистрирован!“. Заглянули в протокол сообщений, а там еще интереснее, и ошибка 80040154 и не может подключиться к WMI, и не может запустить службу, и Windows Installer не запускается, в общем, полный бардак.
Следуя девизу:
If you want to feel OK, install your Windows every day!
Но не сильно надеясь на результат, систему переставили поверх старой (форматировать сервер как-то жалко), что, как и ожидалось, ситуацию в лучшую сторону не изменило.
Не буду описывать всего того, что пробовали для восстановления нормальной работы. И WMI переставляли и DCOM настраивали, кстати, в dcomcnfg, другая ошибка выскакивала – 8000ffff. А решение нашли тогда, когда включили в локальных политиках безопасности аудит отказа доступа к объектам. Тут-то и открылась истина. Не может в отдельные (!) ветки реестра писать система. Прямо списком нам и дала, куда записать хотела, но не смогла.
Оказалось, что какой-то умник (найти крайнего не удалось) для пущей безопасности поставил в правах доступа “только чтение” на отдельные ветки реестра, именно туда, куда DCOM и записывает свои данные, чтобы какой-нибудь вирус не нарушил работу сервера. Т.е. все, что установлено – работает, а новое поставить – нельзя, сплошные ошибки.
Открыли права, система тут же заработала как нужно. И Windows Installer сразу встал, и WMI заработал, и ошибки страшные исчезли, и Oracle BI EE прекрасно установился. Вот теперь и у меня все работает.
Сейчас думаю, ограничивать ли снова права в реестре (уже после установки), тогда точно никакой админ вирус ничего не испортит. Только где-то нужно записать, чтобы не забыть… Ну да, в блог и запишу, может кому еще пригодится
Ссылки по теме:
- Что такое Oracle BI Publisher – статья о возможностях
- Oracle BI Publisher: быстрый старт – дистанционное обучение