Partilhar via


История об установке Microsoft Dynamics Ax 4.0 и Oracle 10G

Взялся устанавливать Microsoft Dynamics Ax (DAX) 4.0 на Oracle 10G.

Как всегда вначале пробовал, потом читал документацию. Как все, когда с наскока не получается...

 

Установил Oracle 10G R2, создал экземляр базы данных, завел пользователя, чью схему будет использовать DAX для хранения объектов. В моем случае, пользователь DMO с паролем.

Изменил sqlnet.ora согласно документации (смотрел по диагонали):

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT, HOSTNAME)

SQLNET.AUTHENTICATION_SERVICES= (NONE, NTS)

На этой же машине уже был установлен экземпляр AOS, настроенный на MS SQL Server. Думаю, раз база есть, схема есть, остается добавить пользователя, под которым запускается AOS к группе пользователей экзепляра базы данных Oracle (группа ORA_OPER в операционной системе), и дело в шляпе.

Пробую, меняю конфигурацию AOS с MS SQL на Oracle и получаю сообщение об ошибке: "Object Server 02: Fatal SQL condition during login. Error message: "ORA-01017: invalid username/password; logon denied".

Ладно, пользователь у нас плохой, прав ему мало, попробую под собой, я же вроде как администратор, в группе ORA_ADMIN присутствую, "connect /as sysdba" проходит. Та же ошибка...

Начинаю спрашивать коллег - отвечают, что 'переключить' никак не получится, AOS не сможет создать системные таблицы в схеме. Выход только один - проходить исталлятор и им новый экземпляр AOS с созданием 'базы'. Хорошо, инсталлятор, так инсталлятор. Странно правда, что ошибка о логине...

Запускаю инсталлятор, вбиваю пользователя домена для AOS на странице "Select Account for the Application Object Server" и пользователя - владельца схемы. Опять ошибка: “Setup could not connect to the database server…”

Ничего не понимаю, что еще надо-то? У пользователя AOS прав достаточно, у пользователя - владельца схемы - тоже. Тестирование соединения под каждым из них проходит.

Получается, что принадлежность к операторам или администраторам экземпляра Oracle ничего не дает - инсталлятор не понимает как этим можно оперировать.

После долгих разбирательств и чтения документации к DAX (только лишь первой страницы об установке под Oracle, но более внимательно, чем первый раз), получается следущая последовательность:

  • Изменение sqlnet.ora как описано выше.
  • Создание пользователя - зеркала доменного пользователя в экземпляре базы данных Oracle, под которым будет запускаться инсталлятор по схеме и предоставление ему прав. Пользователь должен иметь внешнюю аутентикацию:

create user "OPS$[DOMAIN\USERNAME]" identified externally;

grant all privileges to "OPS$[DOMAIN\USERNAME]";

Где пользователь Админ1 домена Корп будет выглядеть как "OPS$Корп\Админ1".

  • Создание пользователя - зеркала доменного пользователя базы данных Oracle, под которым будет запускаться AOS после прохождения инсталлятора. Пользователь должен быть отличен от пользователя, запускающего инсталлятор, по той же схеме, как и предыдущего, с внешней аутентикацией. Например, получим "OPS$Корп\AOS1".
  • Создание пользователя - владельца схемы со стандартной аутентикацией в Oracle (т.е. с указанием пароля). В моем случае - DMO.
  • Вход в операционную систему сервера, где планируется установить AOS под пользователем Корп\Админ1.
  • Запуск исталлятора DAX и прохождение его до конца :)
  • После чего пользователя "OPS$Корп\Админ1" в экземпляре базы данных Oracle можно выключить, до следующей установки он не нужен.

В итоге, результат был достигнут. Правда через несколько дней вместо получаса - документацию читал по диагонали...

    

P.S. Официально Oracle 10G будет поддерживаться DAX начиная с 4.0 SP1, 4.0 RTM не поддерживает Oracle.