在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库。
1.下载oracle客户端安装包:
进入官网http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载如下所需的三个包。
oracle-instantclient11.-basic-11.2.0.4.-.x86_64.rpm
oracle-instantclient11.-devel-11.2.0.4.-.x86_64.rpm
oracle-instantclient11.-sqlplus-11.2.0.4.-.x86_64.rpm
2.使用alien安装
下载alien(alien可以把rpm格式转为dev格式进行rpm包的安装):
sudo apt-get install alien
进行安装
sudo alien -i oracle-instantclient11.-basic-11.2.0.4.-.x86_64.rpm
sudo alien -i oracle-instantclient11.-devel-11.2.0.4.-.x86_64.rpm
sudo alien -i oracle-instantclient11.-sqlplus-11.2.0.4.-.x86_64.rpm
安装所需要的库:
sudo apt-get install libaio1
3.配置环境
①打开/etc/ld.so.conf.d,创建oracle.conf文件
sudo vi /etc/ld.so.conf/oracle.conf
添加内容: /usr/lib/oracle/11.2/client64/lib/
执行/sbin/ldconfig命令,使其生效
sudo /sbin/ldconfig
打开/etc/profile文件
sudo gedit /etc/profile
②添加如下环境变量
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
#tns配置文件位置
export TNS_ADMIN = /usr/lib/oracle/11.2/client64
export ORACLE_BASE=/usr/lib/oracle/11.2
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
执行命令source /etc/profile, 使其生效
4.Django连接oracle, 还需要库cx_Oracle.
①在Django项目所用的虚拟环境下,安装cx_Oracle
pip install cx_Oracle-5.2.
②Django项目下的settings.py里配置oracle相关参数
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.oracle',
'NAME': 'database_name',
'USER': 'username',
'PASSWORD': 'your_pwd',
'HOST': 'your_remote_addr',
'PORT': 'remote_port',
}
}
至此,Django可以成功连接远程oracle数据库。