centos cx_oracle,Centos 安装 cx_Oracle 模块

前言: 用的 Oracle 版本号位: 11.2.0.4.0. 特别注意这个,因为待会安装的 oracle instant client 以及 python 包 cx_Oracle 都要找其相兼容的版本。

Oracle Instant Client安装

oracle instant client version 11.2.0.4.0下载

可以是 zip 或是 rpm. 为了安装方便,我选择的是: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

cksum

下载完后,记得 cksum. 看看下载的文件有没损失,如果有,得重新下载。

alphafish@ar:~/Downloads$ cksum oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

526022028 59865008 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

其中,第一个数字 526022028 要与官网上的 cksum 相同!第二个数字59865008 表示文件的大小。

安装命令:

sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

添加环境变量

我的安装路径为: /usr/lib/oracle/11.2/client64/

vi /etc/profile

export ORACLE_HOME=/usr/lib/oracle/11.2/client64/

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib

让配置文件马上生效

. /etc/profile

(or source /etc/profile)

安装 cx_Oracle

命令安装或是去 PYPI 下载

pip install cx_Oracle

测试

>>> import cx_Oracle

>>> conn = cx.Oracle.connect(...)

1, 若报错:

ORA-12170: TNS:Connect timeout occurred. 则可能是防火墙原因,访问不了。可以使用 telnet ip port 看是否能连通。

2, 若报错

可能一:

环境变量没配对, 或是没让配置文件生效

可能二:

缺少libaio 包(Ubuntu 上是 libaio1)

sudo yum install libaio

sudo apt-get install libaio1

可能三:

libclntsh.so 没相应连接

$ cd $ORACLE_HOME

$ ln -s libclntsh.so.11.1 libclntsh.so

或编辑 /etc/ld.so.conf.d/oracle.conf文件(之前没有 oracle.conf文件,新建的) , 输入如下:

/usr/lib/oracle/11.2/client64/lib

最后让其生效

sudo ldconfig

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值