martes, 6 de marzo de 2012

Eres tan bueno como tus ultimos 5 minutos

La semana pasada mientras yo estaba tan tranquilo modificando unos scripts para un respaldo, un amigo me contacta via messenger que un DBA jr acaba de correr un script en producción cuando lo tenia que ejecutar en desarrollo!

Lo primero que se me vino a la mente fue preguntar: Que fue lo que corrió?

Esto para ver si tenia una solución sencilla, y su respuesta fue algo que me hizo sentir alivio, "Si , fue nada mas crear unos esquemas." En ese momento respire tantito alivio, mas sin embargo escribió la siguiente palabra "pero...". Esa palabra hizo la diferencia.

Lo que sucedió fue al tratar de arreglar la situación, tiro esquemas que no debería de haber tirado.

Y en ese momento fui recordado de este gran dicho en el mundo de DBAs, "Eres tan bueno como tus últimos 5 minutos" , creo que es una de las mejores frases que describe lo fragil que es nuestra profesión, ya que como lo he predicado , nuestro trabajo mas alla de ser constructivo es un trabajo destructivo. Si tu logras ver que tu trabajo como DBA es de esta forma, vas a tener mas cuidado en todo lo que haces.

Ya he escrito una entrada de como identificar en donde estamos trabajando , y aqui te paso un script que usa Uwe Hesse

set serveroutput on
begin
dbms_output.put_line('USER: '||sys_context('userenv','session_user'));
dbms_output.put_line('SESSION ID: '||sys_context('userenv','sid'));
dbms_output.put_line('CURRENT_SCHEMA: '||sys_context('userenv','current_schema'));
dbms_output.put_line('INSTANCE NAME: '||sys_context('userenv','instance_name'));
dbms_output.put_line('DATABASE ROLE: '||sys_context('userenv','database_role'));
dbms_output.put_line('OS USER: '||sys_context('userenv','os_user'));
dbms_output.put_line('CLIENT IP ADDRESS: '||sys_context('userenv','ip_address'));
dbms_output.put_line('SERVER HOSTNAME: '||sys_context('userenv','server_host'));
dbms_output.put_line('CLIENT HOSTNAME: '||sys_context('userenv','host'));
end;
/

Y el resultado del script se ve asi:

USER: SYS
SESSION ID: 23
CURRENT_SCHEMA: SYS
INSTANCE NAME: TESTDB
DATABASE ROLE: PRIMARY
OS USER: oracle
CLIENT IP ADDRESS:
SERVER HOSTNAME: servidor1
CLIENT HOSTNAME: servidor1.oracleenespanol.blogspot.com

Así que la próxima ves que vayas a hacer algún trabajo, enfocate en tu tarea, trata de no estar haciendo varias cosas a la vez, identifica y lee las especificaciones de la tarea a hacer e identifica donde la tienes que hacer, esto te ayudara a minimizar los errores en el futuro, suerte !