Linux安装cx_Oracles

环境背景

系统:CentOS6.8

python:Python 2.7.13 |Anaconda 4.3.1 (64-bit)

cx_Oracle模块:5.0.4

Oracle:11.2.0.1.0

Oracle客户端:11.2.0.1.0

1、下载

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

从 下载链接 下载下面两个文件

1
2
3
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 
instantclient-sdk-linux.x64-11.2.0.1.0.zip
#注这里要根据连接数据库的版本来定,安装的客户端一定要选择基础版本,不要选instantclient11.2-basiclite

解压这两个文件到/opt/instantclient_11_2目录下

2、设置环境变量

1
2
3
4
# vim /etc/profile #文件尾部添加
export ORACLE_HOME=/opt/instantclient_11_2/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
# source /etc/profile

3、安装cx_Oracle

安装cx_Oracle之前需要先建立一个链接libclntsh.so,如下:

1
2
cd /opt/instantclient_11_2/
ln -s libclntsh.so.11.1 libclntsh.so

下载cx_Oracle

https://sourceforge.net/projects/cx-oracle/files/5.0.4/

1
2
3
# tar -xf cx_Oracle-5.0.4.tar.gz
# cd cx_Oracle-5.0.4
# python setup.py install

测试:

1
2
3
4
5
>>> import cx_Oracle
/root/.pyenv/versions/anaconda2-4.3.1/lib/python2.7/site-packages/cx_Oracle-5.0.4-py2.7-linux-x86_64.egg/cx_Oracle.py:3: UserWarning: Module cx_Oracle was already imported from /root/.pyenv/versions/anaconda2-4.3.1/lib/python2.7/site-packages/cx_Oracle-5.0.4-py2.7-linux-x86_64.egg/cx_Oracle.pyc, but /opt/cx_Oracle-5.0.4 is being added to sys.path
>>>
>>> print cx_Oracle.version
5.0.4

4、测试数据库连接

1
2
3
4
5
>>> import cx_Oracle as cx
>>> db=cx.connect('finchina/123456@192.168.1.236/orcl')
>>> print db.version
11.2.0.1.0
>>> db.close()

FAQ整理:

问题1: conn0=cx.connect('finchina/123456@192.168.1.236:1521/orcl')

cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

解决方案:这里要保证你安装的instantclient和需要连接的数据库版本一致。下载

1
2
3
4
5
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip 
instantclient-sdk-linux.x64-11.2.0.1.0.zip
windows出现这个问题
复制 client下所有的.dll文件到python安装包site_pageages目录中即可

然后按照上文进行配置就即可。

问题2: conn0=cx.connect('finchina/123456@192.168.1.236:1521/orcl')

cx_Oracle.DatabaseError: ORA-28547: connection to server failed, probable Oracle Net admin error

解决方案:

重新安装 cx_Oracle5.0.4

重装安装 instantclient11.2-basic

下面选段来自Oracle客户端下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

1
2
3
4
5
6
7
8
Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
#注释:即时客户端软件包 - 基本:运行OCI,OCCI和JDBC-OCI应用程序所需的所有文件
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip (48,338,185 bytes) (cksum - 15985569)
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm (47,811,007 bytes) (cksum - 4244105838)
Instant Client Package - Basic Light: Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support
#注释:即时客户端软件包 - 基本轻量:较小版本的Basic,只有英文错误消息和Unicode,ASCII和西欧字符集支持,阿西吧!,原来是字符集问题
oracle-instantclient11.2-basiclite-11.2.0.1.0-1.x86_64.zip (20,825,489 bytes) (cksum - 133027975)
oracle-instantclient11.2-basiclite-11.2.0.1.0-1.x86_64.rpm (20,649,392 bytes) (cksum - 1121446971)

总结:

问题很严重,遇到问题,胡乱百度,无思路的Google,反而拖慢解决问题的节奏。希望这次之后,遇到任何问题都能:理清思路,将问题拆分,然后逐个击破

问题3:ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory

解决方案:

1
2
cd /opt/instantclient_11_2
ln -sv libclntsh.so.11.1 libclntsh.so

本文转自 ljohnmail 51CTO博客,原文链接:http://blog.51cto.com/ljohn/1940904,如需转载请自行联系原作者

Linux安装cx_Oracles相关推荐

  1. 实用的Linux 安装 zip unzip

    Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...

  2. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  3. Linux安装Nodejs

    Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...

  4. linux命令安装组件,Linux安装各种组件

    [TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...

  5. arch linux安装_如何从头开始安装Arch Linux

    arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...

  6. linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  7. linux 查看es安装目录,Linux安装Elasticsearch

    本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...

  8. Linux安装CentOS7(图文详解)

    Linux安装centos7 准备 软件:VMware workstation 镜像文件:CentOS-7-x86_64-Minimal-1810.iso 一.安装centos7 1.点击创建新的虚拟 ...

  9. Linux安装CentOS6(图文详解)新手入门

    Linux安装centos6 准备 软件:VMware workstation 镜像文件:CentOS-6.8-x86_64-bin-DVD1.iso 一.安装centos6 1.点击创建新的虚拟机 ...

最新文章

  1. PAT(甲级)2019年春季考试 7-3 Telefraud Detection
  2. (理论篇)从基础文件IO说起虚拟内存,内存文件映射,零拷贝
  3. 3d相册 html 代码_HTML5 3D立体图片相册
  4. php采集百度推荐词,php抓取百度快照、百度收录、百度热词程序代码_PHP教程
  5. 基于BindingSource的WinForm开发
  6. 8080处理器计算机启动
  7. 机器学习模型,能分清川菜和湘菜吗?
  8. [攻防世界 pwn]——pwn-200
  9. myeclipse问题
  10. java语言数组实现栈的操作_基于自定义的动态数组实现一个栈(Java语言)
  11. 活动推荐 | 首届云原生编程挑战赛开始报名啦~
  12. scratch课程案例——漫天飞雪
  13. 壁面函数matlab,Y+的查看及FLUENT壁面函数的选择
  14. PIM是什么意思,如何做好企业产品信息管理?
  15. 电影《肖申克的救赎》给你最深的感受是什么?
  16. php zend optimizer,【原创】ZendOptimizer 的安装
  17. 解决IDEA项目一直Updating Index
  18. Collectors.toList()的作用
  19. [论文阅读1]Re-identification with RGB-D sensors
  20. graphpad prism8教程柱状图_一起来看看Graphpad Prism 8.0进阶篇吧!

热门文章

  1. 8种最有效的网站推广方案
  2. python3类的继承详解_python3中类的继承以及self和super的区别详解
  3. visual studio 怎么生成coredump文件_coredump详解
  4. mysql 回滚段_史上最牛分析MySQL索引机制的实现!不接受反驳
  5. python遍历文件内容_Python四种逐行读取文件内容的方法
  6. jdbc 自增id 原理_面试被问分布式ID怎么办? 滴滴(Tinyid)甩给他
  7. oracle快速了解法,【oracle】rownum的快速了解
  8. 网页单机怎么用服务器修改元宝,[一键安装] 网页游戏热血战纪半一键端,附加架设方法+元宝修改!...
  9. java编程东西好多记不住_课程总结
  10. 原生 ajax查询,原生ajax啦啦啦