domingo, 4 de marzo de 2012

Migrando de Oracle a Postgres con ora2pg

     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:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen   (escoger  dependiendo de su sistema operativo)

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: 
# aptitude install alien
  • 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: 
https://help.ubuntu.com/community/Oracle%20Instant%20Client


Paso 4: Instalar el ora2pg
  • Ejecutamos como root los siguientes comandos en consola en distribuciones como ubuntu recordemos ejecutar sudo su:
# aptitude install cpanminus
# 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 ORACLE_HOME=/usr/lib/oracle/11.2/client64”
“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
#  cpan -i DBD::Oracle
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:
# tar ora2pg-8.9.tar.bz2

  • Posicionarse dentro de la carpeta resultante:
# cd ora2pg-8.9/

  • Luego se compila el ora2pg de la siguiente manera
    # perl Makefile.PL
    # 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

viernes, 17 de febrero de 2012

KVM, y el cambio de Kernel de GNU/Linux con Funtoo

     Como lo he comentado antes, decidí instalar Funtoo GNU/Linux, cosa que hasta el momento me ha ido muy bien, en verdad no tengo quejas, unas de los aspectos mas relevantes que resalto de esta distro, es que el cambio de la versión del kernel esta a la hora del día, en el momento que cambié mi versión del kernel, el KVM que recordemos es un módulo y depende del kernel, pierdo la conexión con el mismo, ya he cambiado varias veces de kernel (de hecho tengo la 3.2.5) y siempre tengo que hacer el mismo procedimiento para recuperar el acceso a las virtuales (igual siempre digo que lo voy a dejar aquí en mi blog, pero nunca lo hago; hasta hoy), el procedimiento que tuve que seguir fue el siguiente:

Primero la compilación del kernel con el módulo del kernel respectivo en mi caso kvm intel
segundo, reinstalo todos los paquetes relacionados con kvm:

       emerge -av qemu-kvm libvirtd

Tercero, coloco la siguiente línea el el archivo /etc/conf.d/modules
modules_3_2="kvm-intel"
para que levante el módulo al inicio

y de esta forma logré volver tener acceso a las virtuales sin ningún problema.

martes, 13 de diciembre de 2011

Experiencias sobre Gnome-Shell

     Ya tengo una semana utilizando el gnome 3 y puedo decir que ha sido grata, debido a que como usuario netamente de consola no me costo integrarme al escritorio, pero por otra parte hay ciertos detalles que no me terminan de convencer. Como lo he dicho antes soy un fan de kde 4, pero por motivos laborales y que la integración del escritorio con los proyectores no era buena, tuve que regresarme a gnome, debido a que no soy persona de desperdiciar recursos de espacio, me veo forzado a desinstalar kde e instalar gnome 2, en caso de mi funtoo, no tuve mayor inconveniente, lo que me encanta de usar distros donde se compila todo es que no quedan binarios o librerías sin utilizar y puedo hacer una desinstalación completa del sistema, tuve que conservar algunas librerías qt, porque uso wicd y hplip, sin embargo no me causa mayores tensiones.
     Bueno ya empecé a divagar otra vez, continúo, ya tengo una semana utilizando gnome3 y en verdad que -como dije anteriormente- la experiencia es grata pero tengo que resaltar las siguientes cosas que me desagradan:
  • Ausencia de descansa pantallas, de hecho en un comunicado especial el equipo de desarrolladores de gnome dijo que gnome-screensaver no iba estar disponible, debido a que no se utiliza mucho, a lo que pienso "que se ha creído esta gente para decidir que me gusta o no", pero bue... en verdad no me parece justo.
  • El fondo de escritorio es estático, cosa que me gusta últimamente es tener multiples fondos de pantallas, cosa que se hace en kde y en otros escritorios de manera nativa, incluso en gnome 2 utilizando un xml se podía hacer, en gnome-shell no existe esta opción, hay que valerse de un script de perl que lo hace, sin embargo no me parece, ya que ese tipo de detalles  se que existe un grupo de usuarios que les gusta.
  • No puedo cambiar la imagen de la pantalla de inicio, a menos que instale un tema, no entiendo porque de esto, particularmente me encanta cambiar la imagen del inicio, cada tanto para no aburrirme, sin embargo esto no es posible.
  • La personalización del escritorio me parece muy cerrada, o sea no hay tanta libertad como en los demás escritorios, me gusta ponerle un color a los bordes de pantallas y demás detalles, aquí no lo veo posible.
     Igualmente conseguí cosas que me parecen geniales, como:
  • El manejo de los espacios de trabajo, son dinámicas y se utilizan solo si el espacio anterior está siendo utilizado
  • Tengo más pantalla que utilizar, al eliminar una de las barras, tengo mas espacio en la pantalla
  • Las teclas de acceso rápido por teclado, esta funcionabilidad me gusta porque como vengo por la consola no me cuesta acostumbrarme.
  • Probablemente utilicemos la tecla windows mas que los mismos usuarios del sistema, debido a que esta tecla nos lleva al menú de aplicaciones.
  • Se pueden realizar extensiones (esto se lo dejo a los desarrolladores) debido a lo cerrado que comentaba se pueden utilizar extensiones para poder aflojar un poco el escritorio, de hecho he instalado las de ejemplo para verlo un poco, viene un Dock que me gustó bastante.
     Bueno salvo a los detalles, me gusta esta experiencia con gnome-shell, pese a lo que dijo Linus Torvalds, no me parece un desastre para el usuario final, si tiene sus detalles, que hay que mejorar y lo mas seguro que así suceda. Mientras tanto me parece un buen ambiente de escritorio, al menos para mi trabajo.

miércoles, 7 de diciembre de 2011

Funtoo con gnome-shell

     El día de ayer, decidí actualizar mi funtoo, así que hice lo de siempre:

#emerge --sync
#emerge -DuNav world

    Para mi sorpresa ya estaba disponible las librerías de gnome 3.2 y gnome-shell, tenia tiempo intentar usar gnome-shell, así que decidí instalarlo. la actualización fue fácil, pero larga, así que lo dejé toda la noche, para que se instalara sin problemas. En la mañana veo que ya terminó de hacer las respectivas actualizaciones, así que reinicio el sistema por cosa mía, ya que lo que tenia que hacer era reiniciar el xdm... Al momento de iniciar veo la pantalla de bienvenida de gnome-shell y dije "...listo..." pero no, al intentar iniciar me decía que había una falla, así que me sente a analizar el problema, recorde que leí en la wikipedia que gnome-shell no tenia soporte para compiz, (yo lo tenia instalado ya que me gusta); así que valiéndome de emerge --depclean desinstale todos los paquetes de compiz-fusion y volví a tratar de ingresar, mi sorpresa es que ya estoy utilizando gnome-shell con funtoo, sin problemas, ahora mismo hay un detalle con el libreoffice, pero creo que es una librería de java ya que cambie de el jre de oracle al icedtea, así que lo volví a compilar para ver.

sábado, 19 de noviembre de 2011

Administradores Windows!

    Unas de las cosas que he venido realizando desde el momento que dejé de trabajar en la A.P.N., es ser consultor en el área de administración de servicios basados en software libre; como consultor me he encontrado todo tipo de escenarios, desde administradores que tienen buenos conocimientos de su plataforma hasta otros que no saben ni cómo se instalaron los servicios que tienen corriendo.
     Sin embargo en estas últimas semanas me toco instalar un Zimbra CS 7 en Alta Disponibilidad, además de un servidor de dhcp, DNS, OpenLDAP, SAMBA y NFS, aparte de un servidor de impresión basado en CUPS+SAMBA, en esta curiosa institución semi-privada (descrita así por los propios empleados), el administrador de los servicios conoce sobre windows, sin embargo cuando le solicité que agregara un registro en su DNS principal que esta basado en Windows, con un registro MX para que Zimbra funcionara correctamente, el tipo se enredó en lo que estaba haciendo (y eso que en windows es mas sencillo). Sin embargo luego de un rato pudo agregar el registro; lo que mas me llama la atención es que como adminsys tengo un compendio de conocimientos integrales sobre las plataformas que manejo (tales como LDAP, DNS, dhcp, entre otros), debido a que en el mundo de GNU/Linux siento que uno se involucra más en la administración de los servicios... ya empecé a divagar otra vez...
     No quiero denigrar a nadie, pero cada día que pasa observo con más preocupación que los administradores de sistemas no están preparados para resolver problemas grandes, de hecho aveces ni se preocupan por revisar los logs del sistema ni averiguar por internet, sino que esperan que aparezca algún consultor que les solucione los problemas y esto me crea un conflicto personal debido a que cuando estaba a cargo de los servicios en mi anterior empleo, logré solventar los problemas por mi cuenta sin necesidad de recurrir a ningún personal externo. Entiendo que hay veces que las cosas se escapan de los conocimientos y capacidades que tengamos bajo algunas circunstancia, pero he visto cosas que me dejan pensando (¿cómo esta persona entro a trabajar con ese nivel?), sin embargo sin ellos yo no tendría consultorías que atender ;-) ...
    Un consejo para los nuevos adminsys el internet no muerde y los manuales existen para ser leídos y en linux se accede usando el comando man. Un colega me dijo una vez que los administradores de sistemas somos los obreros de la informática... Esto me molestó sobre manera debido a que nosotros debemos manejar diferentes tipos de conceptos y conocer los sistemas a fondo para poder solventar los problemas que se presenten, cuando me inicié en la administración el software libre era algo para eruditos y los que sabían no compartían los conocimientos con nadie, me tocó aprender leyendo los logs, consultando interminables foros, páginas de internet y hasta tratar de decifrar idiomas que no conozco (alemán, francés, portugués, etc.), para poder instalar, configurar y poner en marcha los servicios; para que me digan obrero, no me parece justo, sin embargo me contuve y lo deje a ese nivel. No somos obreros, somos tan importante como un desarrollador y manejamos la misma cantidad de conocimiento como cualquiera en este mundo y una buena cuota de responsabilidad por lo tanto mas respeto.

viernes, 29 de julio de 2011

OpenBSD cumplió 10 Años

     El día de ayer decidí darme un paseo por el sitio web de OpenBSD porque tenía un tiempo sin visitarlo, al entrar me di cuenta que ya esta disponible la nueva versión de OpenBSD la 4.9, también me llamo la atención el gráfico, que como ya es costumbre desde la versión 3.0, hacen una pequeña historieta, sin embargo lo que más me llamo la atención fue la canción que (cómo también es costumbre) le escribieron a esta versión, esta se llama the answer (la respuesta), donde entre tantas cosas dicen que la respuesta esta en BSD 4.2, yo cómo ya se sabe, también soy simpatizante de esta rama de unix, la familia BSD 4.4, por eso me llamó la atención que la respuesta es el BSD 4.2, motivo por el cual indagué un poco más acerca de esta versión de BSD Unix. Lo que me llevo a darme cuenta que, si es verdad esa versión es cerrada y a pesar que la versión que se liberó fue la 4.4, en la 4.2 se hicieron la mayoría de las implementaciones de tecnologías de software que utilizamos hoy en día en los derivados de Unix y otros sistemas operativos, (sockets, AF_Inet, Memoria Virtual, TCP/IP, etc.), si sabía que muchas de las implementaciones que se han hecho dentro del mundo de la informática se la debemos al equipo de BSD, más sin embargo desconocía que era la versión 4.2 a la que le debíamos esto.
     Bueno Luego de leer, toda la información acerca de la nueva versión de OpenBSD, pude percatarme que el proyecto cumplió ya 10 años, desde que se fracturó de NetBSD.

Libre, Funcional y Seguro!

viernes, 1 de julio de 2011

Zentyal

     No soy partidario en utilizar soluciones integradas de software (a menos que sea zimbra ;) ), la semana pasada inicie un proyecto donde me correspodía solventar el desastre que dejo otra persona (cosa que también odio, digamos que prefiero arreglar mis propios desastres), bueno pero en pro del conocimiento, decidí continuar, el problema según los clientes es que los usuarios de la red no pueden iniciar sesión usando las cuentas que se encuentran dentro del servidor; cuando le hecho un vistazo a las configuraciones, me doy cuenta que existe un servidor OpenLDAP primario donde hay unas cuentas de usuarios y otro que es una réplica del primero pero a este segundo le activarón la opción de compartir archivos, que básicamente es un samba que funciona como un PDC, para que los usuarios puedan compartir recursos ya sean con linux o con windows (pienso que con nfs se puede llegar a algo parecido).
     En fin lo primero que hago es un respaldo del árbol de ldap del primario (primer error), para nuevamente instalar otro zentyal (segundo error, jejejeje); bueno a la final luego de instalar el zentyal (por cierto un ubuntu), utilicé las ldap tools para subir los usuarios que había hecho backup, así que luego active la opción de compartir archivos para que los usuarios puedan tener acceso al samba y lo que ello implica. Aquí inicia el problema al momento de editar los usuarios para hacer una prueba me encuentro con un error, cuando reviso los logs del sistema, me doy cuenta que el problema es samba y que desconoce a los usuarios y grupos que me traje del servidor, por lo tanto trato de hacer todo tipo de peripecias que conozco para lograr reparar este problema, hasta me diseñe un script en perl para agregar las lineas necesarias a la plantilla ldif, pero no logré nada, lo que se me ocurrió fue nuevamente colocar como servidor réplica al que instalé nuevamente y activarle el samba, mágicamente si funcionó.
     Zentyal me parece una opción para pequeñas y medianas empresas donde se quiera abaratar costos y el que administrador de servicios no tenga mucha experiencia sobre GNU/Linux, sin embargo como siempre lo digo, yo soy de la vieja escuela y me parece que cuando existen problemas tan particulares como el que se presentó con este cliente, que por experiencia propia se que se pueden solventar en un escenario openldap+samba+debian.