In this blog, I wanted to share my experience on how I deployed OTRS with Oracle as backend database. Initially during this deployment, I have come across multiple errors and obstructions. But I managed to fix everything by referring to multiple guides and forums. I am writing this blog to share with you the correct method of installing OTRS with Oracle as a backend data base, based on my leanings.
Initially I couldn't get OTRS running. I was getting these errors.
"/var/log/httpd/error_log was recorded with errors as "[error] install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libocci.so.12.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line..."
AND
" [error] install_driver(Oracle) failed: Attempt to reload DBD/Oracle.pm aborted.\nCompilation failed in require at (eval 169) line 3.\n\n at /opt/otrs//Kernel/System/DB.pm"
However, after referring to multiple guides and forums, I discovered the correct method of deploying OTRS with Oracle as backend database.
The correct method of deploying OTRS with Oracle Database.
The packages you will need here are Oracle Instant Client 12.1.0.2, OTRS 3.3, httpd and required httpd perl modules. Refer to OTRS deployment guide for information on required httpd modules.
Download and Install Oracle Instant client packages. You will need a active oracle login to download it.
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
To Install these packages, login as root and run this command
$ rpm -Uvh oracle-instantclient12*.rpm
Create oracle.sh under /etc/profile.d/, with below environment variable.
$ vi /etc/profile.d/oracle.sh
#Add these environment variables. export ORACLE_HOME=/usr/lib/oracle/12.1/client64 export LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH
Execute this script to set the required environment variables in your current session.
$ sh /etc/profile.d/oracle.sh
Verify if the Oracle Instant Client is functioning.
$ su - root $ echo $ORACLE_HOME #It should show you the path /usr/lib/oracle/12.1/client64 $ sqlplus /nolog
If you see a SQL Prompt then Oracle client is working. If otherwise, probably you downloaded a wrong Oracle Instant Client.
Next step is to install DBD::Oracle module.
$ yum install perl-DBI
$ wget http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74.tar.gz
$ tar -xvf DBD-Oracle-1.74.tar.gz
$ cd DBD-Oracle-1.74
$ perl Makefile.PL -V 12.1
$ make install
After the installation of DBD::Oracle, create necessary links and cache for DBD libraries.
$ vi /etc/ld.so.conf.d/oracle.conf
#Insert this line /usr/lib/oracle/12.1/client64/lib
Then run this command
$ ldconfig -v
Now restart/start httpd
$ /etc/init.d/httpd restart
what version of otrs is recomended install .
ReplyDeletehttp://ftp.otrs.org/pub/otrs/RPMS/rhel/6/
thanks very much
i have this mesaage Can't connect to database, Perl module DBD::Oracle not installed! when i enter the next url http://mi-ip/otrs/installer.pl can you help me
ReplyDeleteThanks! It saved my day :)
ReplyDelete