Y qué le preguntamos a un colega cuando lo entrevistamos para contratación?

Qué le preguntamos a un colega que se presenta a solicitar trabajo de DBA? Tomemos estos sencillos cuestionamientos, traducción del documento de Rob Verschoor (Interview questions for ASE DBAs  -http://www.sypron.nl/ivwq.html)

Cuales son las tareas mas importantes de Administración de Base de Datos?
Se pueden considerar las siguientes en orden de importancia:
1. Crear un esquema apropiado de dump de datos y de log para absolutamente todas las bases, incluyendo master.
2. Ejecutar dbcc checkstorage en todas las bases de forma regular (mínimo una vez al mes), y dar seguimiento a todos los problemas de corrupción encontrados.
3. Ejecutar update [index] statistics semanalmente en todas las tablas de usuario.
4. Monitorear el errorlog del Server buscando mensajes indicativos de problemas, diariamente.

Esto adicional a soporte a usuarios y desarrolladores, monitoreo de performance, etc.

Qué debo hacer si encuentro un STACK TRACE en el errorlog del servidor?
Abrir un caso con tu área de Soporte de Sybase. No hay mucho que puedas hacer, y solamente el área de Soporte puede saber si el STACK esta relacionado con algún bug. Claro que no es para nada buena idea ignorar estas cosas en el errorlog, porque podrías estar ignorando la ocurrencia de un bug en tu instalación.

Hay alguna desventaja en separar los datos de las aplicaciones entre varias bases de datos?
Cuando existen relaciones entre tablas u objetos ubicados en bases de datos diferentes, hay una desventaja implícita: si deseas restaurar un dump de alguna de dichas bases, dichas relaciones pueden perder consistencia. Esto significa que debemos procurar
siempre tener respaldos de un conjunto de bases de datos consistentes entre sí. Esto puede ser complicado cuando el sistema se encuentra en línea de forma continua.
De cualquier manera, cuando se realicen este tipo de definiciones, los puntos relativos a backup/restore deben ser considerados, y los DBAs deben ser consultados al respecto.

Es necesario borrar y crear todos los procedures y triggers cada cierto tiempo?
No. en versiones antiguas de SYBASE (4.x) esto era a veces necesario, ya que los query plan podían llegar a ser demasiado grandes, alcanzando el límite y generando errores. En versiones posteriores estos puntos fueron mejorados.

Cuales son las ventajas principales de utilizar columnas identity?
La ventaja principal de usar columnas identity es la posibilidad de generar números secuenciales y únicos de forma eficiente, con un mínimo de I/O. La desventaja es que los valores generados no son transaccionales por sí mismos, y los valores identity
pueden "brincar" bastante cuando el servidor se da de baja por medio de "nowait" (esto se conoce como identity gaps o huecos).
Se aconseja utilizar las columnas tipo identity en aplicaciones que tienen absolutamente contemplados estos aspectos.

Qué hacer cuando el manejador no levanta como resultado de que la bd MASTER esta corrupta?
Se puede generar un nuevo dispositivo master utilizando la herramienta buildmaster; hay que crear un archivo RUN_FILE y arrancar el Server en modo single-user (con opción -m). En este punto agregar el registro para el SYB_BACKUP en sysservers, y finalmente cargar un dump de la base de datos master.
Después de esto, el servidor se dará de baja automáticamente; arrancar de nuevo y determinar si las bases de datos de las aplicaciones se encuentran aún en su sitio.

Cuando se carga un BCP de un archivo a una tabla, qué sucede con los triggers, contraints, reglas y defaults en esa tabla?

Para todos los BCPS (fast y normal), los triggers, constraints y rules son ignorados... Los defaults estarán activos.

Como realizar bcps extrayendo únicamente un conjunto de datos de toda una tabla?
Si la versión es de ASE 11.5 o posterior, la solución es generar una vista de esos registros y extraerlos por medio del bcp de dicha vista.
En versiones anteriores, se deben seleccionar dichos registros e insertarlos en una tabla separada, de la cual se puede extraer el bcp.
En ambos casos, la velocidad para extraer la información depende de si existe un índice adecuado para accesar los registros.

Cual es la diferencia entre administrar los permisos de los usuarios/grupos o a través de roles de usuario predefinidos?

La principal diferencia es que los roles de usuario predefinidos (ASE 11.5) tienen alcance de todo el ámbito del servidor, y son "asignados" a nivel de login. Los usuarios y grupos (método clásico que ha existido desde la primera versión de Sybase) están limitados al ámbito de una base de datos.

Por otra parte, los permisos pueden ser concedidos/revocados de los usuarios/ grupos o de los roles de usuario predefinidos. Cualquiera que sea el esquema, se sugiere NO mezclarlos, por que las reglas de precedencia pueden volverse bastante complejas.

Hay alguna ventaja en usar la versión de 64-bits en lugar de la de 32-bits?
La única diferencia es que la versión de 64 puede trabajar con un data caché mayor que la versión de 32, así que se pueden obtener  optimizaciones en I/O. Esto puede ser una gran ventaja si se llega a tener problemas con el data caché (donde éste se convierte en un cuello de botella)
Cabe mencionar que no se puede comparar la distribución del "total memory" entre ambas versiones,  ya que la versión de 64 tiene un overhead  adicional. - así que el tamaño del data caché para 64bit será menor que para 32bit en este caso --
(Aclarando: la versión 64bit no es el doble de rápida que la de 32bit, y no ejecuta sus I/O al doble del tamaño de la versión 32bits - alguna vez escuché a alguien afirmar lo contrario),

 Es una buena idea usar el tipo de bloqueo datarows (a nivel de registro) para todas las tablas por default?
No por default, sólo si se presentan problemas de concurrencia (bloqueos) en una tabla, y no se desea bloquear muchos registros de dicha tabla en una sola transacción.
En cualquier otro caso, use bloqueo por páginas (datapages o allpages). (Personalmente favorezco datapages como default, ya que cambiarlo a datarows es más rápido y fácil que hacerlo de allpages, ya que para convertir tablas grandes, se puede necesitar mucho tiempo).
Por otra parte datapages tiene ventajas adicionales sobre allpages, como el que no bloquea las páginas de los índices, la actualización de estadísticas corriendo a nivel 0 y la posibilidad de utilizar el comando reorg).
Qué hacer cuando el performance de ASE es malo?
Primero. "Performance Malo" es un término muy amplio, así que se requiere primero tener un diagnóstico certero antes que nada. Busca:
            1. En qué se sustenta la observación (hay un incremento claro en los tiempos de respuesta o solamente es una "sensación"?
            2. Para qué aplicativos/consultas/usuarios está sucediendo esto?
            3. Sucede de forma continua o es solo en ciertos momentos? Si no podemos identificar el problema que nos permita reproducirlo, cualquier solución propuesta es pura especulación.
Qué hacer cuando un segmento se llena?
Error!: un segmento nunca se llena . Un segmento es una etiqueta para uno o varios "fragmentos" en un dispositivo de base de datos. Esos fragmentos son los que se pueden llenar pero los segmentos por si mismos no. (OK esta es una pregunta capciosa... cuando esos fragmentos de dispositivo se llenen, agrega mas espacio o elimina datos redundantes).
Las columnas timestamp se pueden tomar en cuenta para llaves primarias? (tomando en cuenta que son únicas por registro).
Pero por supuesto que no, esto sería un error garrafal. Las columnas timestamp no cuentan con la propiedad que les permita ser únicas para llaves primarias.
Debería el candidato DBA contar con una Certificación de Sybase?
Si la tiene es un plus!

Preguntas de un DBA a su posible contratante:

Cuando te realicen una entrevista, te interesara saber lo siguiente de la compañía:

Cuenta la compañía con un esquema de soporte técnico sustentado en un contrato con SYBASE?
Esto es muy importante con el fin de obtener parches (EBF) o para obtener respuestas a casos o preguntas técnicas. Sin esto, se puede decir
que estas "completamente solo". En este caso pregúntate si tus conocimientos satisfacen las expectativas de la compañía.

Qué versión están usando y en cual plataforma?
Esto es importante. Por ejemplo, si están trabajando con 11.0.3 en Data General, averigua si saben que la versión y la plataforma no están
soportadas de ninguna forma por SYBASE.
Si no contemplan en corto plazo realizar un UPGRADE de la versión y plataforma, pregúntate si deseas trabajar ahí, corriendo un alto riesgo por
tu cuenta, sin soporte, y con una versión obsoleta que no te permitirá incrementar tus conocimientos de ASE.

Cuantos servidores, bases de datos y usuarios concurrentes hay? qué tamaño tienen las bases de datos?

Se requiere dar servicio 7X24?
Es importante que se dimensionen todos estos aspectos, ya que si estamos hablando de controlar 500GB, de bases de datos siempre en línea, con 3000
usuarios accesando los datos, hay que confirmar que el salario concuerda con la magnitud del sistema.

Esta involucrado también el Replication Server?
Si esto es afirmativo, y si sabes de Replication Server, reconsidera tus demandas financieras. A la alza por supuesto. La razón es que los DBAs
con conocimientos de Replication Server son difíciles de encontrar, mas que los DBAs de ASE.

Están considerando que tomes control también de sus Oracles, MSSQL, etc.? Tienes que administrar ASIQ o ASA también?

Si te quieres certificar, ellos pagarían estos gastos?
Esto te haría un mejor DBA por supuesto. Convence a quien te entrevista que ésta es una relación ganar-ganar.

DBASupport - Foro

Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • one month ago.
  • 5 weeks ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna manera de eliminarlos para que no saturen mi log de errores. Gracias

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00 PM, alguien sabe como puedo hacer esto por sql? Por ejemplo if (fecha entre las 7am y 7pm) Ejecutar...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas actualizadas. Alguien me puede ayudar con esto?   Gracias

Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • 7 months ago.
  • 7 months ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Error 16058 attaching RFS server to standby instance at host
  • Topic started by agamez
  • in DataGuard
  • 8 months ago.
  • 8 months ago.
  • 2 replies
Buenos días estoy teniendo este problema al tratar de iniciar la replicación con dataguard, no creo que sea porblema de red porque funcionaba antes, tuve el problema al hacer el failover y tratar de volver a reactivar el primario. *** 2017-09-03...
URGE AYUDA
  • Topic started by
  • in General
  • 12 years ago.
  • 12 years ago.
  • 30 replies
HOLA ESPERO ME PUEDAN AYUDAR. TEN GO UNA TABLA CON una estructura similar a la siguiente: id_mov cargo subtotal total formula 1 capital 5000 5000 1 interes 2...

Duada de Memoria de SQL Server 2005
  • Topic started by Erzengel
  • in General
  • 8 years ago.
  • 8 years ago.
  • 30 replies
Buen Día Recurro nuevamente a su sabiduría. Quiero saber el porque tiene un tope SQL Serever de 2GB en Windows server 2003 de 32 bit y si alguien sabe si eso pasa en Windows server de 64 bit? Se que hay una librería de AWE para activar mas...

SqlDateTime overflow
  • Topic started by
  • in General
  • 12 years ago.
  • 12 years ago.
  • 11 replies
Alguno de ustedes ha tenido este problema: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.' Les agredecere su ayuda. Omar

Problemas para levantar mirror
  • Topic started by acgch
  • in General
  • 11 years ago.
  • 11 years ago.
  • 16 replies
Hola amigos, tengan un buen día, les comento que estoy configurando mirror siguiendo los pasos a través del wizard del managment studio y también por medio de transact y en ambos casos me da el error: La dirección de red del servidor...

problemas para iniciar el agente sql
  • Topic started by acgch
  • in General
  • 11 years ago.
  • 11 years ago.
  • 11 replies
Recientemente para asegurar el sql server 2005, cree una cuenta sql con derechos de sysadmin y borre el grupo BUILTIN\Administradores para evitar que cualquier administrador entre a mi base de datos, yo tengo configurado para iniciar el agente sql...
Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • one month ago.
  • 5 weeks ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna manera de eliminarlos para que no saturen mi log de errores. Gracias

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00 PM, alguien sabe como puedo hacer esto por sql? Por ejemplo if (fecha entre las 7am y 7pm) Ejecutar...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas actualizadas. Alguien me puede ayudar con esto?   Gracias

Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • 7 months ago.
  • 7 months ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Error 16058 attaching RFS server to standby instance at host
  • Topic started by agamez
  • in DataGuard
  • 8 months ago.
  • 8 months ago.
  • 2 replies
Buenos días estoy teniendo este problema al tratar de iniciar la replicación con dataguard, no creo que sea porblema de red porque funcionaba antes, tuve el problema al hacer el failover y tratar de volver a reactivar el primario. *** 2017-09-03...
Deshabilitar todos los jobs
  • Topic started by agamez
  • in Jobs
  • 7 months ago.
  • 7 months ago.
  • 1 reply
Buenos días, alguien sabe como puedo deshabilitar rapidamente todos los jobs de SQL Server, gracias.

Cómo puedo filtrar un mensaje en el log messages
  • Topic started by carlos25
  • in General
  • one month ago.
  • 5 weeks ago.
  • 2 replies
Buenos días, estoy recibiendo en mi log de errores muchos mensajes de cron, ya que tengo varios crones configurados en mi server. Existe alguna manera de eliminarlos para que no saturen mi log de errores. Gracias

Cómo validar la hora de ejecución de un proceso
Hola, estoy tratando de validar que un proceso sólo pueda ser ejecutado dentro de un periodo de tiempo, en este caso entre las 7:00 AM y las 7:00 PM, alguien sabe como puedo hacer esto por sql? Por ejemplo if (fecha entre las 7am y 7pm) Ejecutar...

Estadisticas en la base de datos
Buenos días, estoy teniendo problemas de performance en mis queries y quisiera saber como puedo validar que mis tablas tienen las estadisticas actualizadas. Alguien me puede ayudar con esto?   Gracias

Error 16058 attaching RFS server to standby instance at host
  • Topic started by agamez
  • in DataGuard
  • 8 months ago.
  • 8 months ago.
  • 2 replies
Buenos días estoy teniendo este problema al tratar de iniciar la replicación con dataguard, no creo que sea porblema de red porque funcionaba antes, tuve el problema al hacer el failover y tratar de volver a reactivar el primario. *** 2017-09-03...