You are hereSea un heroe, sea proactivo!

Sea un heroe, sea proactivo!


By fmunoz - Posted on 11 January 2009

Comiésemos este año nuevo con una nueva mentalidad, o una resolución de año nuevo si quieres pensarlo de ese modo, dejemos de ser reactivos y empecemos a ser proactivos. Ser proactivo va a ayudarlo a reducir sus costos en administración de base de datos, incrementar tu nivel de eficiencia, ayudarte a cumplir más fácilmente los SLA’s y lo que es mejor salvar tus horas de sueño cuando estés de turno.

¿Porque chequear los problemas solamente cuando estos ya son críticos, o cuando ya es muy tarde y la base de datos ya está abajo o congelada, o lo que es peor, cuando los usuarios ya están gritando?

Ser proactivo es la mejor manera de mantener tu base de datos saludable y de mostrarle a tu empresa o tus clientes que tu realmente te preocupas por ellos.

No sé porque, pero muchos DBA’s gastan la mayoría de su tiempo siendo bomberos solamente (puro apagando incendios) arreglando problemas o trabajando en requerimientos de los usuarios. Este tipo de mentalidad o comportamiento va solamente traer como resultado, miles de dólares en horas extras (si es que te las pagan), varias horas sin sistema para los usuarios, baja performance de las aplicaciones y lo que es peor de todo, varios usuarios insatisfechos que pensaran que tú no tienes el conocimiento necesario para estar a cargo de su data.

Mencionemos un pequeño ejemplo, tienes configurado el alarma del área de archive logs en que se dispare cuando este en un 95% lleno, y esto ocurre en la mitad de la noche, algunos DBA’s van a tomar este alerta seriamente y lo arreglaran de inmediato, otros esperaran hasta el día siguiente para resolverlo ya que o están muy cansados y dormidos, o no tienen en ese momento acceso a internet para resolverlo. Hubiera sido mucho mejor y más fácil si en vez del alerta estar configurado en un nivel crítico solamente, haberlo puesto con un monto mas proactivo como por ejemplo un 75% o un 85%, o lo que hubiera sido aun mejor, haber mirado la salud de tu DB antes de haberte ido del trabajo para detectar y resolver cualquier posible problema antes que fuera un problema real o para planear como solucionarlo a tiempo antes de que te despierten en la mitad de la noche o te interrumpan durante el fin de semana (Acuérdate siempre que tu tiempo personal y familiar es lo más importante que tienes y siempre debes de trabajar en pro de protegerlo y cuidarlo). A mí personalmente siempre me gusta recomendar a los DBA’s que corran 2 checklists diarios, uno a principio de su jornada laboral y otro al final de esta.

Yo conozco a muchos DBA’s que reclaman todo el tiempo que no tienen vida, ya que se vuelven locos cuando están de turno por el volumen de llamados y de las interrupciones que ocurren durante los fines de semana y noches. Pero esto solamente les ocurre porque ponen su atención y tiempo en solucionar los síntomas y no los problemas de raíz o si no es posible, en tomar medidas proactivas para protegerse.

Ser proactivo no solamente lo ayudara a obtener una mejor calidad de vida, también lo ayudara a detectar puntos de mejora en: performance, seguridad o quién sabe, simplemente evitar un posible desastre futuro antes que cualquier otra persona lo haya detectado.

Aquí podrás encontrar un script de checklist que podrás usar como ejemplo para ayudarte a hacer tu vida un poco mas fácil (Este no es mi script completo, pero muy bueno para empezar). Este script es una compilación de varios scripts de checklist y tu podras modificar facilmente las variables (thresholds) segun tus necesidades, pero eso si, acuerdese siempre de tener una baseline con que compararlo.

Como mencionado antes, este script no solamente lo ayudara a Ud. A detectar problemas actuales o futuros, pero también lo ayudara a detectar futuros requerimientos de tuning también.

Aquí está un ejemplo de lo que sería la primera parte del reporte generado por el script:


-- ----------------------------------------------------------------------- --
-- Oracle Instance Information
--
-- ----------------------------------------------------------------------- --

Cpu_Count 4 | Host_Name OLIVER
Instance_Name prod | Database_Status ACTIVE
Status OPEN | Startup_Time 10-01-2009 19:50
Version 11.1.0.7.0 | Instance_Role PRIMARY_INSTANCE

Archive destination LOCATION=E:\oracle\oradata\prod\archive
Database log mode ARCHIVELOG

Background Dump Dest d:\oracle\diag\rdbms\prod\prod\trace
Spfile D:\ORACLE\PRODUCT\11.1\PROD\DATABASE\SPFILEPROD.ORA

Redo size (Kb) 102400

-- Database Space (Mb) 36604 | SGA (Mb) 511 --
-- Nb. Datafiles 43 | Nb. Tempfiles 1 --

-- ----------------------------------------------------------------------- --
-- Instance CheckList --
-- ----------------------------------------------------------------------- --

Instance Status OK | Listener Status OK

-- ----------------------------------------------------------------------- --
-- Performance Memory CheckList --
-- ----------------------------------------------------------------------- --
--
-- Total Sessions < 700 OK - 19
-- Active sessions number <15 OK - 9
-- Data Buffer Hit Ratio > 80 OK - 97
-- L.Buffer Reload Pin Ratio > 99 OK - 99
-- Row Cache Miss Ratio < 0.015 NO - 1.351
-- Dict.Buffer Hit Ratio > 80 OK - 99
-- Log Buffer Waits = 0 NO - 110
-- Log Buffer Retries < 0.0010 OK - 0
-- Switch number (Daily Avg) < 5 OK - 1
-- Jobs Broken = 0 OK - 0
-- Shared_Pool Failure = 0 OK - 0
--
-- ----------------------------------------------------------------------- --
-- Storage CheckList --
-- ----------------------------------------------------------------------- --
--

Dba_Tablespaces Status OK | V$Log Status OK
V$Datafile Status OK | V$Tempfile Status OK
V$Recover_File OK | V$Recovery_Log OK

-- Tablespace in Backup Mode = 0 OK - 0
-- Tablespace < 95% OK - 0
-- Objects Invalid = 0 NO - 147
-- Indexes unusable = 0 OK - 0
-- Trigger Disabled = 0 NO - 5
-- Constraint Disabled = 0 NO - 2
-- Objects close max extents = 0 OK - 0
-- Objects can not extent = 0 NO - 552
-- User Objects on Systems = 0 NO - 26
-- FK Without Index = 0 NO - 138
--
-- ----------------------------------------------------------------------- --
-- Datagard CheckList --
-- ----------------------------------------------------------------------- --
--
-- Datagard Errors = 0 OK - 0
-- Datagard Gap = 0 OK - 0
-- Archives not Aplied < 5 OK - 2

-- ---------------------------------------------------------------------- --
-- Installed options :
-- ---------------------------------------------------------------------- --

- Objects option
- Connection multiplexing option
- Connection pooling option
- Database queuing option
- Incremental backup and recovery option
- Instead-of triggers option
- Parallel load option
- Proxy authentication/authorization option
- Plan Stability option
- Coalesce Index option
- Transparent Application Failover option
- Sample Scan option
- Java option
- OLAP Window Functions option

Ud. También podrá encontrar varios productos que lo podrán ayudar a monitorear y configurar sus alertas de una forma proactiva, tales como: Grid Control (Oracle), Enterprise Manager (Oracle), Insider (FourthElephant), Spotlight (Quest), entre muchos otros más disponibles en el mercado y también caso sea su preferencia, utilizar sus propios scripts para esta finalidad. La idea es siempre usarlos de una forma proactiva, nunca reactiva.

Por eso cambiemos nuestra mentalidad y dejemos de ser bomberos para comenzar a ser realmente héroes.

Mucha suerte,

Francisco Muñoz Alvarez



Distribuir

Distribuir contenido

Follow DatabasesLA on Twitter

En línea

En este momento hay 0 usuarios y %count invitados en línea.

Estadisticas

Locations of visitors to this page

hidden hit counter