martes, 10 de julio de 2012

Por qué es imprescindible para un DBA conocer SQL

Los nuevos DBA Oracle son reacios de aprender el  lenguaje de consulta de base de datos SQL. Esto probablemente es consecuencia de haber publicitado que partir de la versión Oracle Database 10g un DBA solo necesita de las interfaces gráficas de la consolas (OEM o dbconsole) haciendo aparentemente "prescindible" elaborar una sentencia SQL para realizar nuestro trabajo.

La realidad nos demuestra lo contrario pues un DBA necesita:
  • Consultar las vistas DBA_*, ALL_*, USER_*, V$*, GV$* para recolectar información de estados, los objetos, cruzar información, etc.
  • Comunicarse en el mismo lenguaje de los desarrolladores de consultas SQL, sentencias SQL, código PL/SQL
  • Analizar los planes de ejecución de las sentencias SQL para plantear alternativas de optimización.  
  • Elaborar sentencias SQL para automatizar validaciones.
  • Controlar los cambios (pases) en los objetos de base de datos que se dan con sentencias DDL
  • Otorgar privilegios de objetos o privilegios de sistema.
  • Orientar a los usuarios de la BD en mejores practicas de codificación SQL o PL/SQL.
  • Explicar a los usuarios por qué una sentencia genera un alto costo de CPU, I/O Disk, etc.