Mostrando las entradas con la etiqueta base de datos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta base de datos. Mostrar todas las entradas

lunes, junio 30, 2014

Oracle Instaclient SQL Plus en Ubuntu

Probablemente algunos (como yo) requieren tener instalado SQL Plus de Oracle en sus equipos sin tener que instalar Oracle completo. Para que funcione correctamente hay que hacer algunas cosas, y aquí les explico cuales son para que se ahorren algunos dolores de cabeza.

Paso a paso

  1. Descargar el InstaClient: Oracle es "algo" quisiquilloso cuando se trata de sus herramientas, así que la opción es buscar en Google o navegar directamente en el sitio de esta empresa.
  2. Descomprimir InstaClient: Típicamente habrán descargado el archivo comprimido. Cuando se trata de herramientas que requieren instalación manual yo las dejo en la carpeta /opt

  3. Configurar variables de ambiente: Estas son varias, así que creé un script que las setea y des-setea según corresponda:
unset NO_PROXY
unset UBUNTU_MENUPROXY
unset no_proxy

unset ORACLE_HOME
export LD_LIBRARY_PATH=/opt/instantclient_12_1
para la versión 11_2 es análogo pero tendrán que poner la carpeta que corresponde.

Finalmente ejecutar SQL Plus: Fácil y bonito, desde la misma ruta
./sqlplus
 Y eso debiera funcionar.

Bonus: Si quieren ejecutar  una conexión para administrar una base de datos remota (y poder reiniciar la base con un shutdown abort, por ejemplo) el comando es:
./sqlplus 'usuario/clave'@IP_de_la_BD/SID as sysdba

obviamente cambiando los datos acorde.

miércoles, octubre 26, 2011

Instalación base de datos Ingres

Estoy haciendo algunos experimentos y mediciones de rendimiento de bases de datos en plataformas de inteligencia de negocios (puntualmente Pentaho), y después de leer un poco instalé Ingres.

Supuestamente Ingres, y su versión comercial Vectorwise, son bases de datos pensadas para la inteligencia de negocios, cubos, reportería, cruces de tablas, etc.

La instalación en Windows es bastante plug & play, click, siguiente, aceptar, siguiente, siguiente, siguiente.

Por otro lado, la instalación en Linux es más compleja, pero podemos hacerla infinitamente más simple siguiendo los siguientes pasos:
  1. Crear un usuario ingres, con privilegios de root y línea de comandos bash (una cosa de gustos solamente)
  2. Crear el home de ingres en /home/ingres y obviamente cambiar el propietario a ingres con
    chown -R ingres:ingres /home/ingres
  3. Ejecutar el instalador rápido ingres_express_install.sh . La instalación estándar pregunta paso a paso, y la verdad es que si requieren ese nivel de precisión en la configuración, no le van a hacer asco a leer la documentación de Ingres.

La instalación finaliza con la puesta en marcha del servidor.
Los problemas empiezan cuando quieren echar a correr el servidor después de haber reiniciado.

El truco para esto es:
  1. Ingresar a la consola como el usuario ingres
  2. Ejecutar el comando source ~ingres/.ingIIsh
  3. Ejecutar el comando ingstart para iniciar la base de datos, o ingstop para detenerla

El paso importante es la carga de las variables de ambiente con  el archivo .ingIIsh , sin eso no funciona.

Cualquier cosa me preguntan no más.

lunes, marzo 22, 2010

Haciendo un respaldo total de las bases de datos PostgreSQL

Nota para el lector casual: Si su interés no es técnico o si el título de este artículo le resulta familiar al arameo antiguo entonces le recomiendo solamente pasar a saludar :-)

Problema: Es necesario realizar un respaldo total de todas las bases de datos que existen en una máquina. Estas bases de datos están sostenidas sobre PostgreSQL.

Solución:
  1. Acceder como root
  2. Habilitar el acceso en modo confianza (trust) para las conexiones locales. Para ello bastará editar el archivo pg_hba.conf , buscar la línea que se refiere a 127.0.0.1 y editarla para que quede como:
    host all all 127.0.0.1/32 trust
    Si no sabemos donde puede estar este archivo, lo podemos encontrar ejecutando:
    find / | grep pg_hba.conf
    lo que nos entregará la ruta completa hacia el archivo.
  3. Reiniciar el servicio de PostgreSQL. Normalmente esto resulta con alguno de estos comandos:
    service postgresql restart
    o bién
    /etc/init.d/postgresql restart
    Eventualmente, dependiendo de la distribución de Linux usada, y del PostgreSQL instalado, el nombre del servicio puede variar. Ante la duda vayan a /etc/init.d y ejecuten un:
    ls p*
    lo que listará todas las opciones de servicios que empiecen con p.
  4. Crear una ruta donde guardar los respaldos, por ejemplo una carpeta sql
    mkdir sql
  5. Cambiar a la carpeta recien creada
    cd sql
  6. Ejecutar el toxi-comando (en una sola línea):
    psql -lt -U postgres | awk '{ print $1 }' | xargs -i pg_dump -h localhost -U postgres -cO -Ft -f `date +%Y%m%d%H%M%S`_{}.tar -d {}
    Esto creará un archivo de extensión .tar con prefijo fecha_actual_ seguidi por el nombre de la base de datos.

Es recomendable que trás hacer el respaldo de la base de datos, restauren la línea del archivo pg_hba.conf que cambiaron a su estado anterior (posiblemente en vez de trust sea md5 o sameuser) y reinicien PostgreSQL (ver paso 3).

La restauración de estos archivos se hace con pg_restore, pero eso lo dejamos para otro día. Si su urgencia es mayor ejecuten el comando:
man pg_restore
o bién
pg_restore --help

Eso sería por el día de hoy. Que les vaya bonito.