netxms with oracle 10+ backend

Started by andrey--k, February 14, 2014, 12:56:00 AM

Previous topic - Next topic

andrey--k

Looks like missing dependencies or not included library:

Configuration Debian 7.4, Oracle 11_2 on separate server.

$nxdbmgr init /usr/share/netxms/sql/dbinit_oracle.sql
NetXMS Database Manager Version 1.2.12 Build 7861

Unable to load and initialize database driver "/usr/lib/netxms/dbdrv/oracle.ddr"

$ sudo cat /var/log/netxms

[19-Feb-2014 10:25:07.642] Log file opened
[19-Feb-2014 10:25:07.642] [DEBUG] Code page set to ASCII
[19-Feb-2014 10:25:07.643] [INFO ] Platform subagent "/usr/lib/netxms/linux.nsm" successfully loaded
[19-Feb-2014 10:25:07.643] [DEBUG] Debug callback set for DB library
[19-Feb-2014 10:25:07.650] [ERROR] Unable to load database driver module "oracle.ddr": libclntsh.so.11.1: cannot open shared object file: No such file or directory

Victor Kirhenshtein

You have to install Oracle client manually because it's not an open source software and there are no package in Debian repository for it. I recommend using Instant Client (http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html) version 11.2.0.4.0. Recommended location - /opt/instantclient_11_2.

Best regards,
Victor

andrey--k

#17
TO WIKI:
Debian 7
Oracle 11.2g on separate server:

#less /etc/netxmsd.conf

DBDriver = /usr/lib/netxms/dbdrv/oracle.ddr
DBServer = ServerIP/Hostname.DomainName #Here is service (full database name), not SID
DBName = netxms
DBLogin = netxms
DBPassword = PaSwD

download from oracle web:
instantclient-basic-linux.x64-11.2.0.4.0
unpak into /opt/instantclient_11_2

create file
less /etc/ld.so.conf.d/oracle.conf

/opt/instantclient_11_2

Reload the list of system-wide library paths:

ldconfig

on oracle:

-- USER SQL
CREATE USER netxms IDENTIFIED BY netxms
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
-- QUOTAS
ALTER USER netxms QUOTA UNLIMITED ON USERS;
-- ROLES
GRANT RESOURCE TO netxms ;
GRANT CONNECT TO netxms ;

on Debian:

nxdbmgr init /usr/share/netxms/sql/dbinit_oracle.sql

if next errors appeared:
Quote
Initializing database...
SQL query failed (ORA-01400: cannot insert NULL into ("NETXMS"."USERS"."FULL_NAME")):
INSERT INTO users (id,name,password,system_access,flags,full_name,                    description,grace_logins,auth_method,guid,                    cert_mapping_method,ce                           rt_mapping_data,                    auth_failures,last_passwd_change,min_passwd_length,                    disabled_until,last_login)    VALUES (0,'admin',            '3A                           445C0072CD69D9030CC6644020E5C4576051B1',            65535,8,'','Built-in system administrator account',5,0,            '00000000-0000-0000-0000-000000000000',0,'',0,0,0,0                           ,0           )
Database initialization failed
andrey@i0debnxms:/usr/share/netxms/sql$ sudo vi db
dbinit_db2.sql       dbinit_mysql.sql     dbinit_pgsql.sql     dbschema_db2.sql     dbschema_mysql.sql   dbschema_pgsql.sql
dbinit_mssql.sql     dbinit_oracle.sql    dbinit_sqlite.sql    dbschema_mssql.sql   dbschema_oracle.sql  dbschema_sqlite.sql
andrey@i0debnxms:/usr/share/netxms/sql$ sudo vi dbinit_oracle.sql
[sudo] password for andrey:
andrey@i0debnxms:/usr/share/netxms/sql$ nxdbmgr init /usr/share/netxms/sql/dbinit_oracle.sql
NetXMS Database Manager Version 1.2.12 Build 7861

Initializing database...
SQL query failed (ORA-01400: cannot insert NULL into ("NETXMS"."USERS"."CERT_MAPPING_DATA")):
INSERT INTO users (id,name,password,system_access,flags,full_name,                    description,grace_logins,auth_method,guid,                    cert_mapping_method,cert_mapping_data,                    auth_failures,last_passwd_change,min_passwd_length,                    disabled_until,last_login)    VALUES (0,'admin',            '3A445C0072CD69D9030CC6644020E5C4576051B1',            65535,8,'admin','Built-in system administrator account',5,0,            '00000000-0000-0000-0000-000000000000',0,'',0,0,0,0,0           )
Database initialization failed
andrey@i0debnxms:/usr/share/netxms/sql$ sudo vi dbinit_oracle.sql
andrey@i0debnxms:/usr/share/netxms/sql$ nxdbmgr init /usr/share/netxms/sql/dbinit_oracle.sql
NetXMS Database Manager Version 1.2.12 Build 7861
edit dbinit_oracle.sql
find and change from:

           65535,8,'','Built-in system administrator account',5,0,
           '00000000-0000-0000-0000-000000000000',0,'',0,0,0,0,0

to:

           65535,8,'admin','Built-in system administrator account',5,0,
           '00000000-0000-0000-0000-000000000000',0,' ',0,0,0,0,0

!!! here is changed admin as full username and whitespace as sertificate

before rerunning nxdbmgr init i have made drop and create user once more.

andrey--k

Created wiki page.
http://wiki.netxms.org/wiki/Oracle
Please if something is incorrect, please apply changes there.

Percy

hi Victor,

Great help...thanks a lot.
its working now

regards  !
Percy