javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.

miércoles, 17 de septiembre de 2008

Obtener el tamaño de una base de datos en PostgreSQL

En ocasiones necesitamos saber el tamaño que está ocupando nuestra base de datos de PostgreSQL dentro del disco duro, ya sea para solicitar recursos para migrar alguna aplicación, o alguna estadística en cuestión del crecimiento de la base de datos, en fin, para diversas cosas.

La forma en que podemos obtener dicho tamaño dentro del prompt de PostgreSQL, puede ser ejecutando esta sentencia de SQL.

javoaxian=> SELECT datname, pg_database_size(datname) FROM pg_database;

La sentencia anterior nos devuelve el tamaño en bytes de todas las bases de datos que existen en el manejador.

Si quisieramos obtener el tamaño de una base en específco, podríamos ejecutar la sentencia de la siguiente manera:

javoaxian=> SELECT datname, pg_database_size(datname) FROM pg_database WHERE datname='javoaxian';

Para finalizar, si también quisieramos convertir a kbytes el tamaño de la base de datos, podemos hacer lo siguiente:

javoaxian=> SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database WHERE datname='javoaxian';

lunes, 15 de septiembre de 2008

Crear una base de datos en PostgreSQL

Hoy veremos la manera básica en que podemos crear una base de datos en PostgreSQL. Para hacer ésto, nos deberemos de conectar con la cuenta de administración de PostgreSQL la cual es postgres o en su defecto con algún usuario que tenga los privilegios para crear bases de datos.

javoaxian@sky:~$ psql -U postgres -d template1
template1=#

Ahora que ya estamos conectados al manejador de base de datos, crearemos una base de datos llamada javoaxian en donde el dueño de dicha base de datos será el usuario javoaxian y el encoding utilizado en ella será LATIN1.

template1=# CREATE DATABASE javoaxian WITH OWNER=javoaxian ENCODING='LATIN1';

Con esto ha quedado creada nuestra base de datos, cabe recordar que también deberemos modificar el archivo pg_hba.conf para darle permisos al usuario javoaxian para que se pueda conectar a la base de datos.

Para ejemplificar, supondré que tenemos instalado PostgreSQL en /opt/pgsql, por lo tanto nuestro archivo pg_hba.conf se encuentra situado en /opt/pgsql/data. Editamos el archivo con el editor de texto de nuestra preferencia, siempre y cuando el usuario que lo edite sea el usuario postgres o el usuario root.
Al final del archivo agregaremos la siguiente línea para permitir que nuestro usuario (en mi caso javoaxian) se conecte a la base de datos (javoaxian) con el algoritmo de cifrado md5.

local   javoaxian   javoaxian                   md5

Y si deseamos que también se pueda conectar remotamente desde cualquier parte:
host    javoaxian   javoaxian   0.0.0.0 0.0.0.0       md5

Deberemos guardar los cambios y reiniciar el manejador de base de datos. Para detener el servicio pueden hacer ésto:

postgres@darthmaul:~$ kill -INT `head -1 /opt/pgsql/data/postmaster.pid`

y para reiniciarlo, pueden realizar esto otro:

postgres@darthmaul:~$ /opt/pgsql/bin/postmaster -D /opt/pgsql/data&

Con todo lo anterior, deberán poderse conectar a la nueva base de datos. En mi caso sería de la siguiente manera:

javoaxian@sky:~$ psql -U javoaxian -d javoaxian
Password for user javoaxian:

Welcome to psql 8.3.1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

javoaxian=>

sábado, 13 de septiembre de 2008

Ver los tablespaces de una base de datos con sqlplus en Oracle

En ocasiones deseamos consultar los tablespaces que se encuentran creado en una base de datos usando sqlplus pero no sabemos cómo. Pues bien, la forma de consultarlos es muy sencilla, deberemos ejecutar alguna de las siguientes instrucciones en SQL, las cuales nos devolverán los nombres de los tablespaces creado.

En caso de ser usuario sys o system, podemos ejecutar la siguiente consulta:

SQL> SELECT tablespace_name FROM dba_tablespaces;

En el caso de ser un usuario que no tiene privilegios de administrador, podemos ejecutar la siguiente consulta:

SQL> SELECT tablespace_name FROM user_tablespaces;

Como se puede observar, únicamente estamos obteniendo el nombre de los tablespaces, pero podemos obtener más información de ellos usando el operador *, por ejemplo:

SQL> SELECT * FROM dba_tablespaces;

o

SQL> SELECT * FROM user_tablespaces;

viernes, 12 de septiembre de 2008

Tocada de Monittor este sábado 13 de Septiembre de 2008

Pues para todos aquellos amantes de la música y seguidores de Monittor, les comento que este sábado van a tener un toquin.

Aquí pongo la información que me mando el buen Mike.

Monittor toca música por los animales, en evento Pro Vegetarianismo www.larevoluciondelacuchara.org en el "Centro Cultural de Yoga
Prabhupada", Allende 33 Col. Centro, a 3 cuadras del Metro Allende.

jueves, 11 de septiembre de 2008

Hacer un respaldo de un repositorio en Subversion (SVN) en GNU/Linux

El día de hoy voy a explicar como realizar el respaldo de un repositorio en Subversion, esto es importante hacerlo periódicamente para que no tengamos una versión reciente en nuestros respaldos de todo lo que contiene el repositorio.

La manera que vamos a hacer nuestro respaldo permitirá respaldar completamente todas las revisiones que tiene nuestro repositorio, y no únicamente la última.

Para hacer el respaldo, usaremos el comando svnadmin de la siguiente manera:

javoaxian@darthmaul:~$ svnadmin dump /home/javoaxian/repositorioSVN | gzip -9 > respaldo_repositorio_2008-09-08.gz

En el ejemplo anterior, le estoy indicando al comando svnadmin que hará un respaldo con la opción dump del repositorio que se encuentra en /home/javoaxian/repositorioSVN, además la salida de ese comando la estamos entubando para que lo comprima en formato zip con el comando gzip y la salida la estamos redirigiendo a un archivo llamado respaldo_repositorio_2008-09-08.gz el cual será el respaldo que contenga toda la información de nuestro repositorio.

Eso es todo por el momento.

martes, 9 de septiembre de 2008

Instalar Google Chrome en Debian y Ubuntu usando Wine

Hace dos días mencionaba como compilar Google Chrome, pues ahora bien, explicaré como pueden instalar este navegador en Debian Lenny y Ubuntu 7.10 Gutsy Gibbons y 8.04 Hardy Heron.

Para efectuar esto, lo primero que necesitaremos es instalar la versión más reciente de Wine, esto lo haremos como lo indico en este post.

Una vez instalado wine, descargaremos el archivo para instalar Google Chrome. Este archivo deberá ser el instalador fuera de línea, el cual puede descargarse desde aquí.

http://gpdl.google.com/chrome/install/149.27/chrome_installer.exe

En mi caso, el archivo lo descargué en /home/javoaxian/Descargas, por tal motivo ingresaré al directorio con mi cuenta de usuario normal.

javoaxian@darthmaul:~$ cd /home/javoaxian/Descargas

Ahora que ya tenemos dicho archivo, deberemos ejecutar el siguiente comando:

javoaxian@darthmaul:~$ wine chrome_installer.exe

Esto nos mostrará la siguiente pantalla, donde deberemos presionar "Iniciar Google Chrome".


Nos aparecerá un error de que no se pudo iniciar correctamente el navegador, presionaremos "Cancelar" y cerraremos el navegador.




Como usuario root en otra consula instalaremos el paquete cabextract.

javoaxian@darthmaul:~$ su -
root@darthmaul:~$ apt-get install cabextract
root@darthmaul:~$ exit

Ahora instalaremos los siguientes paquetes riched20 y riched30 en la consola de nuestro usuario.

javoaxian@darthmaul:~$ wget http://www.kegel.com/wine/winetricks
javoaxian@darthmaul:~$ sh ./winetricks riched20 riched30

Si por alguna razón el comando anterior les manda un mensaje de error similar a este:

Cannot find wine (/usr/wine)

Deberán editar el archivo winetricks y buscar la siguiente línea:

WINE=${WINE:-wine}

y poner la ruta completa de donde se encuentra el ejecutable wine, como por ejemplo:

WINE=/usr/bin/wine

Ahora que ya funcionó este comando e instaló los paquetes antes mencionados, ejecutaremos el siguiente comando para arrancar el navegador.

javoaxian@darthmaul:~$ wine "$HOME/.wine/drive_c/windows/profiles/$USER/Configuración local/Datos de programa/Google/Chrome/Application/chrome.exe" --new-http --in-process-plugins&

Si su sistema está en inglés, la ruta deberá cambiar de esta manera:

javoaxian@darthmaul:~$ wine "$HOME/.wine/drive_c/windows/profiles/$USER/Local Settings/Application Data/Google/Chrome/Application/chrome.exe" --new-http --in-process-plugins&

Esta es una pantalla de Google Chrome funcionando.

domingo, 7 de septiembre de 2008

Instalar Wine desde su código fuente en GNU/Linux

En este post voy a explicar cómo podemos instalar Wine desde su código fuente. Esta instalación la he realizado en Debian Lenny y Ubuntu 7.10 Gutsy Gibbons y 8.04 Hardy Heron, pero no deberán tener problemas en alguna otra distribución, si acaso lo que es muy probable que varíe, son las dependencias que pueda necesitar su equipo, yo aquí expongo las que a mi me surgieron.

Vamos a comenzar instalando las dependencias, como les comenté, son las que a mi me surgieron en mis instalaciones más no son todas. Aquí hay una lista de paquetes que se recomiendan instalar. La forma de instalarlas también cambiará de acuerdo a su distribución. En este caso las instalaré basandome en sistemas basados en Debian.

Nos convertiremos en el usuario root.

javoaxian@darthmaul:~$ su -

Instalaremos las siguientes dependencias:

root@darthmaul:~$ apt-get install flex bison openssl libssl-dev libxslt1.1 libxslt1-dev

Una vez que se encuentran instaladas, descargaremos el archivo con los fuentes de wine. En el momento de realizar este artículo, la versión más reciente es la 1.1.4 por tal motivo, descargaremos el archivo wine-1.1.4.tar.bz2.

Ahora que ya contamos con el archivo con los fuentes, yo lo colocaré en el directorio /usr/local/src que es donde regularmente yo descomprimo los archivos fuente de los programas que instalo. En mi caso bajé el archivo en el directorio /home/javoaxian/, por esta cuestión, lo copiare de la siguiente forma.

root@darthmaul:~$ cp /home/javoaxian/wine-1.1.4.tar.bz2 /usr/local/src/

Ahora nos moveremos a ese directorio, descomprimiremos el archivo e ingresaremos al directorio creado:

root@darthmaul:~$ cd /usr/local/src
root@darthmaul:~$ tar -jxvf wine-1.1.4.tar.bz2
root@darthmaul:~$ cd wine-1.1.4

Ahora procederemos a ejecutar los siguientes comandos para instalar wine:

root@darthmaul:~$ ./configure
root@darthmaul:~$ make depend
root@darthmaul:~$ make
root@darthmaul:~$ make install

Eso es todo, ya tenemos instalado nuestro Wine desde su código fuente y ahora ya podremos usar el comando wine.

viernes, 5 de septiembre de 2008

Desinstalar Oracle 10g Expression Edition XE en Debian y Ubuntu

Con anterioridad escribí un post de cómo podíamos instalar Oracle 10g Expression Edition ya sea en nuestra máquina con Debian o Ubuntu, pues ahora bien, revisando las visitas en el blog, me he podido percatar que muchos llegan preguntando como pueden desinstalar esta base de datos, por tal motivo decidí realizar este post.

La forma de desinstalarlo es muy sencilla, bastará con ejecutar los siguientes comandos como el usuario root para poder desinstalar completamente este manejador de base de datos.

javoaxian@darthmaul:~$ su -
root@darthmaul:~$ dpkg -P oracle-xe-universal
(Leyendo la base de datos ...
120095 ficheros y directorios instalados actualmente.)
Desinstalando oracle-xe-universal ...
Shutting down Oracle Database 10g Express Edition Instance.
Stopping Oracle Net Listener.
root@darthmaul:~$ rm -rf /usr/lib/oracle/
root@darthmaul:~$ rm /etc/oratab
root@darthmaul:~$ rm /etc/init.d/oracle-xe
root@darthmaul:~$ rm -rf /usr/share/doc/oracle_xe

Esto es todo lo que se tiene que hacer para desinstalar este manejador de base de datos, ojala que les sea de utilidad.

jueves, 4 de septiembre de 2008

Compilar navegador Google Chrome Beta en Debian y Ubuntu

Pues bien, ahora con la salida del nuevo navegador de Google llamado Chrome en su versión Beta, algunos ya lo han podido probar, pero como hemos podido observar, sólo está disponible para Windows. Para los usuarios de GNU/Linux pero ha salido en algunos blog's y sitios cómo poder compilarlo. Ojo, sólo se puede compilar más todavía no se cuenta con la interfaz gráfica, además que al estar en una etapa de desarrollo, se pueden tener muchos problemas al compilar ya que está inestable.

Para quienes quieren aunque sea compilarlo aquí explico cómo hacerlo. Esta explicación fue basada en lo descrito en Chromium Developer Documentation y la he realizado tanto en Debian Lenny, Ubuntu 7.10 Gutsy Gibbons y 8.04 Hardy Heron.

Los requerimientos para compilarlo son los siguientes:

  • Subversion >= 1.4 (note: if you use the tarball below, due to an oversight, you'll need 1.5. we'll fix this.)
  • pkg-config >= 0.20
  • Python >= 2.4
  • Perl >= 5.x
  • gcc/g++ >= 4.2
  • bison >= 2.3
  • flex >= 2.5.34
  • gperf >= 3.0.3
  • libnss3-dev >= 3.12

Para instalarlos en las distribuciones antes mencionadas, nos convertiremos en usuario root y ejecutaremos el siguiente comando:

javoaxian@darthmaul:~$ su -
root@darthmaul:~$ apt-get install subversion pkg-config python perl g++ bison flex gperf libnss3-dev
root@darthmaul:~$ exit

Una vez instalados los requerimientos, vamos a crear un directorio donde deseemos bajar los archivos necesarios para la compilación. En mi caso creé en mi HOME una carpeta llamada chrome con mi cuenta de usuario normal. Nos moveremos al directorio que acabamos de crear y descargaremos el depot_tools.

javoaxian@darthmaul:~$ mkdir chrome
javoaxian@darthmaul:~$ cd chrome
javoaxian@darthmaul:~$ svn co http://src.chromium.org/svn/trunk/depot_tools/linux depot_tools

Ahora obtendremos la versión más reciente del código de Google Chrome.

javoaxian@darthmaul:~$ ./depot_tools/gclient config http://src.chromium.org/svn/trunk/src
javoaxian@darthmaul:~$ ./depot_tools/gclient sync

Hecho lo anterior, finalizaremos compilando Google Chrome moviendonos primeramente al directorio depot_tools/src/chrome.

javoaxian@darthmaul:~$ cd depot_tools/src/chrome
javoaxian@darthmaul:~$ ../third_party/scons/scons.py Hammer

Los ejecutables serán colocados en mi caso, dentro del directorio $HOME/chrome/depot_tools/src/chrome/Hammer.