数据库版本为11.2,linux环境64位
- 去http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载oracle的精简版客户端,instantclient-basic-linux.x64-11.2.0.4.0.zip和instantclient-sdk-linux.x64-11.2.0.4.0.zip,下载需要登录并且accept lisense,下载后传到linux上
- unzip解压缩instantclient-basic-linux.x64-11.2.0.4.0.zip和instantclient-sdk-linux.x64-11.2.0.4.0.zip到同一目录,我的目录叫cx_oracle_before,
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d ./cx_oracle_before
,instantclient-sdk-linux.x64-11.2.0.4.0.zip解压同理,这个时候的我的路径是/root/cx_oracle_before/instantclient_11_2/,这时sdk目录也在/root/cx_oracle_before/instantclient_11_2/下 - 设置环境变量
ORACLE_HOME=/root/cx_oracle_before/instantclient_11_2
,LD_LIBRARY_PATH=/root/cx_oracle_before/instantclient_11_2:.:/root/cx_oracle_before/instantclient_11_2/lib
,/root/cx_oracle_before/instantclient_11_2/lib和.有可能是多于的路径,注意:如果是写在/etc/profile中,一定要source /etc/profile,source简单来说就是执行/etc/profile这个脚本,对所有shell有效,如果没有这一步,我出现的现象是能安装cx_Oracle,但是报错是ImportError: libclntsh.so.11.1: cannot open shared object file: No such file,这个错误的原因应该就是没有source /etc/profile - 做一个软连接,cd $ORACLE_HOME,
ln -s libclntsh.so.11.1 libclntsh.so
,这步不做我报的错是error: command ‘gcc’ failed with exit status 1 - 这个时候可以pip install cx_Oracle了
- 进入python shell,import cx_Oracle报错ImportError: libaio.so.1: cannot open shared object file: No such file or directory,还需要安装yum install libaio*,安装libaio和libaio-devel两个库。
- import cx_Oracle成功,以上!