Oracle 客户端提供了必要的网络连接,允许python使用 cx_Oracle包 访问 Oracle 数据库实例。
系统版本
uname -r
4.18.0-193.el8.x86_64
cat /etc/redhat-release
CentOS Linux release 8.5.2111
Oracle客户端下载链接
Oracle Instant Client
下载与 Python架构匹配的 Oracle 21、19、18、12 或 11.2“基本”或“基本轻量级”zip 文件:
建议使用最新客户端 Oracle21。
解压到指定目录
mkdir -p /opt/oracle
cd /opt/oracle
unzip instantclient-basic-linux.x64-21.5.0.0.0dbru.zip
#结果
Archive: instantclient-basic-linux.x64-21.5.0.0.0dbru.zip
inflating: instantclient_21_5/adrci
inflating: instantclient_21_5/BASIC_LICENSE
inflating: instantclient_21_5/BASIC_README
inflating: instantclient_21_5/genezi
linking: instantclient_21_5/libclntshcore.so -> libclntshcore.so.21.1
linking: instantclient_21_5/libclntshcore.so.12.1 -> libclntshcore.so.21.1
linking: instantclient_21_5/libclntshcore.so.18.1 -> libclntshcore.so.21.1
linking: instantclient_21_5/libclntshcore.so.19.1 -> libclntshcore.so.21.1
linking: instantclient_21_5/libclntshcore.so.20.1 -> libclntshcore.so.21.1
inflating: instantclient_21_5/libclntshcore.so.21.1
linking: instantclient_21_5/libclntsh.so -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.10.1 -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.11.1 -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.12.1 -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.18.1 -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.19.1 -> libclntsh.so.21.1
linking: instantclient_21_5/libclntsh.so.20.1 -> libclntsh.so.21.1
inflating: instantclient_21_5/libclntsh.so.21.1
inflating: instantclient_21_5/libnnz21.so
linking: instantclient_21_5/libocci_gcc53.so -> libocci_gcc53.so.21.1
inflating: instantclient_21_5/libocci_gcc53.so.21.1
linking: instantclient_21_5/libocci.so -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.10.1 -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.11.1 -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.12.1 -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.18.1 -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.19.1 -> libocci.so.21.1
linking: instantclient_21_5/libocci.so.20.1 -> libocci.so.21.1
inflating: instantclient_21_5/libocci.so.21.1
inflating: instantclient_21_5/libociei.so
inflating: instantclient_21_5/libocijdbc21.so
inflating: instantclient_21_5/liboramysql.so
creating: instantclient_21_5/network/
inflating: instantclient_21_5/ojdbc8.jar
inflating: instantclient_21_5/ucp.jar
inflating: instantclient_21_5/uidrvci
inflating: instantclient_21_5/xstreams.jar
creating: instantclient_21_5/network/admin/
inflating: instantclient_21_5/network/admin/README
finishing deferred symbolic links:
instantclient_21_5/libclntshcore.so -> libclntshcore.so.21.1
instantclient_21_5/libclntshcore.so.12.1 -> libclntshcore.so.21.1
instantclient_21_5/libclntshcore.so.18.1 -> libclntshcore.so.21.1
instantclient_21_5/libclntshcore.so.19.1 -> libclntshcore.so.21.1
instantclient_21_5/libclntshcore.so.20.1 -> libclntshcore.so.21.1
instantclient_21_5/libclntsh.so -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.10.1 -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.11.1 -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.12.1 -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.18.1 -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.19.1 -> libclntsh.so.21.1
instantclient_21_5/libclntsh.so.20.1 -> libclntsh.so.21.1
instantclient_21_5/libocci_gcc53.so -> libocci_gcc53.so.21.1
instantclient_21_5/libocci.so -> libocci.so.21.1
instantclient_21_5/libocci.so.10.1 -> libocci.so.21.1
instantclient_21_5/libocci.so.11.1 -> libocci.so.21.1
instantclient_21_5/libocci.so.12.1 -> libocci.so.21.1
instantclient_21_5/libocci.so.18.1 -> libocci.so.21.1
instantclient_21_5/libocci.so.19.1 -> libocci.so.21.1
instantclient_21_5/libocci.so.20.1 -> libocci.so.21.1
安装libaio包
本文测试环境已安装libaio包,但是执行一下也无妨。
sudo yum install libaio
永久添加运行时链接路径
sudo sh -c "echo /opt/oracle/instantclient_21_5 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig