Установка на сервер с Oracle 10g

Started by ccawa, July 17, 2009, 05:35:43 AM

Previous topic - Next topic

ccawa

Здравствуйте!
Есть проблема с установкой NetXMS на машину WinXP/Oracle 10g. После копирования файлов программы появляется окно Server Configuration Wizard, в котором указываю Oracle в качестве database engine (driver - oracle.ddr). Сразу после этого становится недоступной опция Create New Database, возможен только вариант Use Existing database. Ввожу в оставшиеся доступные поля Oracle connect string, DB login и DB Password корректную информацию (в tnsnames машина прописана, пользователь DBA создан). Далее следует череда окон с настройками Polling, SMTP и т.д. В итоге получаю окно с ошибкой Unable to connect to database, что по-своему логично - БД с именем metxms_db в Oracle не существует, а автоматически ее создать установщик не хочет.
Почему пропадает пункт Create New Database? Как тогда самому создать требуемую БД для NetXMS?

ccawa

В Oracle вручную создал базу netxms_db, но всё равно Unable to connect to database. Как правильно установить NetXMS на Oracle? Пожалуйста, дайте совет.

macro

У Oracle отличная от большинства других баз концепция организации данных. Базой называется совокупность физического хранилища (файлы, тейблспейсы) и процессов, обслуживающих это хранилище. Внутри одной базы живет множество пользователей и каждому выделяется свое место для хранения пользовательских структур - называется схема. Имея уже созданную при инсталяции Оракла базу вам надо просто создать новую схему (либо командой create user либо с помощью GUI тулов Оракла) и указать имя пользователя этой схемы и пароль. Вот как выглядит вырезка из netxmsd.conf :


# Driver - Oracle
DBDriver = oracle.ddr
# Oracle SID (check tnsnames.ora)
DBServer = ODB1
# Not used by NetXMS Oracle driver
DBName = netxms_db
# Oracle user name (schema)
DBLogin = NETXMS
# Oracle user password
DBPassword = NETXMS


И еще момент - лично у меня NetXMS на Оракле поднялся только после того, как я установил переменную окружения NLS_LANG - без нее драйвер законектиться не мог.

ccawa

macro, спасибо за помощь, но проблему так и не решил.
Как делал (основные шаги):
1. Установил СУБД Oracle 10g
2. Прописал NLS_LANG = RUSSIAN_CIS.CL8MSWIN1251,
3. Создал БД netxms_db
4. В этой БД создал табличное пространство netxms.
5. Создал пользователя netxms, которому назначил роли CONNECT, RESOURCE и DBA. Default Tablespace - netxms. Проверил, что новый юзер легко входит в Enterprise Manager.
После этого запускаю NetXMS Server Configuration Wizard, прописываю DB login и password созданного пользователя - и повторяются события первого поста. Что я мог упустить из виду?

macro

Enterprise Manager - не показатель имхо, я не знаю как он ходит в базу, но вполне возможно, что не через sqlnet. Для начала удостоверьтесь, что работает статндартная схема подключения - через, скажем, sqlplus. Запустите коммандную строку (cmd.exe), из нее:
sqlplus NETXMS/NETXMS@NXDB (естесно заменив на ваши параметры). Если sqlplus-ом подключиться удалось, то переходим к NetXMS:

1) Удаляем юзера и схему NETXMS (через тот же Enterpise Manager) и пересоздаем заново (на случай, если Configuration Wizard там уже что-то сделал). Ролей должно хватить CONNECT и RESOURCE, DBA ему не нужен.
2) Заполняем схему структурами и данными из командной строки:
nxdbmgr -c C:\netxmsd.conf init C:\NetXMS\lib\sql\dbinit_oracle.sql
3) Если nxdbmgr прошел успешно, пробуем запустить сервер в режиме отладки:
netxmsd -c C:\netxmsd.conf -D 9
4) Если сервер запустился и работает - все в порядке, если вышел, то постим лог сюда и пробуем разобраться  :)