Ad Widget

Collapse

Upgrade Zabbix to 1.8 with new Oracle OCI

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • coop
    Member
    • Aug 2009
    • 46

    #1

    Upgrade Zabbix to 1.8 with new Oracle OCI

    right now I'm running 1.6.7 with Oracle db using the sqlora8 library.

    Release notes indicate new connectivity to Oracle:


    6.11. Native support of Oracle
    Previous version of Zabbix had a dependency on a third party library called sqlora8. The library is not actively developed any more. Oracle support is now implemented using native Oracle Call Interface, which greatly improves performance and stability of Zabbix setups using Oracle as a back-end database.


    I compile my own binaries since I'm running on AIX so I checked the regular installation steps in the 1.8 manual:

    2.4. Installation from Source
    2.4.1. Software requirements
    Building of Zabbix server or agents from sources requires additional software.
    The following software is required to compile Zabbix:
    One of the following database engines:
    Oracle Headers and Libraries
    Sqlora8 headers and libraries are required


    and

    Step 4
    Configure and compile the source code for your system
    shell> ./configure --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp --with-jabber --with-libcurl # for Oracle + Jabber + WEB monitoring

    Use flag –with-oracle to specify location of sqlora8 library. The libary is required for Oracle support. The library can be found at libsqlora8 homepage



    So..... Is there updated documentation for building binaries with the new Oracle mechanism? What files / clients / libraries are required for this?

    I'm working my way through the compile and troubleshooting the following:

    checking for Oracle OCI headers in /oracle/app/oracle/10.2/rdbms/public...yes
    checking if Oracle OCI version is >= 10.0... yes
    checking for Oracle version >= 11.x to use -lnnz11 flag... no
    checking for Oracle version >= 10.x to use -lnnz10 flag... yes
    checking for Oracle OCI libraries in /oracle/app/oracle/10.2/lib... not found
    checking if Oracle support is enabled... no
  • untergeek
    Senior Member
    Zabbix Certified Specialist
    • Jun 2009
    • 512

    #2
    I would very much like to know the answer to this as well, as we are an Oracle shop here.

    Comment

    • untergeek
      Senior Member
      Zabbix Certified Specialist
      • Jun 2009
      • 512

      #3
      What did your configure line look like?

      I was able to get my configure to complete by doing the following:

      Code:
      CC=/usr/bin/cc CFLAGS="-I/opt/sfw/include -I/usr/local/include" LDFLAGS="-L/opt/oracle/product/10.2.0.1/lib32 -R/opt/oracle/product/10.2.0.1/lib32" ./configure --with-net-snmp=/usr/local/bin/net-snmp-config --with-libcurl=/opt/sfw/bin/curl-config --with-oracle --enable-server --enable-proxy --enable-agent
      Your individual options may vary.

      Comment

      • coop
        Member
        • Aug 2009
        • 46

        #4
        Thanks for the response! I think I'm in good shape now.

        My instance of Oracle on AIX is 64bit which means that the $ORACLE_HOME/lib directory contains the 64bit libraries. If you want to access the 32bit libraries you need to point to $ORACLE_HOME/lib32.

        I can modify the configure script on line 8934 from:

        oracle_lib_dir="$oracle_home_dir/lib"
        to
        oracle_lib_dir="$oracle_home_dir/lib32"

        This allows Configure to work. However Make Install replaces Configure without the changes.

        My Config line is; ./configure --enable-server --with-oracle --with-net-snmp=/opt/freeware/bin/net-snmp-config --with-libcurl=/usr/local/bin/curl-config

        On a completely side note, once the configure is finished I always have to modify ./src/libs/zbxsms/sms.c to remove the CRTSCTS variable from the code. AIX does not recognize this variable which is related to serial port communications I believe.

        Just in case that might help someone else.
        Last edited by coop; 08-12-2009, 20:17.

        Comment

        • untergeek
          Senior Member
          Zabbix Certified Specialist
          • Jun 2009
          • 512

          #5
          Yeah, I found that it would not compile with the 64bit Oracle libraries either, hence my LD line before the configure. Good luck!

          Comment

          • coop
            Member
            • Aug 2009
            • 46

            #6
            Thanks!

            I tried the LDFLAGS but got the same configure error.

            I also tried using the --with-oracle-lib option in my configure line but it seemed to completely ignore it..... Even when specifying LIB32 it only looked at LIB.

            I finally just changed the configure script and manually added lib32 to the path. When I ran make install it replaced my modded configure script with the original again for some reason so I modded that one too and the Make Install seemed to complete fine.

            On to the database patch!

            Comment

            • untergeek
              Senior Member
              Zabbix Certified Specialist
              • Jun 2009
              • 512

              #7
              Must be a difference between AIX and Solaris, then.

              I'm backing up my DB right now, then I'm off to patch my DB too!

              Comment

              Working...