Descubriendo Tibero

En 15/05/2020, en AWS, Instalación, Tibero, por raulibaper

Hoy vuelvo para hablaros de un motor de base de datos que NO es Oracle. Whaaaaaaat? 😱 Pero es que se le parece mucho. Y no es porque lo diga yo, o el mismísimo Franck Pachot en este interesante artículo sobre Tibero.

La verdad es que hacen falta sólo unos segundos a solas con el programa tbsql (el sqlplus de Tibero) para sentirse como en casa. La primera vez que me conecté a Tibero no pude resistir la tentación de consultar mi querida V$SESSION, y allí estaba. Cierto es que no tiene tanta información como en Oracle 11g+, pero sólo con ver columnas como SID, SERIAL# o WAIT_EVENT; dices Wow! Qué es esto? 

Pero es que están casi todas las que usamos cada día: V$SGA, DBA_SOURCE o algo más exótico como DBA_2PC_PENDING. Una consulta rápida muestra que hay 77 DBMS_* paquetes (DBMS_SESSION, DBMS_SCHEDULER, DBMS_STATS, …). Es evidente que Tibero busca ofrecer una alternativa de Oracle para que los mismos clientes de Oracle puedan reutilizar todo el código PL/SQL con ellos.

En mi trayectoria, como a muchos os habrá pasado, hemos tenido que adquirir conocimientos en diferentes sistemas, i.e. MySQL, PostgreSQL, SQL Server, DB2 MongoDB o DynamoDB; por citar algunos ejemplos comunes ¿Ya veis por donde voy? Administrar Tibero promete reducir los tiempos de training en gran medida.

Y esto es exactamente lo que pienso. Tibero lanza varias promesas, como la facilidad de administración para DBAs que vienen del mundo Oracle, la compatibilidad para hacer migraciones a este sistema, poder instalarlo en casi cualquier plataforma, y supongo que la ventaja más atractiva; i.e. reducir los elevados costes de licencias que se pagan por Oracle. En Asia ya cuentan con bastantes clientes, pero tengo ganas de saber cómo se introduce en los mercados americanos y europeos.

Mientras tanto he querido aprovechar el momento y hacer una prueba doble. Ahora que ya se puede conectar un mismo volumen de Amazon AWS (EBS) a varias instancias (Hi there RAC! 😉) he realizado una instalación de Tibero Active Cluster (TAC) en AWS con dos nodos. Podéis ver la arquitectura del sistema abajo y os dejo con la página con las instrucciones y resultado de la prueba. Cualquier comentario o sugerencia será bienvenido.

👉 Instalación de Tibero Active Cluster en AWS (2 nodos)

 

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: