Tareas básicas de un DBA Junior

En 09/04/2011, en Misc, por raulibaper

Supongamos que quieres trabajar como DBA pero no tienes experiencia en ese puesto. Si además has ojeado ofertas de trabajo en Infojobs, Tecnoempleo, …; habrás visto que piden mucha experiencia. Para un puesto de DBA Senior se suelen pedir 5 años como mínimo, y para DBA Jr 1-2 años. Puede parecer imposible acceder a un puesto Full Time de DBA pero no lo es. La clave consiste en que tu puedas demostrar que sabes hacer el trabajo de un DBA Junior aunque no hayas trabajado como tal.

Es posible que ya estés trabajando con BBDD Oracle como programador, o en el area de QA (Testing) y ya tengas casi toda la experiencia necesaria para dar el salto. Tener certificaciones oficiales (OCA u OCP) te puede ayudar muchísimo. Pero vas a necesitar practicar de todas formas.

Tengas o no tengas la experiencia previa, te voy a dar un listado de las tareas básicas que todo DBA Jr debería saber:

  • Navegar por la documentación de Oracle
  • Instalación completa de una base de datos
  • Crear usuarios/esquemas y conceder/revocar permisos
  • Backup completo de una BBDD
  • Hacer exports/imports con exp/imp y expdp/impdp (Datapump)
  • Clonar una BBDD de producción para certificación/testing
  • Restore de una BBDD completa desde una ubicación de backups
  • Parchear una BBDD
  • Programar tareas/trabajos en el SO (Cron) y en BBDD (Jobs/Scheduler)
  • Monitorización básica de la BBDD: Ocupación, sesiones, bloqueos, fichero de alertas
  • Escribir sentencias SQL y saber interpretar PL/SQL
  • Utilizar comandos Unix/Linux y Scripting (Bash/Ksh)

Si sabes hacer estas tareas con comodidad, entendiendo que estás haciendo en cada paso y además tienes certificaciones, estás en el camino correcto para ser un DBA Junior. Del CV y la entrevista de trabajo hablaremos en otro momento.

Según vaya añadiendo entradas al blog, iré ampliando y añadiendo los enlaces a la lista.

Etiquetas:  

60 Responses a “Tareas básicas de un DBA Junior”

  1. Jimmy dice:

    Hola Raul, me parece excelente esta informacion que nos haz brindado, seria ideal
    si tu podrias brindarnos el material que se necesita para aprender hacer esto, yo en lo particular me estoy iniciando en ORACLE.

  2. raulibaper dice:

    Buenas Jimmy,

    Esa es mi intención. Las dos primeras tareas ya están cubiertas. Poco a poco iré dando la información, materiales, seminarios necesarios para realizar el resto de las tareas. Según vaya añadiendo cada tarea, actualizaré este post con el enlace correspondiente.

    Saludos!

  3. Alexis dice:

    Excelente gracias por la ayuda 😉

  4. PabTo dice:

    Excelente aporte, seria ideal tener estos 2 puntos
    -Clonar una BBDD de producción para certificación/testing
    -Restore de una BBDD completa desde una ubicación de backups

  5. Oscar dice:

    Estimado Raul, muchas gracias por tus recomendaciones, en mi oficina me estan dando la oprtunidad de pasar de helpdesk a DBA Junior para quizas con el tiempo y experiencia hacer el salto a Senior, un abrazo.

  6. Julio dice:

    Hola Raul, una consulta, cuando hablaras sobre la clonacion de la BD??

    Saludos!!

  7. raulibaper dice:

    Pues ahora estoy metido en un par de proyectos que me llevan bastante tiempo (fuera del trabajo). Voy a tener que buscar algún colaborador para que me eche un cable 😉

  8. Leandro dice:

    Hola, actualmente me encuentro en la busqueda de un trabajo como dba, me encuentro realizando el curso de dba sql server en educacion it y me interesa incorporarme en alguna empresa.

  9. raulibaper dice:

    Por lo que he comentado con compañeros DBAs de SQL Server que he tenido en anteriores trabajos, no es sencillo distinguirse y tener un trabajo FULL DBA con SQL Server. Normalmente administran más productos de Windows. A ver si algún lector te puede guiar en esa dirección y darte más información.

    Saludos!

  10. frangambino dice:

    Muy buena la información. Tengo una incertidumbre, que recomiendas? Ponerme directamente con 11g o con 10g?

  11. raulibaper dice:

    Hola Fran,

    La pregunta de si me certifico en 10g ó 11g es muy común. Hay gente que piensa que es mejor hacer primero 10g y luego 11g para tener más certificaciones. E incluso hay gente que dice que se aprende más con la 10g. Esto es parcialmente cierto.

    Yo personalmente pienso que es un error hacer eso. El tiempo es oro y hay que ser muy productivo, incluso en en tu tiempo de formación. Yo te recomendaría primero obtener el OCA 11g. Si aún te quedan fuerzas y la paciencia suficiente vete a por el OCP 11g. Si te ves motivado y te engancha el tema de las certificaciones, entonces puedes ir a por la certif. de Tuning, y después a por la de RAC. Y si eres lo suficientemente tenaz, puedes ir a por la renombrada certificación OCM 11g.

    Si a esta trayectoria, que ya es lo suficientemente «jodi##» le añades certificarte primero en 10g y luego el upgrade a la 11g, existen muchas más posibilidades de que desistas por el camino.

    De todas formas, it’s up to you!

  12. Rodney Van Den Heuvel dice:

    Gracias por los Materiales

    Quisiera saber si vas a colocar el tercer Ítem

    Crear usuarios/esquemas y conceder/revocar permisos

    Por que esta muy interesante y ya realice lo pasos anteriores muchas gracias por todo tu aporte es invaluable para personas como nosotros que empezamos como DBA JUnior

  13. raulibaper dice:

    Hola Rodney!

    De donde eres? jeje Lo digo por tu nombre

    Me gustaría tener tiempo para completar las tareas básicas. Pero ahora mismo estoy en India (Chennai) trabajando. Estaré aquí un mes, y luego me dedicaré a sacar el OCM. En cuanto termine, quiero retomar con fuerza la formación 🙂

    Espera que tengas paciencia. Mientras tanto te recomiendo el libro de Oracle Press de OCA Exam Guide. Explica con mucha claridad el tema de los grants.

    Saludos!

  14. Rodney Van Den Heuvel dice:

    Hola Raul

    Primeramente soy Paraguayo pero de descendencia Holandesa de ahí el apellido también disculpa la molestia entiendo que estas ocupado con mucho trabajo quisiera agradecerte la rapidez con la que me contestaste voy a mirar el libro que me pasaste te lo agradezco me servirá de mucho ya que estoy haciendo un curso de DBA de 2 Años de proydesa ahora estoy por comenzar el 2do y en mi lugar de trabajo este año paso como DBA por eso el apuro jaja me falta mas practicas mucha suerte y éxito estaremos expectantes cuando aparezcan los demás

  15. judith dice:

    hola quiero saber si un dba tiene que programar porq tengo entendido q son pocas cosas y cuales son los query mas utilizados por estos

  16. raulibaper dice:

    Hola Judith,

    Un DBA Junior no suele programar, aunque sí que le tocan tareas de mantenimiento de código sencillo en PL/SQL y Scripting (Bash o Korn). Por ejemplo, en una organización tienen un servidor en el que hay un script «genera_informe.sh» que se conecta a una BD, lanza una serie de consultas, obtiene los datos y lo envía por correo electrónico. Un día, ese script falla y alguien te llama para que revises porque no han recibido el informe. Esta tarea normalmente no la hace Desarrollo ni Sistemas, se suele encargar el equipo de Admin. de BBDD.

    Este es un ejemplo típico en el cual tienes que dar un mínimo de conocimientos de programación para resolver un problema. Además, con PL/SQL y Scripting puede construir herramientas sencillas para dar soluciones a las necesidades de tu empresa. No es frecuente pero es común.

    Respecto a las querys, las más frecuentes son las que se utilizan en la administración diaria. Ejemplo:
    · Obtener tamaño de ocupación de los Tablespaces
    · Ver la actividad de las sesiones de la BD (V$SESSION)
    · Listar los bloqueos de la BD (V$LOCK)
    · Consultas sobre los objetos de la BD (DBA_OBJECTS, DBA_SEGMENTS, DBA_TABLES, …)
    · Gestión de los permisos (DBA_TAB_PRIVS, DBA_SYS_PRIVS, DBA_ROLES, …)

    Aunque con las vistas anteriores puedes resolver un porcentaje muy alto de incidencias y tareas como Administrador de la BD, suele haber un porcentaje bajo, pero constante de situaciones en las que tienes que utilizar otras consultas. Si sabes resolver la mayoría de estas situaciones «eventuales» podría ser un buen argumento para empezar a llamarte DBA Senior.

    Saludos!

  17. Juan Ortega dice:

    Hola Raul, excelente lugar para aprender de DBA, me gustaria preguntarte si es muy necesario tener un curso de Unix/Linux antes de los cursos de DBA Oracle oficiales, o consideras que con solo los cursos se podria tener acceso a informacion de unix/oracle para operar la bd??
    excelente dia.

  18. raulibaper dice:

    Hola Juan,

    Es necesario que sepas, como minimo, como crear o merverte entre directorios, listar ficheros, ejecutar aplicaciones, cambiar persmisos y editar archivos (con Vi, por ejemplo). Es decir, nivel usuario. Normalmente con que hayas instalado un Linux en tu casa y hayas jugado con el varias semanas, te puede valer.

    No es obligatorio que conozcas la estructura de directorios estandar de Unix, pero es bastante recomendable. Las practicas de los cursos oficiales te dicen exactamente lo que tienes que hacer, y si tienes algun problema siempre te puede ayudar el profesor.

    Resumiendo, yo no haria un curso de Linux, pero si trataria al menos de hacer una instalacion en casa y coger un minimo de practica. Si estas muy muy pez, puede resultar interesante el curso. Depende un poco de ti.

    Saludos!

  19. Ubolmester dice:

    Hola Raul.
    Excelente caracterización de las tareas básicas de un DBA Junior, actualmente me desempeño como DBA de Oracle, lastimosamente no tengo las certificaciones debido al tiempo, pero la experiencia que he adquirido ha sido increíble, verdaderamente la practica es lo mejor. Quería hacerte una pregunta ¿Para Oracle existe la subdivisión del perfil de DBA (senior, Junior, etc) o solo para ellos es DBA y listo?.
    Gracias.

  20. raulibaper dice:

    Buenas Ubolmester,

    Gracias por tus comentarios. Desconozco las categorías profesionales que tiene Oracle dentro de su organización, pero te hablaré desde mi experiencia. Yo nunca he hablado con un DBA Junior de Oracle, y no creo que haya muchos. Por lo que supongo, y no lo sé con certeza, que no hagan división entre DBA Junior o Senior. Sin embargo, Oracle presume de tener expertos en diferentes especialidades (Tuning, ASM/RAC, Grid Control, …). En general yo he visto tres perfiles claramente diferenciados de DBAs dentro de Oracle: administradores «comunes», expertos y consultores. De ahí a la clasificación interna que hagan, no puedo asegurarte nada. A lo mejor hay alguien que lee el foro que puede arrojar más luz sobre el tema.

    Saludos!

  21. Juan Enrique dice:

    ¿Diferencias entre un DBA Junior y un DBA Senior?

    Gracias

  22. raulibaper dice:

    Qué tal Juan Enrique. La principal diferente entre Senior y Junior es la experiencia. Un Senior suele tener unos 5 años mínimo de experiencia. Puede ser más o menos tiempo en función de las batallas que has peleado. Personalmente he conocido DBAs con dos años de experiencia en proyectos muy duros que «controlan» mucho más que Seniors de 5 años.

    Un Senior ha pasado por una serie de hitos en su trayectoria que le hacen «madurar». Experiencias como recuperar una BD de producción, instalaciones de Dataguard/RAC, meetings con otros grupos técnicos (Unix, Storage, …) y no tan técnicos (managers, cliente, …), etc…

    Un Junior puede ser muy hábil resolviendo problemas y googleando información (que por cierto, es muy positivo). Pero sin embargo cuando empiezas a responder preguntas de otros DBAs, cuando tu empresa te manda a la guerra (digo cliente), y cuando te comes unos buenos browns, es entonces cuando aprecias la diferencia entre Senior y Junior.

    Tu pregunta es muy interesante y da juego para un interesante debate. ¿Para vosotros, qué es un DBA Senior?

  23. Karen dice:

    Para mí concepto un Senior es quien ya está en un nivel profundo de analisis de la base de datos en todos sus niveles , osea un experto.

  24. raulibaper dice:

    Muy buena apreciación Karen. Entender los componentes y como se interrelacionan es fundamental para realizar ciertas tareas. Particularmente, me gusta tener un enfoque holístico de un gestor de BBDD. A partir de los problemas que resuelve esta herramienta y como funciona (desde un punto de vista práctico) ya se puede descender a un nivel más detallado del funcionamiento de sus componentes.

    Una buena mezcla de experiencia y self-learning es perfecto para ser un buen DBA.

  25. Christian sanchez dice:

    Raul, gracias por el tiempo que has dedicado a responder, que consejo me puedes dar ya que quiero ser un DBA sin embargo en mi trabajo solo doy soporte técnico, no he encontrado la forma de iniciar por mi parte he investigado que paginas me recomiendas, que certificación me debí hacer para que una empresa me pueda dar la oportunidad de iniciar

  26. raulibaper dice:

    Hola Christian,

    Tu problema es bastante común. Para trabajar como un DBA necesitas ser un DBA (lógico verdad?). Como esto no es posible, necesitas parecerte lo más posible a un DBA, y para ello se recomiendan las certificaciones (OCA y OCP) y conocer las tareas que realizan los DBAs.

    Si empiezas completamente de cero, te recomendaría realizar un curso de introducción a la adminsitración de BBDD de Oracle. Por lo menos para que tengas la suficiente soltura para poder luego avanzar por tu cuenta hacia las certificaciones de Oracle.

    Por ejemplo, si estás en Madrid hay cursos bonificados de CEIM de administración de BBDD que no están nada mal. En otras ciudad es posible que también tengas estos cursos. Sino, siempre puedes hacer un curso de Oracle (Oracle Administration Workshop I) que luego te servirá para obtener la certificación OCP.

    Espero que te ayude a encontrar tu camino. Si no te aclara las dudas, avisame charlamos.

    Saludos!

  27. Karen dice:

    Hola Raul, me podría orientar..
    en la empresa hay una aplicación casi grande con oracle11g, donde tengo diariamente problemas de bloqueos. Se que los archivos trc tienen datos de los bloqueos, pero la verdad que no he encontrado algun texto o link en internet que me permita conocer como interpretar eficazmente esta información para buscar la solución ya que luego de avanzar en dicho archivo despues de ver que sesión bloqueo a cual , ya no logro saber que otro dato es clave para poder gestionar alguna corrección. saludos,

  28. raulibaper dice:

    Wow Karen, estoy haciendo purga del correo y acabo de ver tu comentario 🙂 A estas alturas imagino que ya serás una expecta en bloqueos, pero bueno, te contesto igualmente.

    Lo primero es averiguar que tipo de bloqueo tienes,… es el clásico «enq: TX row lock contention». Este bloqueo de «filas» es es el más común pero también es sencillo de hacer troubleshooting. En general con las vistas V$session y v$lock para bloqueos en tiempo real (y v$active_session_history si tienes la opción de tuning & diagnostics para analizar el «pasado») puedes averiguar quien lo produce (es siempre una misma sesión o es un bloqueo múltiple y dinámico).

    OEM te lo pone fácil para hayar el árbol de bloqueos.

    Las trazas o ficheros .trc no son fáciles de digerir. Oracle vuelca ficheros de trazas automáticamente con algunos tipos de bloqueos (deadlocks) y también cuando se dan ciertas problemas de rendimiento. No conozco ninguna página que te enseñe facilmente a saber interpretar estos ficheros, y me encantaría conocerla 🙂 Muchas veces estos ficheros se mandan a Oracle Support para que los analicen.

    Otra cosa son los ficheros generados con SQL Trace, que te permiten saber que está haciendo (o esperando) un proceso en cada momento. Te refieres a esto?

    Saludos!

  29. Antonio Olvera dice:

    Raúl, buen día:
    Recién comienzo con el mundo de los DBA´s, estoy en un curso en mi school, el cuál me piden una pequeña entrevista a un DBA. Por lo que pensé que sería el candidato perfecto para esto. ¿Me podría ayudar contestando las siguientes preguntas?.

    ¿Cuál es su nombre?
    ¿Qué carrera ha estudiado?
    ¿Qué lo motivo a elegir esa profesión?
    ¿Cuáles eran los cursos que más le gustaban? ¿Por qué?
    ¿Cuáles los que menos le agradaban? ¿Por qué?
    ¿Qué experiencia gratificante recuerda de su época de estudiante?
    ¿Le gustaría continuar estudiando?
    ¿Habla otros idiomas?

    Dentro de la empresa, ¿Cuál es su puesto?
    ¿Cuánto tiempo lleva en ese puesto?
    ¿Qué actividades realiza principalmente?
    ¿Tiene que realizar tareas de otras áres (p.ejemplo: desarrollo de aplicaciones)?
    ¿Qué curso(s) la han sido de utilidad para desempeñar este puesto?
    ¿Qué experiencia previa tiene en puestos similares?
    ¿Requiere de un trabajo colaborativo para cumplir con sus funciones?
    ¿Qué es lo que mas le gusta de su trabajo?
    ¿Qué es lo que menos le gusta?
    ¿Cuál fue la situación más difícil que afrontó? ¿Cómo lo solucionó?
    ¿Cuáles han sido sus logros profesionales?

    Gracias y Saludos

  30. Hugo dice:

    Comando trcasst. (tarce assistant)
    Es útil?
    Es fácil?
    Cuales archivos trace reconoce?
    Gracias
    Saludos

  31. raulibaper dice:

    Hola Hugo,

    El comando trcasst se utiliza para ficheros de trazas de Oracle Net (Listener, Cliente/Server). Tiene relativa utilidad porque te añade descripciones a los códigos de error TNS, pero necesitas el máximo nivel de trazas (16) para poder utilizarlo, lo que genera unos ficheros de trazas enorme.

    Yo por ejemplo no lo utilizo, porque en general los problemas con SQL Net son problemas relativamente sencillos de red que son fáciles de diagnosticar con el las trazas por defecto que suelta el listener o haciendo troubleshooting desde el cliente con ping/telnet, etc…

    Has echado un vistazo a la doc oficial?

    Te pongo también un ejemplo de troubleshooting que está colgado en el MOS que te puede ayudar.

    Trace Assistant (TRCASST) can be found in the ORACLE_HOME/network/bin directory. It can be used with Oracle Net Client, Listener or Server traces.

    When faced with a error such as

    sqlplus scott/tiger@netscan
    SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 21 15:56:23 2011
    Copyright (c) 1982, 2010, Oracle. All rights reserved.
    ERROR:
    ORA-12170: TNS:Connect timeout occurred

    enable Oracle Net tracing, at level 16, and trace the connection failure. The trace may show errors such as:

    [21-JUN-2011 15:56:23:328] ntctst: size of NTTEST list is 1 - not calling poll
    [21-JUN-2011 15:56:23:328] sntseltst: Testing for WRITE on socket 1624
    [21-JUN-2011 15:56:44:281] sntseltst: FOUND: write request on socket 1624
    [21-JUN-2011 15:56:44:281] ntt2err: entry
    [21-JUN-2011 15:56:44:281] ntt2err: soc 1624 error - operation=1, ntresnt[0]=505, ntresnt[1]=60, ntresnt[2]=0
    [21-JUN-2011 15:56:44:281] ntt2err: exit
    [21-JUN-2011 15:56:44:390] nttcni: exit
    [21-JUN-2011 15:56:44:390] nttcon: exit
    [21-JUN-2011 15:56:44:390] nserror: entry
    [21-JUN-2011 15:56:44:390] nserror: nsres: id=0, op=65, ns=12535, ns2=12560; nt[0]=505, nt[1]=60, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    [21-JUN-2011 15:56:44:390] nsopen: unable to open transport

    We can see the problem recorded as following :

    nserror: nsres: id=0, op=65, ns=12535, ns2=12560; nt[0]=505, nt[1]=60, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0

    We now need to understand where to start the diagnosis.
    trcasst can be run to analyze the problem and a standard output will generate information similar to this:

    C:\trcasst cli_832.trc

    Trace Assistant Utility: Version 11.2.0.1.0 Production on 21 June 2011 16:05:38

    Copyright (c) 2001, 2009, Oracle. All rights reserved.

    *************************************************************************
    * Trace Assistant *
    *************************************************************************

    ///////////////////////////////////////////////////////////////
    Error found. Error Stack follows:
    id:0
    Operation code:65
    NS Error 1:12535
    NS Error 2:12560
    NT Generic Error:505
    Protocol Error:60
    OS Error:0
    NS & NT Errors Translation
    12535, 00000 "TNS:operation timed out"
    // *Cause: The requested connection could not be completed within the timeout
    // period specified by the CONNECT_TIMEOUT parameter in listener.ora. This
    // error arises from the tnslsnr.
    // *Action: Either reconfigure CONNECT_TIMEOUT to be 0, which means
    // wait indefinitely, or reconfigure CONNECT_TIMEOUT to be some higher
    // value. Or, if the timeout is unacceptably long, turn on tracing
    // for further information.
    /
    12560, 00000 "TNS:protocol adapter error"
    // *Cause: A generic protocol adapter error occurred.
    // *Action: Check addresses used for proper protocol specification. Before
    // reporting this error, look at the error stack and check for lower level
    // transport errors.For further details, turn on tracing and reexecute the
    // operation. Turn off tracing when the operation is complete.
    /
    00505, 00000 "Operation timed out"
    // *Cause: The requested operation could not be completed within the timeout
    // period.
    // *Action: For further details, turn on tracing and reexecute the operation.
    /
    ///////////////////////////////////////////////////////////////

    As the error stack is read from the bottom up, we can see the error to focus on is Protocol Error:60. Which in the trace file shows as nt[1]=60. We now know that NT (Network Transport) is a protocol error. As the client is Windows, this maps to

    WSAETIMEDOUT 60 10060
    Connection timed out. A connection attempt failed because the connected party
    did not properly respond after a period of time, or established connection
    failed because connected host has failed to respond.
    Windows error codes can be found at Microsot's website, and at the time of this writing is available at http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668%28v=vs.85%29.aspx The number 100 is prepended to the error code.
    On unix, consult the errno.h file.

    Now we can start to look into the transport layer, e.g. the TCP layer, and test why the connection timed out.
    Reviewing the trace again we can see the connection was attempting to connect to the address 10.100.222.333

    [21-JUN-2011 15:56:23:328] nsc2addr: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.222.333)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=v11gr2)(CID=(PROGRAM=c:\Oracle\RDBMS112\bin\sqlplus.exe)(HOST=sfpc-uk)(USER=scott))))
    [21-JUN-2011 15:56:23:328] nttbnd2addr: entry
    [21-JUN-2011 15:56:23:328] snlinGetAddrInfo: entry
    [21-JUN-2011 15:56:23:328] snlinGetAddrInfo: exit
    [21-JUN-2011 15:56:23:328] nttbnd2addr: using host IP address: 10.100.222.333

    A TCP ping of 10.100.222.333 shows the client is unable to get to the address used.

    C:\ping 10.100.222.333

    Pinging 10.100.222.333 with 32 bytes of data:

    Request timed out.
    Request timed out.

    Saludos!

  32. raulibaper dice:

    Hola Antonio,

    Cuántas preguntas! 🙂 Te contesto.

    ¿Cuál es su nombre?
    Raúl Ibáñez

    ¿Qué carrera ha estudiado?
    Grado Ingeniería Informática

    ¿Qué lo motivo a elegir esa profesión?
    La BD de Oracle es un producto maduro, que resuelve muchos problemas y tiene mucho campo para estudiar y profundizar. Es desafiante.

    ¿Cuáles eran los cursos que más le gustaban? ¿Por qué?
    En la Universidad? Programación, SSOO. Me gusta resolver problemas y crear aplicaciones 🙂

    ¿Cuáles los que menos le agradaban? ¿Por qué?
    Semiconductores y física. Demasiada bajo nivel. Estoy más cómodo en las capas superiors.

    ¿Qué experiencia gratificante recuerda de su época de estudiante?
    En general las prácticas. Lo más gratificante es poder trabajar con lo que ves en clase.

    ¿Le gustaría continuar estudiando?
    Sí, pero temas específicos como Big Data con Hadoop, BBDD NoSQL, programación con iOS, UX, …

    ¿Habla otros idiomas?
    Inglés (trabajo en Irlanda)

    Dentro de la empresa, ¿Cuál es su puesto?
    Líder Técnico de bases de datos Oracle

    ¿Cuánto tiempo lleva en ese puesto?
    Casi 2 años

    ¿Qué actividades realiza principalmente?
    50% proyectos 50% soporte. Hay mucho trabajo de automatización para resolver las tareas cotidianas (DevOps), pero al mismo tiempo hay que cumplir con las fechas establecidas de los proyectos y lidiar con las incidencias (gestión de incidencias) y evitar que se repitan (gestión de problemas).

    ¿Tiene que realizar tareas de otras áres (p.ejemplo: desarrollo de aplicaciones)?
    Sí. Es particularmente útil poder hacer pequeñas herramientas para hacerte la vida más sencilla.

    ¿Qué curso(s) la han sido de utilidad para desempeñar este puesto?
    Cursos de Oracle y especialmente leer mucho (libros/blogs/…)

    ¿Qué experiencia previa tiene en puestos similares?
    7 años como DBA, 1 en QA, 3 en un perfil mixto de sistemas/programación

    ¿Requiere de un trabajo colaborativo para cumplir con sus funciones?
    En una empresa grande, todo el mundo necesita de otros equipos.

    ¿Qué es lo que mas le gusta de su trabajo?
    Trabajamos con las últimas tecnologías y siempre estamos mirando por la mejora y la innovación.

    ¿Qué es lo que menos le gusta?
    Trabajar en el extranjero puede ser dificil a veces.

    ¿Cuál fue la situación más difícil que afrontó? ¿Cómo lo solucionó?
    Una vez tuve que recuperar tres tablas de una BD de 150TB (Oracle 9i), cuyas cintas estaban en una empresa externa y además el backup estaba incompleto. Con paciencia y mucho trabajo en equipo (con Backup/Sistemas/Storage) recuperamos casi toda la información (80%). El cliente esperaba no poder recuperar absolutamente nada porque no siguieron el procedimiento, luego quedaron agradecidos.

    ¿Cuáles han sido sus logros profesionales?
    En BBDD ser OCM está bastante bien reconocido. Aunque es un tema «académico» por así decirlo. Tambien he implementado una solución de automatización de tareas que ahorra unas 1800 horas/año de trabajo de un DBA, por lo que tenemos más tiempo para dedicarnos a lo que realmente importa.

    Espero que te sirva de ayuda.
    Saludos!

  33. Luis dice:

    Ya tengo conocimientos de bases de datos SQL aunque no he trabajado de lleno en esto, lo empezare a hacer e iniciare como dba jr, algun libro que usted considere importante, para tener los conocimientos necesarios de un dba jr… gracias!

  34. raulibaper dice:

    Hola Luis,

    Yo siempre recomiendo comenzar con los libros de Oracle Press para preparar las certificaciones. Tienen un ritmo adecuado, dan buenas explicaciones, y a la larga, si quieres certificarte ya tienes un buen trabajo hecho.

    Te paso el enlace con los libros de los que hablo:
    http://www.amazon.com/Oracle-Database-1Z0-061-1Z0-062-1Z0-063/dp/0071828087

    Los puedes conseguir por separado también. Y lo más importante, practicar. Bajate Virtual Box o VMWare, instalas Linux y Oracle y a practicar practicar. Si es complicado para ti, pues me vas preguntando.

    Saludos!

  35. Mike dice:

    Hola Raul,

    Yo acabo de terminar un curso de DBA Oracle 10g, pero en las entrevistas laborales piden conocimientos PL/SQL y eso no incluia el curso , busque por internet pero son muy complejos , algun consejo para aprender esto?

    Gracias 😀

  36. raulibaper dice:

    Hey Mike,

    Es cierto que en las ofertas de empleo se suele mencionar PL/SQL pero la realidad en la mayoría de trabajos es que apenas se utiliza. A un DBA Junior, no se espera de el que sepa programar, más bien que sepa «leer» el código para saber que está haciendo un procedimiento y poder hacer troubleshooting si hay un problema, y cosas sencillas.

    Curiosamente, la primera vez que empecé a interesarme por Oracle fue leyendo este libro de PL/SQL como el que te pongo abajo. Es un buen comienzo para aprender. Pero no te obsesiones con ello, puedes hacer una lectura rápida, entiendo lo que se hace, pero sin profundizar demasiado. Si quieres ser DBA hay muchas otras areas más interesantes cuando estas empezando que deberías controlar (backup/recover, instalaciones, monitorización, privilegios, almacenamiento, ….)

    http://www.amazon.co.uk/Oracle-Database-11g-Programming-Press/dp/0071494456

    Saludos!

  37. luis jimenez dice:

    hola raul cordial saludo

    yo quiero ser dba en futuro estudio en una universidad publica en colombia, mi duda seria si para ser dba tengo que serlo especificamente en una base de datos como mysql o oracle o para serlo tendria que dominar todos los tipos de base de datos

    gracia 🙂

  38. raulibaper dice:

    Hola Luis,

    Depende de la organización o empresa. Hay puestos que te piden una combinación de experiencia en varios motores de bases de datos. Sin embargo, en empresas con un gran número de instancias lo normal es que especialices sólo en una.

    Para ponerte varios ejemplos de distintas organizaciones que conozco y lo que piden:

    – Telco: Oracle (aunque tienen proyectos en muchos otros tipos de BBDD)
    – Salud: Oracle/MySQL
    – Banca: Todas las combinaciones (Oracle/DB2/MySQL/MongoDB/PostgreSQL/Progress OpenEdge/…)
    – Ministerio: Oracle/MySQL

    De todas formas, te recomiendo que te centres en una base de datos relacional en profundidad, como Oracle. Luego te va a ser más fácil aprender otras, ya que muchos de lso conceptos son similares.

    Tampoco te debes despistar del mundo BigData, pero esto ya es otra historia.

    Saludos!

  39. Walther Ramirez dice:

    Hola tengo una duda, conozco varios de los puntos que tocas para un DBA Junior.
    Mi principal inquietud, es como plasmar esos conocimientos en un CV. Para poder participar en las vacantes para DBA Junior.

    Gracias de antemano.
    Saludos!

  40. raulibaper dice:

    Hola Walther,

    Varias sugerencias generales para encontrar un puesto de DBA Junior:

    – Obtener una certificación OCA/OCP, así puedes demostrar ciertas competencias en Oracle a través de un proveedor externo
    – Estás trabajando ahora mismo con Oracle? Estás realizado esas tareas en tu trabajo actual? Si es así, incluye en el CV todas esas tareas dentro de tu trabajo actual
    – Si no estás trabajando con Oracle, aún así deberías ponerlo en el CV en otra sección con todos los conocimientos que tengas.
    – Tienes twitter, blog o cuenta en OTN? Si hablas de Oracle, participas en los foros, escribes sobre ello, también aumentan tus oportunidades. Porque los recruiters cada vez miran más las redes sociales. Incluye en el CV las cuentas de redes sociales que sean relevantes.
    – Linkedin. Empieza a buscar contactos DBAs, a preguntar donde te puedes mover, donde buscan sitio.

    A la hora de escribir el CV, resume aquellas tareas que sabes hacer, parecido a lo que escribo en este post, pero con un estilo más formal. Redactalo, me lo mandas y si quieres le echo un vistazo.

    Saludos!

  41. Jeison dice:

    Hola Raúl
    Que diferencia existe entre oracle para programación y oracle para administración

    Por donde o como empezar aprender oracle, y desde que versión o cuales versiones aprender

    Gracias por tu blog y consejos

  42. raulibaper dice:

    Hola Jeison,

    El trabajo de programador (Oracle PLSQL) y administrador (DBA) tienen propósitos diferentes. Es cierto que ambos tienen muchos conocimientos en común, pero por ejemplo, el programador traduce/implementa unos requisitos de negocio utilizando las tecnologías de Oracle. El administrador (DBA) se encarga de mantener los sistemas en buen estado, donde los datos estén siempre disponibles en el tiempo adecuado.

    Son roles diferentes, pero también es cierto que a veces las empresas buscan perfiles mixtos que conozcan ambos temas.

    Yo te recomiendo que primero averigues cuál es tu motivación. Si te gusta más el mundo de la programación, o disfrutas más «cacharreando» con los sistemas.

    Respecto a las versiones, empieza ya por la 12c. Cubres todo lo que hay en 11g, además de aprender las grandes novedades que tiene, que no son pocas.

    Para empezar como DBA, si es que te animas por sistemas, puedes leerte los comentarios de esta entrada. Siempre recomiendo la misma ruta de los libros de Oracle y sobretodo practicar y practicar.

    Saludos!

  43. Walther Ramirez dice:

    Hola de nuevo, observe los puntos mencionados

    -En cuestion de la certificacion aun no la tengo dado que son un tanto costosas y me encuentro en mis ultimos semestres de la carrera.
    -Por le momento no me encuentro trabajando con oracle pero uso sqlserver
    -Comence a relacionarme con OTN un dato que desconocia.
    -Linkedin acabo de realizar un cuent, para de esta manera poder relacionarme con mas personas que sean DBA.
    Claro si es posible que puedas revisar como esta el cv si no es un inconveniente claro. Por que medio te lo podria mandar?

    Muchas Gracias por la contestacion.

  44. luis dice:

    cordial saludo de nuevo raul

    quiero instalar oracle en ubuntu pero ando enredado y no entiendo muy bien algunos tutos porque dicen de instalar un oracle linux server y hay otros sitios que hacen muchos pasos que no entiendo.
    que me recomendarias raul

    gracias por responder y por tus consejos valiosos

  45. Marco Antonio dice:

    Hola Raul,saludos,estoy por egresar de la carrera de Ingenieria en computacion, pero tengo 44 años, y me gustan las bases de datos. Habra posibilidades reales laborales para mi en el ambito profesional.

  46. raulibaper dice:

    Hola Marco Antonio,

    Entiendo que te preocupe la edad. Es cierto que en algunos sitios hacen filtro por edad y no contratan a gente que tenga cierta edad, pero no es imposible.

    Hablas de hacer la carrera y de bases de datos. Durante la carrera suele haber una o dos asignaturas de BBDD, pero hay demasiada teoría y poco práctica. En tu lugar, si lo que quieres es trabajar como DBA, yo me centraría sólo en las bases de datos y recurriría a teoría sólo cuando lo necesites.

    Yo también tengo una edad, y literalmente, el tiempo es oro. Tienes que optimizar el tuyo y descartar todo lo que no es imprescindible hasta que lo sea. Ingeniería Informática está muy bien pero si lo que quieres es trabajar de ello, yo intentaría hacerme un plan de estudio lo más objetivo y realista posible.

    Ejemplo, si tiras por la opción de la carrera, necesitarás 4 años y además cuando salgas no estarás preparado para trabajar fuera. Las empresas contratan a recién licenciados cuando son jovenes, baratos, dinámicos y fléxibles. Con gente mayor quieren gente con experiencia y/o con otros skills (cabeza, estabilidad, …) ya que tienen otro handicap.

    Has pensado en contratar a un mentor/trainer online? Te puede ayudar a optimizar tu tiempo y darte una formación específica en bases de datos con todo aquello que necesites de otras areas.

  47. Brian dice:

    Hola Raul, muy bueno el aporte, leí un par de comentarios y son muy interesantes las aclaraciones y tips. Actualmente estoy trabajando como dba jr Oracle, es cierto que se menciona PL/SQL en algunos puestos de trabajo pero también es cierto que no se necesita ser un experto para desarrollarse como dba, para muchos que empiezan con capacitaciones o primeros trabajos como yo les recomiendo aprender Oracle y si se pueden certificar muchísimo mejor, quisiera preguntarte que certificación me recomendarías realizar de Oracle primero ya que llevó unos meses en este puesto y quisiera ir capacitandome.
    Saludos desde Argentina
    Brian

  48. raulibaper dice:

    Hola Brian,

    Te recomiendo leer mi último post con el mapa de Certificaciones de Oracle 12c. Mi consejo es que sigas el plan de carrera que describo al final del post. OCA -> OCP, …. Creo que se adapta a la mayoría de DBAs que no tienen ninguna certificación.

    Saludos!
    Raúl

  49. Ezgra Méndez dice:

    Ezgra :
    Raúl muy buenas tardes !! Un gusto en saludarte soy DBA jr y actualmente me encuentro en búsqueda de empleo en Santiago -chile . He ido a un par de entrevistas y por omisiones simples de preguntas básicas de DBA creo haber fallado. Mi pregunta sería , cuáles son las preguntas frecuentes que se la hacen a los dbas en entrevistas técnicas? Me han hablado de parámetros de memoria lógica SGA PGA y las diferencias que hay entre ambas! Pero algún tips adicional que nos puedas dejar?

Deja una respuesta