(cx_Oracle.DatabaseError) DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory"
打开https://oracle.github.io/odpi/doc/installation.html
官方相关如下
Oracle Instant Client RPM¶
To run ODPI-C applications with Oracle Instant Client RPMs:
-
Download an Oracle 11.2, 12.1 or 12.2 “Basic” or “Basic Light” RPM: 64-bit or 32-bit, matching your application architecture.
-
Install the downloaded RPM with sudo or as the root user. For example:
sudo yum install oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
Yum will automatically install required dependencies, such as
libaio
. -
If there is no other Oracle software on the machine that will be impacted, permanently add Instant Client to the runtime link path. For example, with sudo or as the root user:
sudo sh -c "echo /usr/lib/oracle/12.2/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf" sudo ldconfig
Alternatively, set the environment variable
LD_LIBRARY_PATH
to the appropriate directory for the Instant Client version. For example:export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH
-
If you intend to co-locate optional Oracle configuration files such as
tnsnames.ora
,sqlnet.ora
ororaaccess.xml
with Instant Client, then create anetwork/admin
subdirectory underlib/
. For example:sudo mkdir -p /usr/lib/oracle/12.2/client64/lib/network/admin
This is the default Oracle configuration directory for applications linked with this Instant Client.
Alternatively, Oracle configuration files can be put in another, accessible directory. Then set the environment variable
TNS_ADMIN
to that directory name.
下载64位的rpm包(basic,sqlplus,devel)
http://download.oracle.com/otn/linux/instantclient/183000/oracle-instantclient18.3-basic-18.3.0.0.0-1.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/183000/oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.x86_64.rpm
http://download.oracle.com/otn/linux/instantclient/183000/oracle-instantclient18.3-devel-18.3.0.0.0-1.x86_64.rpm
安装
[root@VM_176_134_centos ~]# rpm -ivh oracle-instantclient18.3-basic-18.3.0.0.0-1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:oracle-instantclient18.3-basic-18################################# [100%]
[root@VM_176_134_centos ~]# rpm -ivh oracle-instantclient18.3-sqlplus-18.3.0.0.0-1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:oracle-instantclient18.3-sqlplus-################################# [100%]
[root@VM_176_134_centos ~]# rpm -ivh oracle-instantclient18.3-devel-18.3.0.0.0-1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:oracle-instantclient18.3-devel-18################################# [100%]
建立连接
[root@VM_176_134_centos ~]# sudo sh -c "echo /usr/lib/oracle/18.3/client64/lib > /etc/ld.so.conf.d/oracle-instantclient.conf"
[root@VM_176_134_centos ~]# sudo ldconfig
[root@VM_176_134_centos ~]# export LD_LIBRARY_PATH=/usr/lib/oracle/18.3/client64/lib:$LD_LIBRARY_PATH