viernes, 26 de febrero de 2010

Matar proceso MySql

Cuando tenemos una consulta colgada, ya sea porque es muy pesada o por algun error particular, y queremos cortarla sin tener que bajar mysql lo que tenemos que hacer es lo siguiente.

Luego de accedar a mysql por consola, ejecutamos

> show full processlist;

Ahi nos muestra todas las consultas que se estan corriendo, detectamos cual es la que nos causa problemas y ejecutamos lo siguiente

> kill numero;

donde dice numero ponemos el id que obtuvimos arriba.

lunes, 8 de febrero de 2010

Compilar java desde consola

Cuando no tenemos Eclipse o cualquier otro Ide para que no ayude, entonces tenemos que hacerlo todo desde consola, lo único que precisamos es tener el JDK instalado para tener el javac que es el compilador de java.

Este es un ejemplo de cómo compilar una clase java desde consola, supongo que se necesita por lo menos una jar (en este caso un jar de genexus)

javac -cp .;GXClassR.jar archivo.java

-cp nos dise que el classpath además de tener el que esta guardado en la variable de ambiente (esto con el punto ".") además utilizamos el o los jar que le indiquemos separados por punto y coma (;) si es windows y dos puntos (:) si es Linux

Esto nos genera un archivo.class que lo copiamos al webapp y listo ya tenemos nuestro programa para poder ejecutarlo.

Importar y Exportar base en Informix

Vamos a ver como hacemos para exportar una base de datos y levantarla en otra, para esto debe de tener creada la base origen y no haber creado la base destino.

Exportar una base

onunload -t <tapeDevice> -b <blockSize> -s <tapeSize> <nombreBase>

donde:

<tapeDevice> es el dispositivo donde se va a hacer la exportación (puede ser un archivo)

<blockSize> es el tamaño de bloque del dispositivo donde se va a hacer la exportación

<tapeSize> es el tamaño del dispositivo donde se va a hacer la exportación.

<nombreBase> es el nombre de la base a exportar

Por ejemplo, para exportar la base tributos a disco:

onunload -t /tmp/origen.dat -b 64 -s 20000000 baseorigen

Notas:

- El archivo /tmp/origen.dat debe existir y debe tener como dueño y grupo 'informix'. Además, los permisos deben ser 660.

- Cuando vayas a importar la base, vas a tener que usar los mismos tamaños de bloque y del dispositivo, así que acordate que valores usaste al exportar.

- Si la exportación se hace a disco, el límite del archivo generado es de 2 Gb.

- Si la exportación se hace a cinta, o a un dispositivo de disco crudo, no hay límite de espacio.

Importar una base

onload -t <tapeDevice> -b <blockSize> -s <tapeSize> -d <dbspace> <nuevoNombreBase>

donde:

<tapeDevice> es el dispositivo desde donde se va a hacer la importación (puede ser un archivo)

<blockSize> es el tamaño de bloque del dispositivo desde donde se va a hacer la importación

<tapeSize> es el tamaño del dispositivo desde donde se va a hacer la importación

<dbspace> es el nombre del dbspace donde se quiere importar la base

<nuevoNombreBase> es el nombre con que se importará la base previamente exportada

Por ejemplo, para exportar la base tributos a disco:

onload -t /tmp/origen.dat -b 64 -s 20000000 -d datosdbs destino

Notas:

- Antes de hacer la importación, hay que borrar la base destino si existiera

- Los valores de 'blockSize' y 'tapeSize' deben ser los mismos usados durante la exportación.

- Luego de importar, habría que ponerle transacciones a la base, por ejemplo con:

ondblog buf destino

onbar -b -F