Grupo de Slack para DBAs en Español

En 22/06/2017, en Misc, por raulibaper

Slack is awesome! La verdad es que Slack es bastante útil y además, es gratis. Se trata de una app (móvil/web) que nació con la misión de sustituir el correo electrónico. Para los más veteranos, os recordará al mítico IRC.

Personalmente pienso que puede ser de mucha ayuda para nuestra comunidad. Es por esto que acabo de crear un grupo de Slack público para todas aquellas personas que trabajan o quieran trabajar con Oracle. Principalmente DBAs, Junior o Senior, no importa. Si estás leyendo esto, eres bienvenid@!

Editado: El grupo se llama a partir de ahora (17/07/17) DBA Junior por votación de sus miembros. Pero todo lo demás sigue igual, un grupo abierto y libre en Español donde podremos:

  • Preguntar dudas técnicas de Oracle (instalación, fallos, …)
  • Compartir las ofertas de trabajo que recibamos (ya he publicado dos)
  • Aprender de otras personas con más experiencia
  • Conocernos mejor
  • Y lo que tu quieras 🙂

Para poder entrar, podéis usar esta invitación.

https://dbajunior.slack.com

Espero que con vuestra ayuda, hagamos de este espacio algo útil y divertido para todos.

 

Hace tiempo que quiero hablar sobre las entrevistas. Principalmente porque no hay mucha información ahí fuera. Casi todo lo que uno aprende de como hacer entrevistas es de la propia experiencia o sino, del boca-a-boca con otros compañeros. Personalmente he pasado por bastantes, he modificado mi CV un millón de veces – bueno a lo mejor alguna menos 😆 – y también he podido realizar entrevistas a candidatos para puestos de DBA (Junior y Senior). Así que os puedo dar algunas pautas básicas pero muy importantes.

1. Regla Número Uno -> CONGRUENCIA.

Existe una cualidad que está por encima de vuestros conocimiento técnicos, títulos universitarios, idiomas, o habilidades personales. No se anuncia en las ofertas de trabajo, no se habla de ello, pero es lo más importante. Voy a tratar de explicároslo lo mejor posible. Cuando vais a una entrevista de trabajo lo que estáis haciendo en venderos a vosotros mismos. Vuestra forma de ser así como vuestras cualidades (experiencia, conocimientos, etc..) deben ajustarse a un marco de congruencia. Por poner un ejemplo más concreto.

Si vais a un proceso de selección de un DBA Junior y te empiezan a hacer preguntas técnicas, no se espera de vosotros que lo sepáis todo. Es un fallo muy común al entrevistar a un Junior, que piensa que debe tener todas las respuestas, se pone nervioso, empieza a titubear y responde cosas sin sentido. Es en ese punto cuando al entrevistador se le sube una ceja tal que así. Es mucho mejor decir que no se sabe la respuesta a la pregunta y comentar algo que sí se esperaría de un Junior, como que estás muy emocionado por poder aprender y convertirte en un profesional experimentado con el tiempo. Otra respuesta válida e interesante es que estás pensando en hacer un curso por tu cuenta de Tuning (por poner un ejemplo).

Podemos aplicar la misma reglar a un Senior. Recuerdo una entrevista con un Senior al que le pregunté acerca de su experiencia con Data Guard y empezó a hablar y hablar, y paso de Data Guard a RMAN y de ahí a no se-que-otra-cosa que no recuerdo por que ya había desconectado. Si aplicamos la regla de la congruencia a un Senior, esperaríamos una respuesta sensata, proporcionada y que normalmente esté respaldada por un ejemplo. Un Senior se supone que debe ser una persona experimentada, segura, comunicadora (mentor para los Junior). En este tipo de entrevistas se utiliza mucho el método STAR que comentaré más tarde. Si un Senior se pone nervioso al hablar o no sabe comunicar, inmediatamente dudas de el.

Esta regla aplica a TODO: vuestra dirección de correo electrónico, CV, formato, forma de hablar, de saludar, de despediros, de sentaros, seguridad al hablar, etc. Por ejemplo, si un Senior te presenta un CV que está mal redactado o desestructurado, cómo puedes esperar de el que redacte documentación de calidad? Descartado! (o casi) Os podría dar montones de ejemplos 🙂 Si no os queda claro la idea de congruencia, dejad un comentario con vuestras dudas. A lo mejor os ayuda visualizar al entrevistador como una persona que va a buscar los fallos que tenéis, en vez de las virtudes. Esto es así en muchas ocasiones.

2. Regla Número Dos -> MARKETING.

Hay que venderse, y venderse bien, pero siempre respetando la regla número uno (marco de congruencia), así que no mintáis. Si hay otra persona que se vende mejor que vosotros, la van a escoger a ella. La mayoría de las veces no se elige a la persona que más sabe sino aquella que encaja mejor en el puesto, o mejor dicho, la persona que tu piensas que va a encajar mejor en el puesto. Aquí podríamos poner todas las pautas generales que podáis buscar en internet:

  • CV impecable: visualmente estético al primer golpe de visto, contenido relevante (especialmente último o puesto actual), bien resumido, max. 2 páginas, etc….
  • Vestimenta adecuada: zapatos, chaqueta y corbata a no ser que estés seguro de que el entorno es “casual”
  • Estrechar la mano con firmeza <- OJO aquí, aprended a dar la mano si no sabéis, hay mucha mano floja ahí fuera, no hay que romper huesos pero hay que mostrar fortaleza y seguridad
  • Forma de hablar pausada, tranquila, escuchar con atención, mirar a los ojos, manejar bien las manos (sentido común)

Todo esto deberías practicarlo con alguien que haya pasado por varias entrevistas para que os de su opinión. Por último, la observación más importante que os puedo dar aquí es que estéis preparados para explicar con detalle hasta el punto más pequeño e insignificante de vuestro CV, vuestra apariencia, lugar de nacimiento, etc. Los entrevistadores lanzan preguntas al azar muchas veces para ver como reaccionáis a preguntas inesperadas. Saber reaccionar aquí es crucial, os remito a la regla número uno. Digáis lo que digáis que cuadre con vuestra historia.

3. Regla Número Tres -> Ejemplos.

En grandes empresas se utiliza mucho el método STAR para hacer entrevistas. El objetivo de este método es averiguar como reaccionáis a los problemas o tareas del día a día en vuestro puesto. Un buen ejemplo es 1.000 veces mejor que la mejor explicación teórica que podáis dar. Supongamos que os preguntan por RMAN (pregunta abierta) tenéis dos opciones:

  • ERROR -> Explicar que RMAN es una utilidad que proporciona Oracle para hacer y restaurar copias de seguridad, y no explicar nada más.
  • CORRECTO -> Explicar qué es RMAN y contar vuestra experiencia con ello, como por ejemplo, que política de backups utilizáis para las BBDD de producción. Si además añadís como hacéis el backup de esa BD gigantesca de 168TB entonces bordáis la pregunta.

Si os parece bien, podemos compartir un documento en Google Docs con Preguntas y Respuesta que pueden darse en una entrevista. Yo he puesto unas pocas separadas por area. Es un documento colaborativo así que os invito a añadir preguntas y respuestas que habéis tenido. Es un experimento 🙂 así que veremos como funciona. Más consejos en siguientes posts.

Preguntas y Respuestas Entrevista DBA Oracle -> https://goo.gl/aF7TzD

 

Mapa Certificaciones Oracle 12c Database

En 11/04/2017, en Misc, por raulibaper

Certificaciones “Core” 12c

El número de certificaciones disponibles de Oracle crece con cada versión. A fecha de hoy, 11 de Abril de 2017, Oracle tiene 13 certificaciones tan solo para base de datos 12c (Database 12c). Y solo hablo de certificaciones específicas de “Database“. No incluyo todas las demás, como Cloud, Exadata, Security, PL/SQL, etc.

Esta cantidad de certificaciones puede ser intimidante al principio pero no os preocupéis. Os hecho un sencillo mapa donde se ven las certificaciones más importantes y como llegar a ellas. Con “importantes” me refiero a las que son más demandadas en los procesos de selección: OCA 12c, OCP 12c y OCM 12c.

He dividido las certificaciones en dos diagramas, uno para certificaciones principales o “Core” y otro diagrama para las certificaciones secundarias (Specialist y Expert). Además he añadido todas las rutas de actualización de certificaciones anteriores (11g) a la 12c (flechas en rojo). Podéis hacer Click en cada certificación para ir a la página con la información específica de cada una.

OCA12c OCAF OCP12c OCP12cR2 OCM12c OCM12MA

Certificaciones “Core” 12c y Rutas de “Upgrade”

* Las rutas desde 11g también válidas para certificaciones 10g, excepto para OCP 12cR2.

Tenemos tres certificaciones nuevas para Database 12c, una para cada nivel (level): Associate, Professional y Master.

  • OCA Foundations (Foundations Certified Junior Associate): Para obtener esta certificación solo es necesario aprobar el examen 1Z0-006. Está dirigido para aquellas personas que quieren demostrar conocimiento mínimos de Bases de Datos, el modelo Entidad-Relacional, así como conocimientos (muy básicos) de SQL. El público objetivo de este examen son estudiantes de secundaria o universitarios.
  • OCP 12c Release 2: A efectos, es la misma que OCP 12c  (Release 1). Únicamente cambia la ruta por la que se accede, a través del examen 1Z0-074, el cual incluye algunas preguntas acerca de las New Features que podemos encontrar en la nueva Release 2, cómo Flashback PDB.
  • OCM 12c Maximum Availability:  Esta certificación se obtiene de forma automática cuando eres OCM 12c + OCE 12c RAC + OCE 12c Data Guard. Cuando llegues a ser OCM 12c MA, avísame y te daré mi más sincera enhorabuena  👏 👏  🍾 🍾  😎

Certificaciones “Extra” 12c

Oracle nos proporciona un conjunto de certificaciones centradas en tecnologías o propósitos concretos. En el diagrama inferior tenéis la lista de las certificaciones adicionales de bases de datos Oracle 12c.

Database RAC Tuning RACGI MA DataGuard Tuning

Certificaciones de Especialista y Experto 12c (OCE)

Están agrupadas en dos categorías:

  • Oracle Implementation Specialist. Son certificaciones destinadas a validar el conocimiento necesario para implementar/instalar una base de datos. El público objetivo son los Partners de Oracle, luego tienen un enfoque comercial/preventa. No recomendable para administradores de sistema. Para estos últimos tenemos las certificaciones “Core”.
  • Oracle Certified Expert (OCE). Están enfocadas a administradores (DBAs) que ya tienen algunas de las certificaciones principales (normalmente OCP 12c) pero necesitan ampliar o centrarse en una tecnología concreta.
    1. OCE 12c RAC & GI (Real Application Clusters and Grid Infrastructure). Examina al candidato acerca de su conocimiento y experiencia sobre arquitecturas de alta disponibilidad, en concreto, clusters. Incluye también ASM (Automatic Storage Management) para la gestión de todo el almacenamiento (discos, volúmenes, filesystems) que se incluye dentro de Grid Infrastructure.
    2. OCE 12c Data Guard. Data Guard es la solución recomendada por Oracle para proteger la base de datos (primaria) cuando se produce un desastre en la base de datos principal o primaria (Disaster Recovery). Aunque también se utiliza para realizar migraciones de bases de datos grandes con muy poco tiempo de parada (near zero downtime).
    3. OCE 12c Maximum Availability. Este certificado se obtiene de forma automática cuando se obtiene el OCP 12c, OCE RAC & GI y OCE 12c Data Guard.
    4. OCE 12c Performance Management and Tuning. Centrado en la monitorización, análisis (troubleshooting) y mejora del rendimiento de una base de datos desde varios ángulos: optimización (tuning) memoria, estructuras de datos, gestión de recursos, ejecución de sentencias SQL, etc.

Plan de carrera para un DBA Junior

Dicho todo esto, y poniendo todas las cartas sobre la mesa, si yo tuviera que empezar la carrera de certificación desde cero, recorrería el siguiente camino, incluyendo los exámenes y cursos que haría. En otras palabras, mi recomendación para aquellas personas que están empezando (en orden).

  1. OCA Database Foundations (solo para personas con poco o muy pocos conocimientos teóricos de Bases de Datos)
  2. OCA 12c. Exámenes 1z0-061 (12c SQL Fundamentals I) y 1z0-062 (12c Installation and Administration)
  3. OCP 12c. Curso “12c Backup y Recovery” y examen 1z0-063 (12c Advanced Administration)
  4. OCE 12c RAC & GI. Curso opcional (12c Clusterware & RAC) y examen 1z0-068 (12c RAC & GI).
  5. OCE 12c Data Guard. Curso opcional (12c Data Guard) y examen 1z0-066 (12c 12c Data Guard).
  6. OCM 12c. Cursos “12c Clusterware & RAC” y “12c Data Guard” (si no se ha realizado ninguno); y examen 12cOCM (práctico)
  7. Si has seguido todos los pasos anteriores, obtienes de forma automática OCM 12c Maximum Availability, de ahí la importancia del orden y cursos que te he recomendado en la lista 😄

El plan anterior es flexible y puede ser interesante que lo modifiquéis en función de vuestra experiencia o entorno de trabajo, por ejemplo si ya estáis trabajando con Oracle Cloud, Exadata, etc. Pero aún así la ruta que os he puesto os vale para entrenaros con un orden medido y unos objetivos asequibles incrementales.

A por el toro! 🐂

 

Estrenando Oracle Database 12.2

En 23/03/2017, en AWS, Curso, Oracle 12c, por raulibaper

Oracle anunció el 6 de Marzo la la última versión de Oracle Database 12c Release 2. La versión 12.2 incluye interesantes novedades como Sharding, clonación online de PDBs (finalmente!!!), un mayor número de PDBs en Multi-tenancy (max. 4.096 PDBs) o el Super Scalable Oracle RAC. Esta última “feature” nos permite tener nodos dedicados a lectura/escritura (OLTP) y otro conjunto de instancias dedicadas exclusivamente a sólo-lectura.

Estoy preparando un entorno sencillo para practicar con esta versión. Para ello he subido una máquina virtual (AMI) a Amazon AWS con Oracle Linux 7.3 y Oracle 12 Release 2. Esta AMI es pública, así que la podéis usar si queréis practicar con ella. Se puede levantar con una instancia de tipo T2.MICRO, la cual es gratis para cuentas recién creadas con una antigüedad menor a un año (AWS Free Tier). Así podéis practicar con Oracle 12.2 y por qué no, también con Amazon AWS. Para localizarla tenéis que buscar con el siguiente código -> “ol73-oracle122

  • Amazon AMI: ol73-oracle122
  • Región: us-west-1 (US West N. California)
  • Versión Oracle: Oracle 12 Release 2 (12.2.0.1.0)
  • Sistema Operativo: Oracle Linux 7.3 x86_64
  • Usuarios/Contraseñas: oracle/dbajuni0R_ (sudo configurado)
  • Oracle SID/PDB: orcl (SID) y PDB (PDB)
  • Enterprise Manager Express (http://ip-dns-instancia-ec2:5501/em)
  • Incluye Oracle Demos (HR, OE, SH… instalados en PDB)

Espero vuestros comentarios acerca de Oracle 12.2 o también si tenéis cualquier problema con la instancia de EC2 Amazon 🙂

Editado: He modificado la AMI para añadir las claves SSH de forma automática, restringido el acceso de root desde fuera y poco más (Guidelines for Shared Linux AMIs)

Editado 2.0: Modificado el rc.local para descargar el repositorio GitHub de dbajunior cada vez que se inicia la máquina y actualizado variables PATH y ORACLE_PATH en el profile de Oracle. De esta forma puedo añadir scripts a la máquina sin tener que recrear la imagen.

 

UKOUG 2016 Irlanda

En 18/03/2016, en Eventos, Misc, por raulibaper

Este es el ukoug2016irelandsegundo año que asisto al evento de OUG 2016 en Irlanda (Dublín). Este año hemos tenido charlas durante dos días consecutivos, lo que está muy bien. Sin embargo, una buena parte de las charlas eran de nivel bastante introducción o alto nivel. Aun así, es probablemente el mejor evento Oracle que hay en este país. Os hago un resumen de los seminarios que pude asistir.

Agenda Oficial -> Link

Oracle Application Express for the CIO, Business User, DBA & Developer. Really.

Oracle sigue insistiendo sobre las posibilidades de APEX (versión actual 5.0). Es cierto que es un framework bastante potente y al estar integrado totalmente en Oracle, el acceso a los datos es trivial. Durante la presentación, el orador hizo uso las notificaciones de Apple Push a través de Apex para recibir mensajes personalizados al realizar ciertas acciones en la aplicación Web. Merece la pena destacar que este producto es gratis siempre y cuando tengas licencia de Oracle y está totalmente soportado. No sólo está dirigido a DBAs, sino también a Developers y usuarios de Negocio (ej. para Reporting). Convertir una hoja de cálculo Excel en una aplicación es cuestión de unos cuantos clicks. Importaríamos un fichero XLS, y automáticamente todos los datos estarían disponibles a través de la BD con todos los beneficios que ellos tiene (seguridad, disponibilidad, respaldado por copias de seguridad, …)

Oracle Apex 5.1 New Features (Blog)

Oracle Apex 5.1 no está disponible todavía en el mercado pero trae importantes mejores. Yo utilizao actualmente la versión 4.2 para automatizar una serie de despliegues en producción a modo de Self Service, y sólo con ver las posibilidades del tema Universal en la versión 5.0 ya impresiona. La versión 5.1 es mucho mas “responsive” (adaptable a los cambios), compatible con varias plataformas (móvil, web, …) y puede ser editada en tiempo real con la opción de “Live Template”. Además incluye un componente nuevo de edición multi-fila para poder editar un celdas individuales en vez de filas. Muy necesario.

Strace, Perf & GDB – Three Friends for the DBA

Kamil Stawariarski, tipo divertido, comenzó la presentación presentación con una pregunta complicada. Existe alguna relación entre el tamaño de ASM AU (Allocation Unit) y el parámetro db_file_multiblock_read_count? La respuesta corta es NO pero el profundiza con la herramienta strace y encuentra algo muy interesante. Aparentemente la BD utiliza al principio Synch IO (cuando no debería al estar usando ASM), pero después de unos cuantos SELECT, la BD cambia a modo ASYNCH. Parece ser que la base de datos es capaz de aprender y acaba utilizando Asynch IO sin necesidad de reiniciar o modificar ningún parámetro.

Para finalizar la presentación, nos mostró un ejemplo del uso de GBD para confirmar cuántas veces se ejecuta una función PLSQL dentro de una query. Demostrando que debemos tener cuidado con este tipo de funciones dentro del predicado ya que es posible que se se ejecute con cada fila bajando el rendimiento total de la consulta. Para solucionar el problema, utilizó la clausula PRAGMA UDF. De esta forma, la función es embebida dentro de la ejecución de la query acortando el tiempo total una barbaridad.

Write Less (Code) with More (Oracle 12c New Features) (Presentación)

Oren Nakadimon (from db-oriented.com) nos enseñó una serie de casos de uso donde podemos usar las nuevas funciones de Oracle 12c. Podéis echar un vistazo a la presentación para yo destacaría los siguientes ejemplo:

  • SQL Loader Express Mode. Ahora no necesitamos el fichero de control CTL. Oracle reconoce el patrón del fichero basado en la estructura de la taba destino. Si esto nos falla, siempre podemos recurrir al fichero CTL.
  • Columnas de tipo IDENTITY columns para tener un valor incremental de forma automática. Reemplaza el método tradicional de tener que utilizar un trigger.
  • Paginación (FETCH FIRST n ROWS). Esta posibilidad que lleva eones disponible en MySQL por fin está disponible en Oracle 12c.

ASH Masters (Presentación)

Los chicos de Delphix han creado un repositorio Github con varios scripts relaciones con ASH (Active Session History). Como es posible que sepáis, cada segunda se realiza una captura de toda la información de V$SESSION en un buffer circular en memoria. Esta estructura se puede consultar a través de V$ACTIVE_SESSION_HISTORY. Es una gran herramienta para diagnosticar un problema en el pasado (ej. quién estaba bloqueando a tal usuario, cuánto tiempo ha estado corriendo, qué SQL_ID estaba ejecutando, etc…).

Recordad que 1 de cada 10 registros en el ASH se bajan a disco al repositorio AWR (accesible a través de DBA_HIST_ACTIVE_SESS_HISTORY). La retención de esta información es por defecto 8 días, pero podéis (y deberías) incrementarlo por lo menos a 32. La razón de tal número (32) es para que podáis retroceder en el tiempo al menos un mes (31+1).

The Heart of Oracle – How the Core Architecture Works (Presentación)

Martin Wildlake (ORA600) es una persona con mucho conocimiento en Oracle. Su presentación acerca de la arquitectura de Oracle fue interesante para refrescar conceptos. No introdujo nada nuevo que no exista en la documentación oficial, pero no está mal de vez en cuando recorrer las estructuras de la memoria SGA, como funciona un db_file_sequential_read y cositas así.

Oracle Database Consolidation: It’s Not All About Oracle Database 12c! (Link)

Tim Hall (oracle-base.com), gran personalidad, ofreció una introducción de alto nivel acerca de la consolidación en Oracle. Como se aprecia en el título, no todo es acerca de Multitenant en Oracle 12c ya que hay muchos métodos y muy antiguos. Si tuviera que resumir la presentación en unas pocas palabras, diría que “consolida, pero con cabeza y planificación”. También nos recomienda que utilicemos la consolidación más apropiada para nuestra empresa, no caigamos en los argumentos de los vendedores y promesas de los “bloggers”.

Ejemplo de consolidación:

  • Visualization (VMWare)
  • Containers (Solaris)
  • Multitenant (Oracle 12c)
  • Esquemas (enfoque clásico)
  • Oracle Cloud.  Oracle no da acceso a la cuenta de SYS. En vez de eso, proporcionan un API para hacer las tareas administrativas que podamos necesitar.

Most Common Database Misconfigurations

El veterano DBA, Joze Senegacnik (DbProf), hizo un recorrido de casos reales acerca de fallos de configuración con resultados desastrosos. Varios ejemplos:

  • Un sistema con un número altísimo de conexiones por segundo. Este suele ser un ejemplo de una mala configuración en la parte de la aplicación/middleware. Oracle no instrumenta el proceso de autenticación pero consume una gran cantidad de CPU. Más de una conexión por segundos en general es malo y debe evitarse.
  • Otra vez, vemos el ejemplo de PRAGMA UDF y como nos puede ayudar con las funciones definidas por el usuario.
  • Un alto grado de paralelismo puede matar el sistema. Como buena práctica, el grado máximo de paralelismo no debería superar el doble del número de cores disponibles en el sistema (o disponibles en la BD).
  • Una consulta en paralelo que pasa a un INSERT en modo “serial” genera un cuello de botella (evento “PX gref latch”).
  • DML fila a fila cuando puedes utilizar algún mecanismo Bulk. Como Tom Kyte dice “row by row, slow by slow”, que traducido al Español sería “fila a fila, paso lento a paso lento”.

Oracle Hacking session (Presentación 1 – Presentación 2)

Kamil Stawariarski, en su segunda presentación, nos demostró como hacer una escalada de privilegios desde un aparente inofensivo GRANT (CREATE ANY INDEX) hasta convertirse en DBA. Wow! Así de fácil. En la segunda demo, hace uso de las tablas EXTERNAL para ejecutar un script bash localmente el servidor de la base de datos.

Real-Time Big Data Delivery with GoldenGate

Seminario acerca de las posibilidades de replicación de Oracle GoldenGate dentro de Big Data ofrecido por John Mullis. La versión 12.2 es capaz de mover data hasta Hive, Hbase, HDFS, Flume y Kafka. El truco que emplea para DML es añadir un registro con una columna extra para especificar si la acción es INSERT (I), UPDATE (U) o DELETE (D). Para poder tener una vista consolidada de los datos, necesitamos crear una vista Hive que nos permita ver los datos de forma consistente.

Just Don’t Do It

Jonathan Lewis, Top Guru de Oracle, nos mostró varios casos o arquetipos de problemas que se ha encontrado. No apto para todos los públicos 🙂 Os resumo varios de ellos.

  1. No siempre un FULL TABLE SCAN (FTS) es una mala práctica. El nos da un ejemplo de un caso en el que el culpable no era el tipo de acceso, ya que era necesario recorrer toda la tabla, sino que un valor pequeño del atributo arraysize provocaba que el cliente tuviera que recuperar datos en muchas iteraciones.
  2. Vigilad los updates no necesarios. Por ejemplo “UPDATE TABLE SET n=0” visitará todos los registros de la tabla aunque el valor de una fila ya sea cero. Podemos cambiar esto añadiendo una clausula WHERE -> “UPDATE TABLE SET n=0 WHERE NVL(state,0) != 0” donde previamente tendremos un índice funcional sobre dicho campo.
  3. Respecto al mito “Nunca hagas en PLSQL lo que puedes hacer en SQL”, es incorrecto. En general es cierto, pero alguna veces PLSQL proporciona comprensión al código y facilita su mantenimiento. Tendríamos que corregir dicha frase a algo como “El grueso de la ejecución debería ejecutar en SQL para beneficiarse del motor de Oracle, pero nos podemos apoyar el PLSQL para simplificar el código y facilitar su lectura”.
  4. Tened cuidado de la query “Brontosaurio”. Haciendo referiencia a esta especie de dinosaurio, hay ciertas sentencias SQL que tienen pocos valores de entradas, producen pocos resultados, pero necesitan una gran cantidad de recursos. Es importante entender el trabajo que se realiza dentro de estas sentencias si queremos optimizarlas.
  5. Respecto a la frase “Nunca hagáis en PLSQL lo que podáis hacer SQL”, no es del todo cierta. El explica que en general es cierto, pero en algunas ocasiones PLSQL proporciona comprensión al código, y si la mayor parte del procesamiento se hace con SQL no tiene nada de malo usar PLSQL.

SQLcl – Making SQL*Plus the Tool You Need for Development (Blog)

SQLcl está destinada a reemplazar SQL*Plus. Todavía no está certificada para producción (early stage) pero será 100% compatible SQL*Plus. Viene con un montón de buenas razones para usarla:

  • Salida en formato JSON
  • Nuevo comando Create Table As Select (CTAS emp emp2)
  • Auto-completado para Table/Column (SIIIIIIII)
  • Teclas Cursor Keys. Muchos DBAs usan rlwrap para tener esta funcionalidad.
  • Comando DDL para sacar la definición de forma rápida para la mayoría de objetos.

Como podéis ver, parece que SQLcl es el SQL*Plus si lo desarrollaran a día de hoy. Ojo! No lo uséis en producción hasta que salga la versión final.

The Cost Based Optimizer – Any questions

Jonathan Lewis, Joze and Martin Widlake hicieron una ronda de preguntas abiertas a cualquier que quisiera preguntar acerca del optimizar CBO (basado de costes). Sólo pude quedarme a estas dos preguntas ya que casi pierdo del bus de vuelta a Cork 😉

  1. Qué significa el COSTE (COST) en un plan de ejecución? De modo sencillo, es la suma del tiempo/trabajo por linea dentro de un plan de ejecución. Es importante destacar que se trata “por cada linea” ya que algunas partes del plan puede ejecutarse muchas más veces de las esperadas y el coste real de ejecución puede ser muy diferente.
  2. Por qué el plan de ejecución cambia repentinamente y una consulta se vuelve “lenta”? Y quién no ha tenido este problema. Hay muchas posibles razones: un cambio en el histograma de una tabla puede dar lugar a varios planes de ejecución. También, para particiones basadas en rango, las estadísticas puede que no sean representativas para particiones recientes y el optimizador puede fallar al intentar dar con el plan óptimo. También puede haber problemas “por debajo” como network, almacenamiento, … Hay un número elevado de razones, por esto y otras razones las compañías todavia necesitan DBAs… por ahora.

Otras presentaciones

Etiquetas:  

ORAMEX Tech Day 2015

En 06/11/2015, en Eventos, por raulibaper

ORAMEX LogoComo hay muchos lectores de este blog que viven en América (México, Colombia, Perú, Argentina, …), por si no habéis recibido esta información, el grupo de usuarios de México ha organizado un evento el 20 de Noviembre en Guadalajara. Una oportunidad perfecta para aquellos que viven en México, y porque no, para los que viven en países vecinos, así pueden disfrutar de la maravillosa cultura (y gastronomía) mexicana – Desafortunadamente, yo no puedo asistir pero parece muy interesante.

Adjunto el link y un resumen del evento.

—————————————————————————————–

Continuando con nuestra labor de difusión técnica de la tecnología ORACLE. ORAMEX.org, el grupo independiente de usuarios ORACLE  de México, anuncia el desarrollo del evento ORAMEX Tech Day 2015 en Guadalajara.

Este evento está orientados a impulsar las habilidades técnicas de nuestros miembros, fomentar el networking y promover el intercambio de experiencias entre los participantes

Luego de más de 3 años realizando eventos exclusivamente en Ciudad de México, ORAMEX se traslada a Guadalajara para, de esta manera,  promover el conocimiento de tecnologías ORACLE en todo el territorio Mexicano.

En esta oportunidad las tecnologías a exponer serán: RAC, Tunning, DBaaS, Integración, MySql , Microservices, UX y ADF.

Además de nuestros expositores locales, contaremos con el apoyo de Alex Zaballa , Oracle ACE Director de Brasil.

Los eventos ORAMEX son gratuitos.

—————————————————————————————–

Etiquetas:  

OCM 12c Upgrade Exam

En 07/10/2015, en Certificación, OCM, por raulibaper

Oracle Database 12cPor fin! Para aquellos que tenemos el OCM 11g ya podemos empezar a preparar el temario del Upgrade para Oracle Certified Master 12c. Me ha sorprendido ver que se repiten muchos de los objetivos del examen de OCM 11g. Practicamente son los mismos MÁS la parte de Multitenancy (pluggable databases) y poquito más.

En mi sección de la 12c, hice una estimación de los objetivos que podría haber en el examen. Basicamente junté todas las novedades más interesantes de la última versión organizado por secciones. Parece ser que el examen es mucho más sencillo.

Adjunto aquí el temario del Upgrade:

General Database and Network Administration, and Backup Strategy

  • Create and manage pluggable databases (NUEVO)
  • Create and manage users, roles, and privileges
  • Configure the network environment to allow connections to multiple databases
  • Protect the database from loss of data due to any kind of failure
  • Create and manage database configuration files

Data and Performance Management

  • Modify materialized views
  • Create a plugged-in tablespace by using the transportable tablespace feature (NUEVO)
  • Create partitioned tables
  • Configure the database to retrieve all previous versions of the table rows
  • Configure the Resource Manager
  • Tune SQL statements
  • Perform real application testing (NUEVO)
  • Create SQL Plan baselines

Data Guard

  • Create a physical standby database
  • Make the standby database available for testing
  • Restore the standby database to its normal function
  • Configure fast start failover

Grid Infrastructure and Real Application Clusters

  • Install Oracle Grid Infrastructure
  • Create ASM disk groups
  • Create and manage an ASM instance
  • Create ACFS
  • Start, stop, configure, and administer Oracle Grid Infrastructure
  • Install the Oracle Database 12c software
  • Create RAC databases
  • Configure services

 

 

 

Cursos Online de MongoDB

En 29/05/2015, en Curso, por raulibaper

Logo MondoDBMongoDB es cada vez más y más popular. Este gestor de bases de datos NoSQL se encuentra ya en el puesto nº 4 del DB Engines Ranking de BBDD (casi nada), desbancando recientemente a PostgreSQL. Está todavia muy lejos de la elite (Oracle/MySQL/SQL Server), pero es el lider indiscutible en el terreno NoSQL.

Después de esta introducción, comentaros que esta misma semana han comenzado una serie de cursos gratuitos proporcionados por la misma MongoDB accesibles a través de este enlace. Si tenéis tiempo libre, os recomiendo que hagáis alguno, especialmente el de Developers o DBAs. Están distribuidos por capítulos, con ejercicios semanales, y con unos videos muy instructivos (pero en Inglés, sorry). Os pego los enlaces de los dos que me han parecido más interesantes.

Es fácil ver a DBAs de Oracle administrando también MongoDB, así que si os queréis apuntar, hacedlo ya mismo, porque los cursos tienen una programación estricta que hay que respetar.

Saludos!

Etiquetas:  

Webinario ¿Qué hay de nuevo en PaaS / iPaaS?

En 10/05/2015, en Curso, por raulibaper

Me gustaría informaros que LAOUC y ORAMEX estarán realizando un webinar el día 20 de Mayo con Arturo Viveros.

Titulo y Presentador

Oracle Cloud Solutions: ¿Qué hay de nuevo en PaaS / iPaaS?

Descripción

Descubra las nuevas capacidades que Oracle ofrece en la nube, bajo el modelo de Plataforma como Servicio (PaaS). Acompáñenos a este webinar patrocinado por ORAMEX / LAOUC, donde se presentarán mejores prácticas, soluciones innovadoras en la nube, escenarios de integración e incorporación de tecnologías nuevas para la industria.

Fecha y Hora

Wed, May 20, 2015 5:00 PM – 6:00 PM CEST

Registrate

Oracle Cloud Solutions: ¿Qué hay de nuevo en PaaS / iPaaS?

Saludos!

Etiquetas:  

Resumen UKOUG Ireland 2015

En 23/03/2015, en Curso, In-memory, por raulibaper

UKOUG 2015 Banner

Como ya anuncié la semana pasada, el día 19 se produjo el evento de OUG Ireland 2015 y me gustaría hacer un pequeño o no tan pequeño 😉 resumen del evento.

Durante la presentación de apertura, el director regional de Oracle (Jon Paul) nos explicó que mas de 3/4 partes de la compañías están dispuestas a aumentar sus servicios digitales, lo que significa un aumento de oportunidades y proyectos en el mercado. Oracle está ofreciendo más y más “appliances” cada año y parece que esta tendencia no va a frenar. Estos sistemas ofrecen varias ventajas, entre ellas máxima compatibilidad, estándar de plataformas, actualizaciones, … Jon nos anima a que “perturbemos”(literalmente disrupt) el mercado. Nos puso de ejemplo como Uber está transformando completamente el mercado de transportes de personas (en algunas ciudades ya están ofreciendo mensajería).

Otra información interesante que nos aportó es que APEX es una de las herramientas más activas y con más inversión en Oracle estos momentos. Si no lo conocéis, comentaros que es una herramienta de desarrollo Web bastante versátil (nosotros la usamos como inventario de BBDD y recientemente hemos desarrollado una utilidad de automatización de ejecución de tickets muy útil). En breve podremos descargar la versión 5.0 con un interfaz de usuario completamente renovado y adaptado a los tiempos que corren. Podéis probar la v5.0 Early Adopter 3 aquí.

En el evento se podían asistir a diferentes presentaciones (libre elección). En la primera presentación que asistí (ofrecida por Darren Moore), nos contaron como el SEMO (Single Electricity Market Operator) ha implementado una solución de 24×7 con Oracle RAC, Dataguard, OEM 12c y Golden Gate. Especial interés el concepto de “Production Support Database” en el cual mantienen una copia exacta de producción replicada con GG en tiempo real para ofrecer un entorno de corrección rápida de errores/data fixes. Podéis ver la presentación aquí.

Se ha hablado mucho de Oracle 12c, Multitenant, Pluggable databases, … En una de las presentaciones nos enseñaron como hacer clones/snapshots de pluggable databases (PDBs) en segundos con ZFS. Estos “snapshots” utilizan un mecanismo COW (Copy on Write) por el cual, sólo se escriben en disco aquellos bloques que se modifican (si habéis hecho snapshots con VMware, es la misma tecnología). Es perfecto para entornos de desarrollo/pruebas/QA pero no para producción, ya que esta operación requiere que el PDB se encuentre en modo READ ONLY. Esperemos que en 12.2 nos permite hacerlo en “caliente”.

La siguiente presentación corrió a cargo de Tim Hall (famoso en la escena Oracle por www.oracle-base.com). El genial título del tema era “Pluggable Databases: Qué es lo que van a romper y aún así, razones por las que deberíamos usarlo“. Leedlo, merece la pena. Una de las principales razones por las que deberíamos usarlo es porque las bases de datos Non-CDB ya se consideran obsoletas (deprecated) en 12.1.0.2 (Wow!) Significa esto que debemos movernos ya a multitenant (CDB)? Ummmm no realmente. Maria Colgan calmó un poquito los nervios y nos dijo que obsoleto no significa “sin soporte” (dessuported). Significa que si abrimos un caso con Oracle y estos no pueden verificar el problema en una PDB, nos podrían obligar/responder que debemos migrar nuestra BD (non-CDB) a una PDB. Oracle es complicado que nos haga esta jugada. Nos puso como ejemplo el RBO “Rule-Based Optimizer”. El RBO lleva obsoleto desde 9i, si no recuerdo mal, y ahí esta en 11g/12c.

Tim Hall nos anima a empezar a utilizar PDBs ya mismo, porque supone importantes cambios en muchas areas para un DBA. El mismo ha reconocido que le ha costado adaptarse al cambio (ej. la primera vez que tratéis de crear un usuario en una CDB probablemente es falle, porque en el containter los usuarios deben empezar por “C##” a no ser que toquéis unos parámetros). Otro comentario interesante que hizo es que es una gran oportunidad para DBAs Junior para destacar frente a otros DBAs más senior, porque muchas de los procedimientos han cambiado. Yo añadiría a las palabras de Tim Hall, que es una oportunidad perfecta para certificarse en 12c.

La siguiente presentación, a cargo de Marcin Przepiorowski (creador de OraSASH), trataba sobre cómo la automatizacíon puede ayudar a los DBAs a evitar el trabajo aburrido. Es otra prueba de la importancia que está tomando esta actividad en las empresas. No sólo para ahorrar tiempo/dinero/(personas?) sino porque nos ayuda a mantener los estándares y evitar errores humanos. Su empresa (Delphix) utiliza Ansible para esta tarea. Es open-source, tiene una curva de aprendizaje rápida (más si sabes Python) y permite hacer operaciones complejas (Playbooks).

Tim Hall hizo dos presentaciones. La segunda trató la virtualización. Podría resumirlo en dos frases: primero, si vas a utilizar virtualización, asegurate de usar el hardware correcto (CPU/Memoria?…) y segundo, hazlo sólo en entornos soportados. Podéis leer el artículo aquí.

Comentaros por último que el día siguiente tuvimos un workshop muy completo de In-memory column. Maria Colgan, una de las personas que lideraba el optimizador de Oracle (casi nada) es ahora la responsable de “evangelizar” las bondades de esta novedad. Realmente parece prometedor. Durante todo el día, Maria nos estuvo contando las implicaciones que tiene In-memory en la arquitectura de Oracle (RAC/Partitioning/Dataguard/Encryption/Peformance/…). Junto con Multitenancy, es otra de las areas claves que todos tenemos que conocer.

Actualización 2015/03/30 (He añadido los links a las presentaciones)

Saludos!

 

Etiquetas: