lunes, 28 de diciembre de 2009

File system management (LVM, RAID, Swap, ...)

Bueno aqui va mi segundo PPT.

Este va sobre file system management a través de RAID y LVM en Linux.

Además hay una pequeña mención a swap y el failover con ella.

Saludos y espero que sirva.


Bounding - Failover

He decidido que poco a poco iré poniendo los PPT que me he hecho sobre todos los temas que trato, para así compartir lo poco que sé y sobre todo a la espera de comentarios para aprender mucho más.

El primero que voy a poner es uno de bounding, que espero que sirva de ayuda para alguien.

lunes, 2 de febrero de 2009

ORACLE. Cursor variables

Las variables implicitas dentro de un cursor son:

  1. cursor%ISOPEN -> True/False. Devuelve si el cursor está abierto, es decir, después de ejecutar open, y al contrario, es decir, después de ejecutar close.
  2. cursor%FOUND ->True/False. Después de ejecutar fetch, devuelve si el cursor contiene datos. Si se alcanza más allá del último registro después de fetch, la variable devuelve FALSE.
  3. cursor%NOTFOUND ->True/False. Contrario del FOUND.
  4. cursor%ROWCOUNT -> Número. Número de registros afectados en la selección. Después de open, equivale al número total, pero el número decrece después de cada fetch.
Hay que tener en cuenta que FOUND, NOTFOUND y ROWCOUNT no se pueden utilizar antes de abrir el cursor con open, ya que darían una excepción.

Suerte en el mundo Oracle!!!

domingo, 1 de febrero de 2009

ORACLE. Obtener plan de ejecución

Para poder obtener el plan de ejecución podemos utilizar básicamente 2 métodos:

  1. Si queremos obtener el plan pero no guardarlo, ejecutar SET AUTOTRACE ON EXPLAIN antes de ejecutar el SQL que queremos analizar. Una vez finalizado ejecutar SET AUTOTRACE OFF. Para poder obtener utilizar este comando, primero ejecutar $ORACLE_HOME/sqlplus/admin/plustrce.sql y dar el permiso plustrace al usuario ("grant plustrace to ;")
  2. Si queremos guardarlo utilizar EXPLAIN PLAN SET STATEMENT_ID='MI CODIGO' INTO PLAN_TABLE FOR y después ejecutar "SELECT OPERATION, OPTIONS, OBJECT_NAME FROM PLAN_TABLE WHERE STATEMENT_ID='MI CODIGO'. La tabla utilizada es la que definida por defecto pero podemos definir una propia nuestra.

Suerte en el mundo Oracle!!!!

miércoles, 14 de enero de 2009

ORACLE. Función de texto SUBSTR y INSTR

Ya sea dentro de PL/SQL o bien en el mismo SQL Plus las funciones de gestión de textos son muy utilizadas. Algunas con mayor o menor acierto.

Unas de las más utilizadas, sobre todo el tratamiento de flags, tenemos a:

SUBSTR(cadena,inicio,longitud) para extraer unas letras de un texto. Los parámetros:
  • cadena = Texto
  • inicio = Posición Inicial, por defecto 1. Si el valor es negativo, p.e. -1, la posición inicial es la longitud de la cadena -1. Si ponemos 0, Oracle pondrá 1.
  • longitud = Longitud del texto a extraer. En caso de omitirse se extrae todo el string.
Ejemplos

substr('abcdefg', 3, 2) = 'cd'
substr('abcdefg', 3) = 'cdefg'
substr('abcdefg', -3, 1) = 'e'

IN
STR(cadena,cadena_a_buscar, inicio, iteración) para buscar la posición donde se encuentra la cadena a buscar. Los parámetros:
  • cadena = Texto donde se buscará
  • cadena_a_buscar = Texto que se buscará
  • inicio = Posición Inicial, por defecto 1. Si el valor es negativo, p.e. -1, la posición inicial es la longitud de la cadena -1 y entonces la busqueda es modo reverso
  • iteración = Número de vez que buscamos.
En caso de encontrar se devuelve 0.

Ejemplos

instr('abcdeabcde', 'e') = 5
instr('abcdeabcde', 'e',1,1) = 5
instr('abcdeabcde', 'e',1,2) = 10
instr('abcdeabcde', 'e',-2,1) = 5
instr('abcdeabcde', 'a',-2,2) = 1