SELECT
owner propietario , table_name tabla , TRUNC(sum(bytes)/1024/1024) MB
FROM
(SELECT segment_name table_name, owner, bytes
FROM dba_segments
WHERE segment_type = 'TABLE'
UNION ALL
SELECT i.table_name, i.owner, s.bytes
FROM dba_indexes i, dba_segments s
WHERE s.segment_name = i.index_name
AND s.owner = i.owner
AND s.segment_type = 'INDEX'
UNION ALL
SELECT l.table_name, l.owner, s.bytes
FROM dba_lobs l, dba_segments s
WHERE s.segment_name = l.segment_name
AND s.owner = l.owner
AND s.segment_type = 'LOBSEGMENT'
UNION ALL
SELECT l.table_name, l.owner, s.bytes
FROM dba_lobs l, dba_segments s
WHERE s.segment_name = l.index_name
AND s.owner = l.owner
AND s.segment_type = 'LOBINDEX')
--WHERE owner in UPPER('&owner')
GROUP BY table_name, owner
HAVING SUM(bytes)/1024/1024 > 10 /* Ignore really small tables */
ORDER BY SUM(bytes) desc
;
Oracle : tamaño de todas las tablas de la base de datos
Consulta para obtener el tamaño de todas las tablas de la Base de datos:
Oracle Listener poison : solución sin rac
Para solucionar la vulnerabilidad (sin aplicar parche) en un oracle en configuración sin rac, hay que al listener.ora ($ORACLE_HOME/network/admin/listener.ora) la siguiente linea:
DYNAMIC_REGISTRATION_LISTENER = off
Más información en:
http://seclists.org/fulldisclosure/2012/Apr/204
https://forums.oracle.com/forums/thread.jspa?threadID=2381756&start=15&tstart=0
http://unaaldia.hispasec.com/2012/04/oracle-tns-poison-solucionada-4-anos.html
comtrend hg536+: Script para cambiar de ip sin resetear el router en python
Esta es la versión actualizada del script de este post comtrend hg536+: cambiar de ip sin resetear el router, script en python. La principal diferencia es que nos muestra la ip pública que teníamos antes de realizar el reseteo y después
El script usa lo mismo que lo explicado en Comtrend hg536+: cambiar de ip sin resetear el router.
Podremos ejecutarlo siempre y cuando tengamos instalado python en nuestro SO (linux, windows ...). Podemos crear el archivo con el comando
El script es el siguiente:
El script usa lo mismo que lo explicado en Comtrend hg536+: cambiar de ip sin resetear el router.
Podremos ejecutarlo siempre y cuando tengamos instalado python en nuestro SO (linux, windows ...). Podemos crear el archivo con el comando
cat > ~/bin/resetear.py
chmod u+x ~/bin/resetear.py
El script es el siguiente:
#!/usr/bin/python
#
# Copyright (C) 2012 dieguz2
# License: GNU GPL v2
# http://dieguz2.blogspot.com/
# Script for comtrend hg536+ ( firmware A101-302JAZ-C03_R21.A2pB021g.d15h )
# This scripts connect to router and reset ip in 40s. In this example use default values for jazztel .
import getpass
import sys
import telnetlib
import time
import urllib2
import re
HOST = "192.168.1.1"
LOGIN = "admin"
PASS = "admin"
PROMPT = " -> "
WAITTIME = 40 # Number of second
CONNECTIONNAME = "0.8.35 2" # to see your connections, manually connect to router (telnet 192.168.1.1) and use "wan show" .You should choose you PPPoE connection Use a combination of VCC + Con Id. For example ""0.8.35 2""
def resetear():
tnt = telnetlib.Telnet(HOST)
tnt.read_until("Login: ")
tnt.write(LOGIN + "\n")
tnt.read_until("Password: ")
tnt.write(PASS + "\n")
tnt.read_until(PROMPT)
tnt.write("ppp config " + CONNECTIONNAME + " down\n")
time.sleep(3)
tnt.write("\n")
tnt.write("ppp config " + CONNECTIONNAME + " up\n")
time.sleep(WAITTIME)
tnt.read_until(PROMPT)
tnt.write("ppp config " + CONNECTIONNAME + " up\n")
tnt.write("\n")
tnt.read_until(PROMPT)
tnt.write("13\n") # press option to exit
tnt.close()
return
def getip():
try:
ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}' ,urllib2.urlopen('http://checkip.dyndns.org/').read())
salida = ip[0];
except:
salida = '(Error al obtener la ip)'
return salida
#programa
ip_current = getip()
print 'Current ip -> ' + ip_current
resetear()
ip_new = getip()
print 'New ip -----> ' + ip_new
Sublime text 2 : multiples ventanas
En versiones antiguas de algunas distribuciones como Ubuntu 10.4, sublime text abre múltiples instancias o múltiples ventanas cada vez que hacemos click en algún documento.
Es un problema de la versión de libgio que viene en esa distribución (es < 2.26). Para solucionarlo vamos a bajar una versión actualizada de libgio, la copiaremos en un directorio y haremos que sublime cargue dicha librería antes de empezar.
Realizamos lo siguiente para compilar nuestra propia versión de la librería
A diferencia del post original $* va entrecomillado porque si no lo está no se abren correctamente rutas y archivos con espacios.
Fuente: http://mashingwachine.tumblr.com/post/4414279415/sublime-text-2-on-an-old-ubuntu-and-libgio-2-26
Es un problema de la versión de libgio que viene en esa distribución (es < 2.26). Para solucionarlo vamos a bajar una versión actualizada de libgio, la copiaremos en un directorio y haremos que sublime cargue dicha librería antes de empezar.
Realizamos lo siguiente para compilar nuestra propia versión de la librería
git clone git://git.gnome.org/glibAhora creamos un ejecutable (en nuestro home/bin)que cargue la librería antes de ejecutar sublime. Usamos cualquier editor (ej: vi ~/bin/sublime2 ). Y añadimos lo siguiente:
cd glib
git checkout 2.26.1
./autogen.sh --prefix=/opt/lib/glib2.26 make
sudo make install
#!/bin/bash LD_LIBRARY_PATH=/opt/lib/glib2.26/lib:$LD_LIBRARY_PATH /path_sublime/sublime_text "$*"Le damos permisos de ejecución:
chmod +x ~/bin/stA partir de ahora los archivos se nos abrirán en una sola instancia.
A diferencia del post original $* va entrecomillado porque si no lo está no se abren correctamente rutas y archivos con espacios.
Fuente: http://mashingwachine.tumblr.com/post/4414279415/sublime-text-2-on-an-old-ubuntu-and-libgio-2-26
Postgres : Ejecutar script en psql sin password
Cuando ejecutamos un script en psql no hay opciones para pasar el password como parámetro. PostgreSQL ofrece dos mecanismos para que no pregunte la constraseña. Esto es útil cuando vamos a ejecutar algún tipo de script.
FUENTE:
http://www.postgresql.org/docs/9.1/interactive/libpq-envars.html
http://www.postgresql.org/docs/9.1/interactive/libpq-pgpass.html
- Variable. La primera opción es definir la variable PGPASSWORD en nuestro script. Podemos poner
export PGPASSWORD=miContraseña - Archivo. Podemos crear el archivo ~/.pgpass (está el home), hay que darle los permisos 600 (
chmod 600 ~/.pgpass) . Si tiene otros permisos postgreSQL lo ignora.El formato del archivo es el siguiente:
hostname:port:database:username:password
Podemos utilizar el * como comodín en lugar de alguna de las partes
Podemos cambiar la ruta del archivo cambiando la variablePGPASSFILEpara que apunte a otra ruta
FUENTE:
http://www.postgresql.org/docs/9.1/interactive/libpq-envars.html
http://www.postgresql.org/docs/9.1/interactive/libpq-pgpass.html
Añadir texto al comienzo de un archivo
Para añadir texto al inicio de un archivo de texto podemos generar un archivo nuevo con el texto
Es importante indicar que - indica a cat que use la entrada estándar.
También podemos concatenar dos archivos también con cat
En este último ejemplo se añade cuerpo.txt al final de cabecera.txt
echo "texto al comienzo"| cat - cuerpo.txt > salida.txt
Es importante indicar que - indica a cat que use la entrada estándar.
También podemos concatenar dos archivos también con cat
cat cabecera.txt cuerpo.txt > salida.txtPara añadir texto al final usamos >>
cat cuerpo.txt >> cabecera.txt
En este último ejemplo se añade cuerpo.txt al final de cabecera.txt
Enemy Territory + PulseAudio : sonido
El et (enemy-territory) usa por el sistema de sonido OSS que está deprecated. Para poder escuchar correctamente todo, haremos los siguiente como root.
1)Vamos al directorio de instalación del et.
2) Ejecutamos como root:
3) Editamos el archivo et-sdl-sound (vi /usr/local/games/enemy-territory/et-sdl-sound), buscamos y cambiamos lo siguiente. Luego salvamos:
4) Editamos el archivo et que lanza el enemy ( vi /usr/local/games/enemy-territory/et ), lo dejamos así:
La modificación que permite esto se encuentra en:
http://nullkey.kapsi.fi/et-sdl-sound/
Que es el programador que ha realizado la modificación y al que le debemos un agradecimiento (y el link).
PD: 27 de Octubre de 2011. He actualizado los enlaces de la fuente.
1)Vamos al directorio de instalación del et.
cd /usr/local/games/enemy-territory.
2) Ejecutamos como root:
wget -q -O - http://nullkey.kapsi.fi/et-sdl-sound/et-sdl-sound.gz | gzip -d > et-sdl-sound && chmod a+x et-sdl-sound
3) Editamos el archivo et-sdl-sound (vi /usr/local/games/enemy-territory/et-sdl-sound), buscamos y cambiamos lo siguiente. Luego salvamos:
SDL_AUDIODRIVER="pulse"
4) Editamos el archivo et que lanza el enemy ( vi /usr/local/games/enemy-territory/et ), lo dejamos así:
#!/bin/sh5) Para ejecutar el enemy, lo haremos como siempre, lanzando el comando et, pero ahora tendremos sonido.
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
cd "/usr/local/games/enemy-territory/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
#exec ./et.x86 "$@"
exec ./et-sdl-sound "$@"
La modificación que permite esto se encuentra en:
http://nullkey.kapsi.fi/et-sdl-sound/
Que es el programador que ha realizado la modificación y al que le debemos un agradecimiento (y el link).
PD: 27 de Octubre de 2011. He actualizado los enlaces de la fuente.
Recuperación de Grub tras instalar Windows 7
Tras instalar windows 7 ( o cualquier otro Windows) se sobreescribe el MBR de nuestro disco duro y perdemos el arranque con GRUB. Para recuperarlo haremos los siguientes pasos.
1- Listamos las particiones de nuestros discos duros con el comando
sudo fdisk -l
2- Localizamos la partición que tiene linux, en mi caso la /dev/sbd6 . En la mayoría de los ordenadores suele estar en sda (primer disco duro).
3- Creamos un directorio con el mismo nombre de la partición
y lo montamos
sudo mkdir /media/sdb64- Ejecutamos comando para que se instale de nuevo grub.
sudo mount /dev/sdb6 /media/sdb6
sudo grub-install --root-directory=/media/sdb5 /dev/sdb
Fuente: http://ubuntuforums.org/showthread.php?t=1014708
Oracle : crear una suma acumulada
Para crear una suma acumulada usaremos las funciones analíticas de oracle. Un ejemplo completo
Con order by indicamos el campo de ordenación
--creacion de la tablaCon partition dividimos en grupos.
create table gastos(nombre varchar2(30),dia integer,gasto integer);
--inserción de datos de prueba
insert into gastos values('diego',1,10);
insert into gastos values('diego',2,20);
insert into gastos values('diego',3,30);
insert into gastos values('fede',1,5);
insert into gastos values('fede',2,20);
insert into gastos values('fede',3,10);
--agrupa por nombre, ordena por día
select nombre,dia,gasto, sum(gasto) over (partition by nombre order by dia desc rows unbounded preceding) sum_acu from gastos;
Con order by indicamos el campo de ordenación
Acer aspire 1654 WLMI : bloqueo del teclado y el touchpad
Al parecer el modelo Acer aspire 1654WLMI suele tener el problema de que se bloquea el teclado y el touchpad de vez en cuando.
Este bloqueo ocurre tanto cuando se está ejecutnado windows XP como en el profeso de formateo e instalación
Al parecer esto se produce por un fallo en la batería. Para solucionar el problema del bloqueo hay que comprar una batería nueva (19V 3.42A) o bien ejecutar/arrancar el ordenador sin la bateria dañada defectuosa.
Como nota adicional, comentar que Acer tiene una partición oculta que sirve para restaurar el sistema. Para arrancar desde dicha partición, reiniciamos el ordenador y cuando aparezca el logo de acer pulsamos ALT+F10. Nos pedirá una contraseña que por defecto es 000000.
Este bloqueo ocurre tanto cuando se está ejecutnado windows XP como en el profeso de formateo e instalación
Al parecer esto se produce por un fallo en la batería. Para solucionar el problema del bloqueo hay que comprar una batería nueva (19V 3.42A) o bien ejecutar/arrancar el ordenador sin la bateria dañada defectuosa.
Como nota adicional, comentar que Acer tiene una partición oculta que sirve para restaurar el sistema. Para arrancar desde dicha partición, reiniciamos el ordenador y cuando aparezca el logo de acer pulsamos ALT+F10. Nos pedirá una contraseña que por defecto es 000000.
Suscribirse a:
Entradas (Atom)
-
Está es un pequeño tutorial / guia que explica cómo crear un applet en Netbeans ( corriendo en Linux Opensuse). Para programar un applet en ...
-
Para poder insertar saltos de línea con el comando echo en linux se usa la siguiente sintaxis : echo -e "\n linea 1 \n linea 2 \n...
-
Para obtener una lista con los objetos bloqueados ejecucutados: select substr(a.os_user_name,1,8) "OS User" , substr(b.object_na...
