За последний год несколько раз устанавливал Oracle Enterprise Manager, всегда натыкался на какие-нибудь проблемы. По количеству ошибок эта программа у меня на 1-м месте, установить с 1-го раза практически невозможно.
В очередной раз устанавливал Oracle Enterprise Manager для
заказчиков. Скачал последнюю версию, с
обнадёживающим названием: «Oracle Enterprise Manager Cloud
Control 12c Release 3 Plug-in Update 1 (12.1.0.3) New!». В компании
Oracle
знают свою репутацию надежности своих программ, поэтому заманивают клиентов магическими словами: «Release 3» (уже 3-я версия), «Update 1» (это не бета-версия),
«12.1.0.3» (здесь 0.3 в конце, версии с 0.0 никто для реальной работы не будет
скачивать).
Для хранения репозитория я решил использовать базу Oracle 12c. В конце года заканчивается официальная поддержка базы версии 11.2, нужно будет переходить на версию 12. Я подумал, что хватит версии Oracle 12с простаивать на тестовых стендах, пора и в бою себя показать.
Создал новую PDB
(подключаемую базу). Запустил установку OEM. С 5-й попытки установка завершилась успешно. Как обычно
потребовались танцы с бубном. Самую большую проблему для меня вызвало аварийное
завершение на шаге «OMS сonfiguration». Ключевые слова в логах:
INFO: oracle.sysman.top.oms:The plug-in OMS Configuration has failed its perform method
SEVERE: Failed executing oracle.sysman.omsca.util.RegisterPostRepSchemaMetadata unable to look up name "jdbc/mds/owsm" in JNDI context
oracle.sysman.top.oms:OMSCA-ERR:Post deploy operations failed. Check the trace file
install weblogic "PolicyManagerValidator" failed to preload on startup in Web application: "/wsm-pm".
Поиск в интернете решения не нашел. Затрудняло анализ, то
что программа установки после этой ошибки удаляла сконфигурированный инстанс weblogic-сервера вместе с
логами. Пришлось несколько раз запускать установку, сохранять логи. После
изучения проблемы была найдена причина: сессия в базе данных от weblogic-сервера аварийно
завершалась с ошибкой ORA-7445:
Exception
[type: SIGSEGV, SI_KERNEL(general_protection)] [ADDR:0x0] [PC:0x22BAA34,
kzrtevw()+9988] [flags: 0x0, count: 1]
Errors in
file /u01/app/oracle/diag/rdbms/emcdb/emcdb/trace/emcdb_ora_36611.trc (incident=7581):
ORA-07445: core
dump [kzrtevw()+9988] [SIGSEGV] [ADDR:0x0] [PC:0x22BAA34]
[SI_KERNEL(general_protection)] []
Падение базы вызывал такой SQL запрос:
На сайте техподдержки support.oracle.com нашел
статью с описанием этой ошибки: Bug 4618715 - Dump inserting into a view with
OLS policy on tables (Doc ID 4618715.8). Первый раз эта ошибка была
обнаружена в 2005 году в версии базы oracle db 9, затем всплывала в версии 10, затем
в 11. Каждый раз помечено, что баг исправлен. В моем случае этот баг всплыл в
версии 12. Официального метода исправления ошибки от oracle нет. Я
установил последний пакет с исправлениями: Patch 17552800 DATABASE PATCH SET
UPDATE 12.1.0.1.2, в нем этот баг не исправился. Oracle Label security (OLS)
у меня уже был отключен.
Я сделал несколько экспериментов и нашел такой workaround: нужно вручную
отключить политики OLS у всех таблиц, участвующих в запросе. Т.е. смотрим проблемный
SQL запрос,
находим таблицы входящие в запрос, и отключаем у всех таблиц все политики. В
нашем случае представление gc_current_deployed_plugin
ссылается на 4 таблицы, у одной из них есть политики, отключаем так:
BEGIN
SYS.DBMS_RLS.DROP_POLICY('SYSMAN', 'EM_MANAGEABLE_ENTITIES', 'TARGET');
END;
SYS.DBMS_RLS.DROP_POLICY('SYSMAN', 'EM_MANAGEABLE_ENTITIES', 'TARGET');
END;
Сделать это нужно в середине инсталляции EM12, когда таблицы репозитория уже созданы,
но установщик еще не дошел до шага конфигурации OMS сервера. В итоге успешно заканчиваем инстилляцию.
К сожалению этот эксперимент показал, что версия oracle db 12c еще "сырая" и в продакшн ей выходить еще рано. Ждем 1-го сервис-пака.
Доброго времени суток, коллеги.
ОтветитьУдалитьУдалось успешно и достаточно беспроблемно установить:
ОС: CentOS 7
СУБД репозитария: 12.1.0.2 + патчи 12.1.0.2.160119 (DBPSU/GIPSU + OJVM Patch) и 20243268
EMCC: 12.1.0.5
БД репозитария - в pluggable базе.
Единственная проблема - при сборке возникает известная ошибка (не собирается webcache):
gcc -o webcached -L/u01/em12c/middleware/Oracle_WT/webcache/lib/ -L/u01/em12c/middleware/Oracle_WT/lib/ -L/u01/em12c/middleware/Oracle_WT/lib/stubs/ main.o libwebcache.a -Wl,-rpath,/u01/em12c/middleware/Oracle_WT/lib -liau -lnnz11 -lxml11 -lclntsh -lcore11 -lunls11 -lnls11 /u01/em12c/middleware/Oracle_WT/lib/liboraz.a -ldmsapp -lons `cat /u01/em12c/middleware/Oracle_WT/lib/sysliblist` -lrt -Wl,-rpath,/u01/em12c/middleware/Oracle_WT/lib -lm `cat /u01/em12c/middle
INFO: 10/23/15 10:23:56 PM SGT: ware/Oracle_WT/lib/sysliblist` -lrt -ldl -lm -L/u01/em12c/middleware/Oracle_WT/lib
Лечится исправлением файла $EMCC_HOME/Oracle_WT/lib/sysliblist - добавляем в конце -ldms2
Надеюсь кому-нибудь пригодится.