«Optimización SQL en Oracle» disponible en Kindle.

Hoy ha salido a la venta el libro «Optimización SQL en Oracle» en formato Kindle.

Aun hay esperar a que Amazon vincule la edición impresa y la electrónica (dicen que sobre unas 48 horas), sobre todo porque el libro está en Amazon Matchbook, que permite que quien ha comprado la edición impresa pueda descargarse el libro en Kindle gratis, aunque creo que esta opción sólo está disponible en amazon.com por el momento.

¿Por qué ha tardado tanto en salir la edición Kindle?

Para empezar, porque es un libro concebido para un tamaño concreto. Está lleno de líneas de código y outputs de pantalla (en ocasiones con anchos de línea de 140 o 160 caracteres) para que los planes de ejecución puedan leerse correctamente. El libro impreso tiene un tamaño de ancho y alto de 9.6 pulgadas x 6.7 pulgadas (24,6cm x 17cm) y otras pruebas de impresión a formatos más reducidos perdían legibilidad. ¿Has visto alguna vez un plan de ejecución con explain plan en tu iPhone? Complicado.

¿Por qué una edición en Kindle?

Personalmente, pienso que la edición impresa es de lujo. La calidad de impresión es ideal, los contenidos están indexados por palabras al final del libro y, por lo que nos han comentado los lectores, vale la pena tenerlo impreso y leerlo de principio a fin. La maquetación de los contenidos y las imágenes están ajustadas al tamaño del papel. No obstante, tenerlo en papel implica en ocasiones unos gastos de envío (en ciertos países con fuertes cargos de aduana) y unos tiempos de espera considerables.

Con esta edición, el libro puede estar disponible inmediatamente en los dispositivos digitales, y gratis para quien haya adquirido el libro en Amazon (que imagino que serán los usuarios de Kindle), con actualizaciones de contenido que las impresiones registradas con ISBN en papel no permiten, con todas las ventajas que la lectura electrónica ofrece como búsqueda de palabras, diccionario, lectura práctica, lectura en el PC con copy/paste directamente del código del libro, etc.

¿Cómo se han resuelto estos aspectos de visualización?

Para empezar, el libro incluye embebida una fuente gratuita Courier Prime para que el código y el resultado se vea lo más parecido al libro impreso. La mayoría de problemas de se resuelven reduciendo la fuente o usando la visualización horizontal.  ADVERTENCIA! No obstante, en ciertos dispositivos como iPhone o Kindle2 (el más pequeño), algunos planes de ejecución más complejos se pueden leen con cierta dificultad.

En estos casos, lo más recomendable es descargarse el código SQL de ejemplo de la web y seguir la lectura practicando con los ejemplos sobre la base de datos.

Preparando la edición Kindle de «Optimización SQL en Oracle»

Aunque el libro está concebido en formato papel, por el ancho de página y los contenidos (código, trazas, etc.) la edición kindle ya está en el horno!

… ¿qué os parece?, ¿alguien interesado?, ¿alguna sugerencia?, ¿dudas?, ¿comentarios?, …

Pregunta para un aspirante a un puesto de DBA (parte II)

Viene de la parte 1.

En este proyecto era muy importante para el cliente el número de palabras de cada pregunta (debía oscilar entre 350-500). Por mi parte lo consideré excesivo. Suelo dedicar a cada exposición el texto que creo conveniente. Por eso tengo entradas larguísimas (cómo montar un RAC o la replicación con GoldenGate) y otras muy cortas.

Así que propuse el siguiente ejemplo (120 palabras aproximadamente) en que, según mi entender, no es preciso extenderse más con la pregunta ni la exposición de las respuestas.

QUESTION: 
Which of the following SQL commands will raise an error when executed on a table named TEST placed in a READ ONLY tablespace?
POSSIBLE ANSWERS:
A:AUDIT INSERT ON test;
B:TRUNCATE TABLE test;
C:DROP TABLE test;

D:ALTER TABLE test MOVE TABLESPACE system;



¿Qué tal? ¿Sabéis la respuesta?

Pregunta para un aspirante a un puesto de DBA

En esta semana me han ofrecido un proyecto en Elance basado en preparar unas 300 preguntas para candidatos a puestos de DBA de Oracle, incluyendo la respuesta y las explicaciones. Las reglas no permitían preguntas de si/no/verdadero/falso, ni multi opción, y debían basarse en escenarios de trabajo reales.

Finalmente el proyecto no saldrá adelante con mi participación, y quiero compartir con vosotros la pregunta que lancé como ejemplo: (la solución y explicación está en los comentarios)

QUESTION: 
Database is stuck. No more connections are allowed because ofORA-00257: archiver error. Connect internal only, until freed.You check the following:
– db_recovery_file_dest_size is set to 20GB
– db_recovery_file_dest filesystem/folder has 30GB of free space available
– v$flash_recovery_area_usage shows a 99% of occupation.
What would you do first to set the database available with minimum impact as fast as possible?
POSSIBLE ANSWERS:
A:Delete archivelogs from Flash Recovery Area with OS commands becausethat would free the archiver area.
B:Launch an archivelogs backup with RMAN using the “delete input” clause because that would free the archiver area.
C:Change the parameter db_recovery_file_dest_size to 50G.
D: Change the database mode to NOARCHIVELOG, delete archivelogs from Flash Recovery Area and set back the database to ARCHIVELOG mode.

Blog de Clarisa Mamán

Gracias a la Comunidad Oracle Hispana estoy teniendo la oportunidad de conocer otros blogs de tecnología Oracle en español y después del de Andrew Reid me gustaría mencionar el de Clarisa Mamán.
Su blog está lleno de videotutoriales sobre APEX y desarrollo SQL sobre Oracle. Los videos son claros y precisos, tanto que invitan a matricularse en su curso sobre APEX en que enseña cómo desarrollar una aplicación completa, desde la instalación a los detalles finales.

 Blog de Clarisa Mamán