Como configurar el software necesario para conectarse a una base de datos Oracle versión 9 con python.
Download los siguientes archivos.
- oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
- oracle-instantclient-devel-11.1.0.1-1.x86_64.rpm
La herramienta alien es indispensable para convertir los archivos .rpm a .deb
sudo apt-get install alien
sudo alien -d *.rpm
Instalación propiamente dicha
sudo dpkg -i oracle-instantclient-basic_11.1.0.1-2_amd64.deb
sudo dpkg -i oracle-instantclient-devel_11.1.0.1-2_amd64.deb
Crear este archivo:
touch /etc/ld.so.conf.d/oracle.conf
Escribir en la primer linea:
/usr/lib/oracle/11.1.0.1/client64/lib/
Ejecutar los siguientes comandos:
$ export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64/lib/
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ sudo ldconfig
Bajar los fuentes de la librería cx_Oracle 5.1.3 acá (Ojo, versiones mas nuevas son incompatibles con la versión 9 de Oracle).
Descomprimirlos y entrar en la carpeta.
tar -xzvf cx_Oracle-5-1.2.tar.gz
cd cx_Oracle-5-1.2
Modificar las lineas del programa setup.py (aprox: 123)
#userOracleHome = os.environ.get("ORACLE_HOME")
userOracleHome = "/usr/lib/oracle/12.1/client64"
Y en el mismo programa pero un poquito mas abajo:
if oracleHome is None:
#~ raise DistutilsSetupError("cannot locate an Oracle software " \
#~ "installation
oracleHome = "/usr/lib/oracle/11.1.0.1/client64"
Luego:
$ python setup.py build
$ sudo python setup.py install
También instalar libaio-dev
sudo apt-get install libaio-dev
Y listo.
Fuente principal.