最近接触了下监控平台Zenoss,其中涉及到Oracle的插件ZenPacks.community.OracleMon,使用该插件必须要安装Python的cx_Oracle。接下来说说如何安装它。
一、涉及软件包
1、cx_Oracle
下载地址:http://sourceforge.net/projects/cx-oracle/files/?source=navbar
我下载的是最新版的cx_Oracle-5.1.2.tar.gz
2、Oracle_client
使用cx_Oracle必须要安装Oracle_client端,或者你已经安装了Oracle数据库。
下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
以连接Oracle11为例需要下载以下rpm包:
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
软件包都下载完后,我们开始来安装。
二、源码安装
1、Oracle_client端安装:
# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-tools-11.2.0.4.0-1.x86_64.rpm
# echo /usr/lib/oracle/11.2/client64/lib/ >> /etc/ld.so.conf
# ldconfig
如果不进行ldconfig配置,在运行cx_Oracle时会报以下错误:
libclntsh.so.11.1: cannot open shared object file: No such file or directory
在这里需要说明下,你使用哪个帐户装cx_Oracle就需要配置哪个帐户的环境变量,以下已root帐户为例;
如果不配置环境变量、或环境变量配置不正确,在安装cx_Oracle时,会报各种错误,比如说:
oci.h: No such file or directory
#vi ~/.bashrc
export TNS_ADMIN="/usr/lib/oracle"
export ORACLE_HOME="/usr/lib/oracle/11.2/client64"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ORACLE_HOME}/lib"
export PATH="${PATH}:${ORACLE_HOME}"
#source ~/.bashrc
3、源码安装
#tar -zxvf cx_Oracle-5.1.2.tar.gz
#cd cx_Oracle-5.1.2
#python setup.py install
4、安装成功后相应检查
#python
Python 2.7.2 (default, Aug 21 2013, 12:12:55)
[GCC 4.4.4 20100726 (Red Hat 4.4.4-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import cx_Oracle
>>>