Ad Widget

Collapse

Установка Zabbix-server на Oracle 11g. Oracle OCI library not found

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Agzhigitov
    Junior Member
    • Aug 2011
    • 20

    #1

    Установка Zabbix-server на Oracle 11g. Oracle OCI library not found

    Версия Zabbix 1.8.5. Версия Oracle 11gR2. ОС CentoOS 6
    oracle .bash_profile
    Code:
    PATH=$PATH:$HOME/bin
    
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
    export ORACLE_SID=rezerv
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=$PATH:$ORACLE_HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH
    Oracle поставился нормально. Скрипты zabbix'а отработали нормально. Пытаюсь собрать zabbix вот так:
    Code:
    ./configure --enable-server --enable-ipv6 --with-libcurl --with-unixodbc --with-net-snmp --with-ssh2 --with-ldap --with-openipmi --with-oracle=$ORACLE_HOME --with-oracle-lib=$ORACLE_HOME/lib --enable-agent
    Он мне в конце пишет:
    Code:
    checking for -rdynamic linking option... yes
    checking if Oracle support is enabled... no
    configure: error: Oracle OCI library not found
    Скачал с сайта oracle пакет oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm? Но его еще не устанавливал, так как библиотека oci вроде идет в стандартной установке Oracle 11gR2, или же его надо ставить? Что еще надо установить помимо
    racle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm, Установку Zabbix'а провожу под root
    Заранее благодарю!!!
    Last edited by Agzhigitov; 01-09-2011, 10:20.
  • Agzhigitov
    Junior Member
    • Aug 2011
    • 20

    #2
    Друзья что, вариантов нет?

    Comment

    • dima_dm
      Senior Member
      • Dec 2009
      • 2697

      #3
      Сам не ставил Zabbix c Oracle, но по файлу configure видно, что в этот момент пытаются скомпилировать вот такой код.
      Проверьте наличие необходимых header файлов и т.д.
      Code:
      #include <oci.h>
      int
      main ()
      {
      
      OCIEnv* envh = 0;
      OCIEnvCreate(&envh, OCI_DEFAULT, 0, 0, 0, 0, 0, 0);
      if (envh) OCIHandleFree(envh, OCI_HTYPE_ENV);
      
      
        ;
        return 0;
      }

      Comment

      • Agzhigitov
        Junior Member
        • Aug 2011
        • 20

        #4
        dima_dm спасибо за ответ. Скажи пожалуйста где посмотреть эти header файлы?

        Comment

        • dima_dm
          Senior Member
          • Dec 2009
          • 2697

          #5
          Originally posted by Agzhigitov
          dima_dm спасибо за ответ. Скажи пожалуйста где посмотреть эти header файлы?
          Поищите файл oci.h, обычно они в devel пакетах (rpm) поставляются.

          Comment

          • chukov
            Junior Member
            • Dec 2011
            • 1

            #6
            Попробуйте поставить Devel пакет.
            oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
            Тут для x86
            далее в файле /etc/ld.so.conf добавляем строчку
            /usr/lib/oracle/instantclient
            после чего даём команду
            >ldconfig
            Теперь система знает где искать библитотеки от OIC. Далее можно попробовать sqlplus в работе и проверить работоспособность клиента.
            Мучился с подобной ерундой когда дружил Oracle с Python

            Comment

            • zalex_ua
              Senior Member
              Zabbix Certified Trainer
              Zabbix Certified SpecialistZabbix Certified Professional
              • Oct 2009
              • 1286

              #7
              То же самое но немного альтернативы:
              Извините что без перевода
              For x86_64

              From this page: http://www.oracle.com/technetwork/to...ft-092277.html

              Download:
              oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
              oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm

              и ставим их.

              For library linkage every time when libraries cache (ld.so.cache) automatically rebuilds need to add the path:
              echo "/usr/lib/oracle/11.1/client64/lib" > /etc/ld.so.conf.d/oracle-client-11.1.conf
              считаю это лучшим чем править дефолтный /etc/ld.so.conf

              Then to update ldd cache (/etc/ld.so.cache) immediately execute:
              ldconfig

              Конфигурируем:
              ./configure --with-oracle --with-oracle-include=/usr/include/oracle/11.1/client64/ --with-oracle-lib=/usr/lib/oracle/11.1/client64/lib ...

              Часть исключительно для Дебиан:
              NOTE: to install on deb-based systems, 'alien' utility can be used:
              alien -i some_file_above.rpm

              Requirements for oracle client (Debian, Ubuntu):
              apt-get install libaio1 (required for /usr/lib/oracle/11.1/client64/lib/libclntsh.so)

              In the CentOS a package libaio-0.3.106-5 seems is preinstalled.

              Comment

              Working...