当我们的自动化的持续集成环境Jenkins通过容器化部署的时候,那么我们的脚本也就是会在linux的操作系统上运行,如果你的脚本中有连接数据库的代码,那么你就得和本地调试的时候一样,安装数据库的一些组件,或者依赖,本文主要介绍自动化操作的Oracle 数据库时,Oracle client如何安装和配置在Linux操作系统上。
一、下载linux 操作系统64bit的Oracle安装包,在官网:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
我这边的Jenkins容器化的操作系统是debian的64bit的,那么我下载的就是64bit,版本我选择的是19,我的python环境是3.11.2
下载完成后,上传到服务器上
二、进入容器,执行如下命令,并将压缩包放进到/opt/oracle,然后解压:
mkdir -p /opt/oracle
cd /opt/oracle
unzip instantclient-basic-linux.x64-21.1.0.0.0.zip
三、安装libaio1
因为我是debian系统,我的安装命令是apt-get,如果你是centos的话,可以按照官网:
这个是官网的,使用yum进行安装的
这个我的安装的命令:
apt-get update
apt-get install -y libaio1
安装完成之后,就可以配置环境变量了。
然后执行下面的命令
sh -c "echo /opt/oracle/instantclient_19_24 > /etc/ld.so.conf.d/oracle-instantclient.conf"
四、配置环境变量
vi /root/.bashrc
增加这两行:
执行如下命令生效:
source /root/.bashrc
五、pip安装cx_Oracle
pip install cx_Oracle -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com --break-system-packages
六,自动化代码中需要增加一条:
cx_Oracle.init_oracle_client(config_dir="/opt/oracle/instantclient_19_24")
这里需要注意的是和windows的区别,windows是lib_dir:
cx_Oracle.init_oracle_client(lib_dir=r"C:\oracle\instantclient_19_11\instantclient-basic-windows.x64-19.23.0.0.0dbru\instantclient_19_23")
不要按照官网的,误人子弟,下面是官网,那个为什么是home.还有your_username又是什么,还有your_config_dir,直接一句话,就是你解压的目录不就ok了吗。
七,执行自动化,大功告成!
python3 main.py