En estos días estaba ayudando a un colega y gran amigo a instalar en su ubuntu GNU/LInux, el migrador de bases de datos de oracle a postgres ora2pg, el tuvo unos problemas con la parte de las librerias de perl y las variables de entorno, cosa que yo ya había sufrido el año pasado para la compilación de tOra desde los fuentes con soporte para oracle (para debian GNU/Linux claro), luego que se solvento este detalle el me hiso llegar un documento y expresamente me dijo públicalo en tu blog y es por eso que lo pongo en este post:
Migrar de oracle a PostgreSQL
Realizado por: Eduardo Marques
Email: elportu@gmail.com
Revisado y Corregido por: Abraham Brito
Email: powerman5020@gmail.com
Paso 1: Descargar el Oracle Instant Client de la página de Oracle.
- Descargar la versión basic, dev, JDBC Supplement, SQL*Plus, SDK de la siguiente página:
Paso 2: Instalar paquete alíen
- En los sistemas derivados de debian (como Ubuntu y mint) abrir una consola o terminal como root y ejecutar:
- Nota en ubuntu pueden descargarlo directamente por el centro de software
Paso 3: Utilizamos alien para transformar los paquetes .rpm (de red hat y derivados) a .deb (binarios de debian)
- Se abre una consola o terminal y como root ejecutamos el alien de la siguiente manera:
# alien -d nombre_depaquete.rpm
- Instalar los paquetes generados por el alíen, nuevamente en una terminal como root ejecutar:
# dpkg -i nombre_paquete.deb
- utilizando el editor de su preferencia creamos el archivo /etc/ld.so.conf.d/oracle.conf
- Y colocar la dirección donde se instalo oracle la cual puede ser la siguiente: “/usr/lib/oracle/11.2/client64/lib ” recuerde comprobar esta dirección puede cambiar si es otra versión de oracle o su sistema es 32bits
- Instalar la librería libaio:
# aptitude install libaio1
- Crear el siguiente archivo de configuración etc/ld.so.conf.d/oracle.conf y colocar la dirección donde se instalo oracle la cual puede ser la siguiente: “/usr/lib/oracle/11.2/client/lib/”
- se ejecuta como root el comando ldconfig para crear los enlaces simbólicos especificados en el paso anterior.
- Pruebe la conexión con oracle usando el comando:
# sqlplus64 usuario/clave@ip/sid
- Si los pasos anteriores fallan verifique esta pagina:
Paso 4: Instalar el ora2pg
- Ejecutamos como root los siguientes comandos en consola en distribuciones como ubuntu recordemos ejecutar sudo su:
# perl -MCPAN -e 'install DBI'
# cpan -i DBD::Oracle
En algunos casos la ejecución de la instruccion cpan da un error por no encontrar la librería de oracle o el oracle home, para solventar este error debemos configurar unas variables de entorno para el usuario root:
- Usando el editor de texto de su preferencia se edita /root/.bashrc
- agregar al final del archivo
“export LD_LIBRARY_PATH=$ORACLE_HOME/lib”
Nota: Recordemos que en este caso se esta utilizando el cliente de 64 bits si usan el 32 bits solo quiten el numero 64
- guardar y ejecutar nuevamente la orden
Paso 5: Configurar el ora2pg (archivo ora2pg.conf)
- Descargar el paquete desde el siguiente enlace:
- http://sourceforge.net/projects/ora2pg/
- Abrir una terminal y como root colocarse en la ruta del archivo descargado por ejemplo “/home/usuario/Descargas/”
- ahora como root, desempaquetar y descomprimir el archivo descargado, en este caso:
- Posicionarse dentro de la carpeta resultante:
- Luego se compila el ora2pg de la siguiente manera
# make && make install
# aptitude install yum
# perl -MCPAN -e 'install DBD::Pg'
# aptitude install libdbd-pg-perl
Paso 6: configurar archivo de conexión ora2pg
- con el editor de su preferencia se edita el archivo /etc/ora2pg/ora2pg.conf y agregar los parametros de su servidor y base de datos
Paso 7: Revisar manual de ora2pg en la página web oficial del proyecto:
http://ora2pg.darold.net/config.html
Y listo ya tienen ora2pg, para realizar las migraciones de sus bases de datos de oracle a postgres, espero que les haya funcionado igual de bien que a nosotros.
Gracias Eduardo por dejarme compartir tu manual
2 comentarios:
Es posible hacer lo contrario, es decir pasar una base de datos postgresql a orcale.
Hola...soy novato en postgresql.... por favor podrían da un ejemplo de cómo configurar el archivo de conexión ora2pg ...Gracias
Publicar un comentario