Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TROUBLESHOOTING 3
NDICE
Presentacin Red de contenidos Unidad de Aprendizaje 1: Estrategias para la solucin de problemas, redes y Directorio Activo SEMANA 1 SEMANA 2 SEMANA 3 SEMANA 4 : Introduccin y estrategias para la solucin de problemas : Solucin de problemas de red : Directorio Activo: Backup y Disaster Recovery : Directorio Activo: Backup y Disaster Recovery Implementacin SEMANA 5 : Optimizando la base de datos del Directorio Activo 95 7 13 35 45 5 6
Unidad de Aprendizaje 2: Servidor de archivos y correos Exchange SEMANA 6 : Servidor de archivos: NTFS y Administracin de cuotas de disco SEMANA 7 SEMANA 8 : Microsoft Exchange Server: Arquitectura : Microsoft Exchange Server: Planificacin y recuperacin de desastres, proceso de restauracin. Unidad de Aprendizaje 3: Bases de Datos SEMANA 9 SEMANA 10 SEMANA 11 : SQL Server 2005: Instalacin : Seguridad en SQL Server 2005 : Relaciones y estructuras de almacenamiento de la base de datos Oracle Unidad de Aprendizaje 4: Aplicativos, servidores y seguridad SEMANA 12 SEMANA 13 SEMANA 14 : Servidor Asterisk: Arquitectura : Servidor Asterisk: Implementacin : Seguridad: Respuestas y mejores prcticas ante incidentes de seguridad 179 187 199 129 145 153 111 121 103
CIBERTEC
CARRERAS PROFESIONALES
TROUBLESHOOTING 5
PRESENTACIN
Troubleshooting pertenece a la lnea de administracin de sistemas, el cual es un curso de espacialidad dictado slo en la carrera de Redes y Comunicaciones. Permite al estudiante desarrollar sus cualidades para la resolucin de problemas presentados en las TICs. El manual para el curso ha sido diseado bajo la modalidad de unidades de aprendizaje, las que se desarrollan durante semanas determinadas. En cada una de ellas, hallar los logros, que debe alcanzar al final de la unidad; el tema tratado, el cual ser ampliamente desarrollado; y los contenidos, que debe desarrollar, es decir, los subtemas. Por ltimo, encontrar un resumen con la informacin ms relevante y links a pgianas web que le permitirn reforzar lo aprendido en la clase. El curso se desarrolla brindndole al alumno una teora general, casos prcticos e implementaciones, cuyos temas tratan sobre las buenas prcticas en la resolucin de problemas en determinados campos de las TICs, muchos de los cuales se relacionan entre s. El curso da inicio con una introduccin general sobre troubleshooting, posteriormente se aborda la teora necesaria para dar soporte a la implementacin de casos prcticos sobre networking, Active Directory, Servidores de archivos y de correo, seguidamente casos sobre problemas en bases de datos Oracle y SQL, servidores de telefonpia Asterisk y finalmente casos sobre problemas de seguridad de redes.
CIBERTEC
CARRERAS PROFESIONALES
RED DE CONTENIDOS
Troubleshooting
Bases de Datos
TROUBLESHOOTING 7
UNIDAD DE APRENDIZAJE
1
SEMANA
ESTRATEGIAS
TEMARIO
Introduccin al Troubleshooting. Solucin de problemas de red. Directorio Activo: Backup y Disaster Recovery. Optimizando la base de datos del Directorio Activo
ACTIVIDADES PROPUESTAS
Desarrollar un caso de Troubleshooting. Verificar el estado de conexin de la red a travs de comandos de Windows. Identificar qu puertos utilizan los servicios principales de Windows. Realizar un backup del Directorio Activo de Microsoft. Realizar una restauracin exitosa del Directorio Activo en caso de desastres.
CIBERTEC
CARRERAS PROFESIONALES
1. INTRODUCCIN AL TROUBLESHOOTING
1.1 INTRODUCCIN
Solucin de problemas (Troubleshooting), es una forma de resolucin de problemas. Se trata de la bsqueda sistemtica de la fuente de un problema para que pueda ser resuelto. Solucin de problemas a menudo es un proceso de eliminar las posibles causas de un problema. Solucin de problemas se utiliza en muchos campos como la administracin de sistemas y la electrnica. En general la solucin de problemas es la identificacin o diagnstico de "problemas" en un sistema. El problema es inicialmente descrito como sntomas de mal funcionamiento y la resolucin de problemas es el proceso de determinacin de las causas de estos sntomas. Un sistema puede ser descrito en trminos de su intencin o el comportamiento esperado. Eventos o aportaciones al sistema se espera que generen resultados especficos o productos. (Por ejemplo, al querer ingresar a una de las pginas de la intranet, el cual me permita visualizar un listado grande de datos de inters). Cualquier inesperado cambio, en particular el comportamiento indeseable es un sntoma y la solucin de problemas es el proceso de aislamiento de su causa o causas especficas. Con frecuencia el sntoma es un fracaso para observar ningn resultado. (No se pudo abrir la pgina deseada, por ejemplo). Solucin de problemas tambin puede adoptar la forma de una lista de comprobacin sistemtica (checklist), el procedimiento de solucin de problemas, diagrama o tabla que se hizo antes de que esto ocurra. El desarrollo de procedimientos para solucin de problemas con antelacin suficiente permite pensamiento acerca de las medidas a adoptar en la resolucin de problemas y la organizacin de la solucin de problemas en el proceso de resolucin de problemas ms eficiente.
TROUBLESHOOTING 9
Descripcin del problema. Cuando y con qu frecuencia ocurre. Los mensajes de error relacionados. La ltima vez que el dispositivo (o el sistema operativo, uso, etc.) funcion apropiadamente. Actualizaciones recientes o cambios en la configuracin. Archivos recientes descargados desde Internet. Ultimas Instalaciones de Aplicaciones. ltimos Update de aplicaciones. En este punto, se necesita establecer causas posibles. Crear una lista de causas probables, comenzando desde abajo con la ms obvia hasta el ms inverosmil. Despus de esto, comenzar a aislar el problema probando cada una de las causas en la orden en el que se las formul. Al probar, realizar un cambio a la vez y prubar los resultados. Si eso no resuelve la situacin, realizar otro cambio y pruebar nuevamente los resultados. Si se cambia ms de un elemento a la vez y el problema se soluciona, no se sabr con exactitud qu era lo que lo produca. Consecuentemente, la prxima vez que ocurra el problema, no se sabr qu solucin fue la adecuada, teniendo que realizar todo el proceso para resolverlo. Adems, si se hacen cambios mltiples y el problema empeora no se tendr ninguna idea si la condicin empeorada fue por el cambio realizado o por una cuestin de una progresin normal. Cuando se est aislando un problema, realizar solamente un cambio a la vez, probar el cambio, y documentar los resultados. Cuando se localiza un problema de la red, cmo se determina si la fuente del problema es hardware o software o estn relacionadas? La solucin puede ser a veces fcil. Si un ventilador en el servidor para de trabajar, se puede saber que es un evento del hardware. Sin embargo, qu pasa con los problemas tales como funcionamiento lento de la red o los usuarios no tienen acceso fiable a internet? En relacin con las mejoras, no hay garanta que ir cualquier mejora tal y como es previsto. Crear un plan de reserva en caso de que vaya cualquier cosa mal. Al substituir el hardware, mantener el viejo equipo en el almacn por un perodo de tiempo hasta que se est seguro que los nuevos cambios funcionan en el nuevo equipo correctamente. Si se est actualizando el software, asegurar de que la actualizacin se pueda revertir en caso de que ocurran las complicaciones. Y por muy insignificante que parezca el cambio no olvidar RESPALDAR. Guardar la documentacin que viene con nuevos hardware y software. En un cierto punto, es probable que se necesitar leerla
CIBERTEC
CARRERAS PROFESIONALES
10
Sobre esta afirmacin inicial se han llevado a cabo numerosos estudios cuyas conclusiones son: La presencia desde el nacimiento de ciertas habilidades (inteligencia, capacidad de observacin, persistencia etc.) favorece la adaptacin y resolucin exitosa del individuo a las situaciones conflictivas que se le presenten a lo largo de su vida. Esto no significa que estas habilidades no puedan aprenderse, sino que por el contrario, el conocimiento de las tcnicas, y estrategias adecuadas y la prctica constante de las mismas pueden hacer que se desarrollen incluso ms eficazmente estas habilidades. En el curso que a continuacin iniciamos, se proporcionar al alumno el conocimiento de las tcnicas y estrategias que facilitan la resolucin de problemas, quedando en su mano el convertirse, a travs de la prctica constante, en un experto en solucin de problemas.
SABER PENSAR En el mundo cotidiano, el primer punto y en ocasiones el ms difcil antes de resolver un problema, es el reconocimiento de que ese problema existe Esto implica que las personas no slo necesitan ayuda para resolver los problemas sino tambin para reconocerlos. Porque en ocasiones, los problemas se inventan de manera tal que formar a las personas para que resuelvan problemas es muy complejo, ya que depender del criterio que tome cada individuo para afrontar un problema. Ejemplo: dos personas confrontan un problema y cada uno tomar los criterios necesarios para resolverlo, por lo tanto llegaremos a dos soluciones diferentes, ninguna solucin es mejor que la otra, ambas llegan al mismo resultado. En el mundo cotidiano, resulta ms difcil identificar el problema que resolverlo Recurriendo a un ejemplo: un administrador de plataforma puedes detectar a simple vista que los backup se realizan con fallas, pero sin lograr descubrir por qu. Un alumno puede observar que sus calificaciones son ms bajas en una asignatura pero sin reconocer qu puede hacer para mejorarlas. Encontrar lo que genera la dificultad es lo que permitir reconocer el problema. En el mundo cotidiano, la resolucin de problemas no presenta de forma clara el tipo de informacin necesaria que se requiere para abordarlos, ni tampoco estar claro el sitio en el cual deba buscarse la informacin En efecto, la vida real es compleja y hallar la informacin puede ser a menudo un problema en s mismo. En el mundo cotidiano, los problemas no tienen una nica solucin... e incluso los criterios que definiran cul de todas es la mejor solucin, no siempre estn claros. En la mayor parte de los problemas que aparecen en la vida no existen respuestas unvocamente correctas, y an en el caso en que esto fuera as, solo sera posible apreciarlo en retrospectiva. En el mundo cotidiano, los problemas dependen al menos tanto de conocimiento oficial como del extraoficial La capacidad de adquirir el conocimiento extraoficial no es sino una manifestacin de la capacidad para adquirir cualquier otra forma de conocimiento.
TROUBLESHOOTING 11
En el mundo cotidiano, los problemas suelen resolverse en grupo Generalmente, las problemticas de la vida implican para su solucin la intervencin de varias personas, los grupos de trabajo son la norma ms habitual en la mayora de los mbitos. En el mundo cotidiano, los problemas suelen ser complicados, confusos y persistentes La solucin de un problema no siempre es una solucin definitiva, los problemas reales son problemas que pueden tener diversas dimensiones en incluso modificarse de acuerdo a la perspectiva. Por ejemplo, los directivos de una empresa pueden apreciar como deben enfrentar una doble problemtica: encontrar soluciones y adems, convencer a otros de la eficacia de dicha solucin.
CIBERTEC
CARRERAS PROFESIONALES
12
RESUMEN
Troubleshooting es la bsqueda sistemtica de la fuente de un problema para que pueda ser resuelto. La solucin de problemas tambin puede adoptar la forma de una lista de comprobacin sistemtica (checklist), el procedimiento de solucin de problemas, diagrama o tabla que se hizo antes de que esto ocurra. La presencia desde el nacimiento de ciertas habilidades (inteligencia, capacidad de observacin, persistencia etc.) no significa que estas habilidades no puedan aprenderse, sino que por el contrario, el conocimiento de las tcnicas, y estrategias adecuadas y la prctica constante de las mismas pueden hacer que se desarrollen incluso ms eficazmente estas habilidades. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://www.matematicasypoesia.com.es/GlosarioCal/rgcalidad04.htm Aqu hallar una plantilla aplicada para las reuniones de grupo.
http://www.scribd.com/doc/3050467/Identificacion-de-Problemas-Arbol-deProblemas En esta pgina se aplica una tcnica conocida como rbol de Problemas.
TROUBLESHOOTING 13
UNIDAD DE APRENDIZAJE
1
SEMANA
ESTRATEGIAS
TEMARIO
Introduccin al Troubleshooting. Solucin de problemas de red. Directorio Activo: Backup y Disaster Recovery - Teora. Directorio Activo: Backup y Disaster Recovery Laboratorio Optimizando la base de datos del Directorio Activo
ACTIVIDADES PROPUESTAS
Desarrollar un caso de Troubleshooting. Verificar el estado de conexin de la red a travs de comandos de Windows. Identificar qu puertos utilizan los servicios principales de Windows. Realizar un backup del Directorio Activo de Microsoft. Realizar una restauracin exitosa del Directorio Activo en caso de desastres.
CIBERTEC
CARRERAS PROFESIONALES
14
TROUBLESHOOTING 15
CIBERTEC
CARRERAS PROFESIONALES
16
Los siguientes pasos detallan los procesos de la solucin de problemas mostrados en la diagrama de flujo. Paso 1: Cuando se analiza un problema de red, se hace una clara descripcin del problema. Se debe definir el problema en trminos de un grupo de sntomas y potenciales causas. Para propiamente analizar el problema, se identifican los sntomas generales y entonces se buscan las causas que pueden resultar en estos sntomas. Por ejemplo, un servidor puede no responder a las solicitudes de servicio de sus clientes (un sntoma). Las posibles causas pueden incluir la desconfiguracin del servidor, daos en la interfase de red, o prdidas de rutas en el router que lo enlaza a los clientes. Paso 2: Se renen los datos y hechos que se necesitan para ayudar a aislar las posibles causas. Preguntar a los usuarios afectados, administradores de red, jefes, y a todas las personas posibles. Recolectar la informacin de fuentes como de los sistemas de administracin de la red, analizadores de protocolos, comandos de diagnstico de routers, u otro software que nos pueda brindar ms informacin sobre el problema y su entorno. Paso 3: Se consideran los posibles problemas basados en los datos reunidos. Usando los datos recopilados podemos eliminar algunas de las causas potenciales de nuestra lista. Dependiendo de los datos, podemos, por ejemplo: ser capaces de eliminar al hardware como una causa, enfocndose as en una solucin a un problema de software. Cualquier accin que disminuya el nmero de causas potenciales ayudan a poder crear un eficiente plan de accin. Paso 4: Se crea un plan de accin basado en los causas potenciales que an no han sido descartadas. Se empieza con la ms probable causa del problema e idear un plan en el cual slo una variable es manipulada. Cambiando slo una variable a la vez permite reproducir una solucin dada a un especfico problema. Si se altera ms de una variable simultneamente, capaz se podr resolver el problema, pero identificar el cambio especfico que elimin el sntoma se hace ms dificultoso y no ayudar a resolver el mismo problema si este ocurre ms adelante. Paso 5: Se implementa el plan de accin, se realiza cada paso cuidadosamente mientras se verifica si el sntoma desaparece. Paso 6: Siempre que se cambie una variable, se debe asegurar la recopilacin de los resultados. Generalmente, se podr usar el mismo mtodo de recopilacin del Paso 2 (que es, trabajar con las personas claves afectadas y a la vez utilizando nuestras herramientas de diagnstico). Paso 7: Se analizan los resultados para analizar si el problema ha sido resuelto. Si esto es as, entonces el problema est resuelsto por completo. Paso 8: Si el problema no ha sido resuelto, se debe crear un plan de accin basado en la prxima ms probable causa del problema de nuestra lista. Retornar
TROUBLESHOOTING 17
al paso 4, cambiar una variable a la vez, y repetir el proceso hasta que el problema est resuelto. Paso 9: Se asegura de que el problema no se vuelva a repetir. Para ello se podrn realizar varias acciones, como por ejemplo si el problema se debi a una desconfiguracin, documentar la configuracin como parte del proceso de instalacin o implementacin del servidor o servicio, otra opcin podra ser normar que se realice una revisin diaria de los servicios, y una de los puntos de esta revisin es confirmar que la configuracin o implementacin de la solucin se mantenga.
CIBERTEC
CARRERAS PROFESIONALES
18
La organizacin tiene documentado el comportamiento normal de la red y su rendimiento en diferentes momentos del da de tal manera que se pueda comparar el actual problema con una lnea base? Si responde afirmativamente a todas estas preguntas, se tendr la capacidad de sobreponerse a una falla ms fcil y rpidamente que si no se estuviera preparado.
Ping Ping es una herramienta que ayuda a verificar la conectividad del equipo a nivel IP. Cuando se detectan errores en la conexin TCP/IP, puede utilizarse el comando ping para enviar a un nombre DNS destino o a una direccin IP una peticin ICMP de eco. Se recomienda realizar un ping inicial a la direccin IP del host destino. Si este resulta con xito, puede intentarse un ping al nombre simblico. Si este ltimo falla, el problema no estar en la conectividad de red, sino en la resolucin de nombres. El comando presenta las siguientes opciones: - -t: Solicita eco al host hasta ser interrumpido. - -a: Resuelve direcciones a nombres de host. - -n cantidad: Cantidad de solicitudes de eco a enviar. -l tamao: Tamao del bfer de envos en bytes. - -f: No fragmentar el paquete. - -i TTL: Tiempo de vida (TDV). - -v TOS: Tipo de servicio. - -r cantidad: Registrar la ruta para esta cantidad de saltos. - -s cantidad: Registrar horarios para esta cantidad de saltos. - -j lista de hosts: Ruta origen variable en la lista de host.
TROUBLESHOOTING 19
- -k lista de hosts: Ruta origen estricta en la lista de host. - -w tiempo: Tiempo de espera de respuesta en milisegundos. Por omisin, ping solo espera 750ms por cada respuesta antes de que expire su temporizador.
ARP El comando ARP resulta til para visualizar la cach de resolucin de direcciones. Muestra y modifica las tablas de traduccin de direcciones IP a direcciones fsicas usadas por el protocolo de resolucin de direcciones ARP. Sus formatos de uso son: ARP -s dir_IP dir_eth [dir_if] ARP -d dir_IP [dir_if] ARP -a [dir_IP] [-N dir_if] El comando presenta las siguientes opciones: - -a: Muestra las entradas actuales de ARP preguntando por los datos del protocolo. Si se especifica dir_IP, se muestran las direcciones IP y Fsica slo para el equipo especificado. Cuando ARP se utiliza en ms de una interfaz de red, entonces se muestran entradas para cada tabla ARP. - -g: Lo mismo que -a. - dir_IP: Especifica una direccin internet. - -N dir_if: Muestra las entradas de ARP para las interfaces de red especificadas por dir_if. - -d: Elimina el host especificado por dir_IP. - -s: Agrega el host y asocia la direccin internet dir_IP con la direccin fsica dir_eth. La direccin fsica se especifica con 6 bytes en hexadecimal separados por guiones. La entrada es permanente. - dir_eth: Especifica una direccin fsica. - dir_if: Si est presente, especifica la Direccin internet de la interfaz con la tabla de traduccin de direcciones a modificar. Si no se especifica, se utiliza la primera interfaz aplicable.
Tracert Tracert (trace route) es una utilidad que permite visualizar trazas. Utiliza el campo TTL del paquete IP en mensajes de peticin de eco y de error (tiempo excedido) ICMP para determinar la ruta desde un host a otro a travs de una red, para lo cual muestra una lista de las interfaces de routers por las que pasan dichos mensajes.
CIBERTEC
CARRERAS PROFESIONALES
20
Debe tenerse en cuenta que algunos routers eliminan de forma transparente paquetes con TTL expirado. Estos routers no aparecern en la traza de Tracert. Su uso viene determinado por los siguientes formatos: tracert [-d] [-h mximo_de_saltos] [-j lista_de_hosts] tracert [-w tiempo_de_espera] nombre_de_destino Opciones: - -d: No convierte direcciones en nombres de hosts. - -h mximo_de_saltos: Mxima cantidad de saltos en la bsqueda del objetivo. - -j lista-de-host: Encaminamiento relajado de origen a lo largo de la lista de hosts. - -w tiempo_de_espera: Cantidad de milisegundos de espera por respuesta entre intentos.
Route El comando Route se utiliza para visualizar y modificar la tabla de rutas. Route print muestra una lista con las rutas actuales conocidas por IP para el host. Route add se utiliza para aadir rutas a la tabla, y route delete se utiliza para borrar rutas de la tabla. Ntese que las rutas aadidas a la tabla no se harn persistentes a menos que se especifique el modificador p, por lo que solo permanecern en dicha tabla hasta el siguiente reinicio de la mquina. Para que dos hosts intercambien datagramas IP, ambos debern tener una ruta al otro, o utilizar un gateway por omisin que conozca una ruta. Normalmente, los routers intercambian informacin entre ellos utilizando un protocolo como RIP (Routing Information Protocol) u OSPF (Open Shortest Path First). Puesto que NT no ha proporcionado tradicionalmente una implementacin para estos protocolos, si se deseaba utilizar un equipo como router, deba configurarse manualmente su tabla de rutas. El comando route presenta los siguientes formatos: route [-f] [-p] [comando [destino]] [MASK mscara de red] [puerta de acceso] [METRIC mtrica] [IF interfaz] - -f: Borra las tablas de enrutamiento de todas las entradas de la puerta de acceso. Si se usa ste junto con uno de los comandos, las tablas se borran antes de ejecutar el comando. - -p: Cuando se usa con el comando ADD, hace una ruta persistente en el inicio del sistema. De forma predeterminada, las rutas no se conservan cuando se reinicia el sistema. Cuando se usa con el comando PRINT, muestra la lista de rutas persistentes registradas. Se omite para todos los otros comandos, que siempre afectan las rutas persistentes apropiadas. Esta opcin no est disponible en Windows 95. - Comando: Puede ser uno de los siguientes: PRINT <destino>: Imprime una ruta
TROUBLESHOOTING 21
ADD <destino> <mscara> <gateway> Metric <mtrica> if <interfaz>: Agregar una ruta DELETE <destino>: Elimina una ruta CHANGE <destino> <mscara> <gateway> Metric <mtrica> if <interfaz>: Modifica una ruta existente - MASK <mscara>: Especifica que el siguiente parmetro es el valor "mscara de red". - METRIC <mtrica>: Especifica la mtrica, es decir, el costo para el destino. - if <interfaz>: Especifica la direccin IP de la interfaz sobre la que es accesible el destino. - mscara de red: Especifica un valor de mscara de subred para esta entrada de ruta. Si no se especifica, el valor predeterminado es 255.255.255.255. - destino: Especifica el host. - puerta de acceso: Especifica la puerta de acceso. - Interfaz: El nmero de interfaz para la ruta especificada. Todos los nombres simblicos usados para el destino se buscan en el archivo de la base de datos de la red NETWORKS. Los nombres simblicos para la puerta de acceso se buscan en el archivo de la base de datos de nombres de hosts HOSTS. Si el comando es PRINT o DELETE. El destino o la puerta de acceso pueden ser un comodn (el comodn se especifica como una estrella "*") o bien se puede omitir el argumento de la puerta de acceso. Si Dest contiene un carcter * o ?, se le considera como un modelo de ncleo y slo se imprimen las rutas de destino coincidentes. El carcter "*" coincide con cualquier cadena y "?" coincide con cualquier carcter. Ejemplos: 157.*.1, 157.*, 127.*, *224*. Si no se da IF, intenta buscar la mejor interfaz para una puerta de acceso determinada.
Netstat Netstat muestra estadsticas relativas al protocolo y las conexiones TCP/IP en curso. Netstat a muestra todas las conexiones, y netstat r muestra la tabla de rutas, adems de las conexiones que se encuentren activas. El modificador n indica a netstat que no convierta direcciones y nmeros de puertos a nombres. La sintaxis del comando tiene el siguiente formato: netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [intervalo]
CIBERTEC
CARRERAS PROFESIONALES
22
A continuacin se describen las diferentes opciones con que se puede invocar este comando: - -a: Mostrar todas las conexiones y puertos escucha. (Normalmente, el extremo servidor de las conexiones no se muestra). - -e: Mostrar estadsticas Ethernet. Se puede combinar con la opcin -s. - -n: Mostrar nmeros de puertos y direcciones en formato numrico. - -p proto: Mostrar conexiones del protocolo especificado por proto; que puede ser tcp o udp. Si se usa con la opcin -s para mostrar estadsticas por protocolo, proto puede ser tcp, udp o ip. - -r: Mostrar el contenido de la tabla de rutas. - -s: Mostrar estadsticas por protocolo. En forma predeterminada, se muestran para TCP, UDP e IP; se puede utilizar la opcin p para especificar un subconjunto de lo predeterminado. - Intervalo: Vuelve a mostrar las estadsticas seleccionadas, haciendo pausas en un intervalo de segundos entre cada muestra. Pulse CTRL+C para detener el refresco de estadsticas. Si se omite, netstat imprimir la informacin de configuracin actual una nica vez.
NBTStat Muestra estadsticas del protocolo y conexiones TCP/IP actuales utilizando NBT (NetBIOS sobre TCP/IP). NBTStat es una herramienta que resulta de utilidad para solucionar problemas con la resolucin de nombres llevada a cabo por NetBIOS. NBTStat n muestra los nombres que fueron registrados de forma local en el sistema por aplicaciones, tales como el servidor y el redirector. NBTStat c muestra la cach de nombres NetBIOS, que contiene las traslaciones nombredireccin para otras computadoras. NBTStat R purga la cach de nombres y la carga de nuevo desde el fichero LMHOSTS. NBTStat a <nombre> realiza un comando de estado del adaptador NetBIOS contra la computadora especificada por nombre. El comando de estado de adaptador devuelve la tabla de nombres NetBIOS para esa computadora adems de la direccin MAC de la tarjeta adaptadora. NBTStat S lista las sesiones NetBIOS en curso y sus estados, incluyendo estadsticas. A continuacin se describe el formato de este comando:
TROUBLESHOOTING 23
nbtstat [-a Nombre remoto] [-A direccin IP] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [intervalo] ] El comando puede utilizarse con las siguientes opciones: -a: (estado del adaptador) Lista la tabla de nombres de mquinas remotas dado su nombre. -A: (estado del adaptador) Lista la tabla de nombres de mquinas remotas dada su direccin IP. -c: (cach) Muestra la cach global de nombres remotos incluyendo las direcciones IP -C: (cach) Muestra la cach global de nombres remotos con direccines IP por dispositivo -n: (nombres) Muestra nombres locales NetBIOS. -r: (resueltos) Muestra los nombres resueltos por difusin y va WINS -R: (Recargar) Purga y vuelve a cargar la tabla cach de nombres remotos -S: (Sesiones) Muestra tablas de sesiones con las direcciones IP de destino -s: (sesiones) Muestra las tablas de sesiones para convertir las direcciones IP de destino a nombres de host usando el archivo hosts. -RR: (LiberarActualizar) Enva paquetes de liberacin de nombres a WINS y luego inicia la actualizacin Nombre remoto: Nombre de la mquina de host remota. Direccin IP: Representacin de la direccin IP con separacin de punto decimal. Intervalo: Vuelve a mostrar las estadsticas seleccionadas, indicando la pausa en segundos entre cada muestra. Presione Ctrl+C para interrumpir el ciclo de estadsticas.
Nslookup Nslookup se aadi a Windows NT 4. y es una herramienta muy til para resolver problemas con el Servicio de Nombres de Dominio (DNS), tales como la resolucin del nombre de un equipo. Cuando se inicia nslookup, ste muestra el nombre de host y la direccin IP del servidor DNS que haya sido configurado en el sistema local, pasando a continuacin a mostrar un prompt >. Tecleando ?, se mostrarn las diferentes opciones que se encuentran disponibles para este comando. Par buscar la direccin IP de un host a travs de DNS, teclee el nombre del host y pulse INTRO. Nslookup utilizar por omisin el servidor DNS configurado para la computadora en que est ejecutando, pero, si lo desea, el comando puede configurarse para que utilice cualquier otro servidor DNS a travs del formato nslookup server <nombre>, en el que nombre es el nombre simblico del servidor que se desee utilizar. Una de las principales caractersticas que
CIBERTEC
CARRERAS PROFESIONALES
24
presenta esta herramienta para resolucin de problemas con el servicio de nombres es su modo de depuracin, el cual puede ser invocado tecleando nslookup set debug o, para conseguir un mayor detalle, nslookup set d2. En modo depuracin, nslookup detalla los pasos por los que va pasando en el procesamiento de sus comandos. A continuacin se detallan las diferentes opciones y modos presentes en el comando nslookup, los identificadores se muestran en maysculas, [] significa opcional): - NAME: imprime informacin acerca del host o dominio NAME usando el servidor predeterminado - NAME1 NAME2: igual que el anterior, pero usa NAME2 como servidor - ayuda o ?: imprime informacin acerca de comandos comunes disponibles en nslookup - set OPTION: establecer una opcin - all: imprime opciones, servidor y host actuales - [no]debug: imprime informacin de depuracin. Precedido de no deja de imprimir dicha informacin - [no]d2: imprime informacin de depuracin muy detallada. Precedido de no deja de imprimir dicha informacin - [no]defname: anexa el nombre del dominio a cada consulta - [no]recurse: pide una respuesta recursiva a la consulta - [no]search: usa la lista de bsqueda del dominio - [no]vc: usa siempre un circuito virtual - domain=NAME: establece el nombre del dominio predeterminado a NAME - srchlist=N1[/N2/.../N6] - establece el dominio a N1 y la lista de bsqueda a N1,N2, etc. - root=NAME: establece el servidor de raz a NAME - retry=X: establece el nmero de reintentos a X - timeout=X: establece el intervalo de espera inicial a X segundos - type=X: establece el tipo de consulta (p.e. A, ANY, CNAME, MX, NS, PTR, SOA, SRV) - querytype=X: igual que type - class=X: establece la clase de consulta (p.e. IN (Internet), ANY) - [no]msxfr: usa la transferencia de zona rpida de MS
TROUBLESHOOTING 25
- ixfrver=X: versin actual que se usa en la solicitud de transferencia IXFR - server NAME: establece el servidor predeterminado a NAME, usando el servidor predeterminado actual - lserver NAME: establece el servidor predeterminado a NAME, usando el servidor inicial - finger [USER]: fija el NAME opcional en el host predeterminado actual - root: establece el servidor predeterminado actual a la raz - ls [opt] DOMAIN [> FILE]: lista direcciones en DOMAIN (opcional: salida a FILE) - -a: lista nombres cannicos y alias - -d: lista todos los registros - -t TYPElista registros del tipo dado (p.e. A, CNAME, MX, NS, PTR etc.) - view FILE:: clasifica un archivo de salida 'ls' y lo ve con pg - exit: sale del programa.
CIBERTEC
CARRERAS PROFESIONALES
26
Como se ha indicado al principio, cuando se realiza una conexin a Internet, el proveedor da, para esa conexin, una direccin IP para poder comunicarse con el resto de Internet. Cuando se solicita un servicio de internet, por ejemplo una pagina web, se hace la solicitud de la pgina mediante un puerto del computador a un puerto del servidor web. Existen ms de 65000 de puertos diferentes, usados para las conexiones de Red. Una medida bsica de seguridad es conocer qu puertos se tienen, cules estn abiertos, porqu estn abiertos y, de estos ltimos, identificar los que no se utilizan o los que sean fuente de un problema de seguridad. Pensando por ejemplo en una casa. Se tiene una puerta de entrada que no se deja siempre abierta. Tambin se tienen ventanas, a las que se les pone cortinas para preservar la intimidad. Incluso se pueden cerrar para que por all no ingrese nadie. Pues lo mismo se aplica a la PC cuando se est conectado a Internet. Un atacante que intente, o consiga, tener control sobre el computador necesita tener a su disposicin una puerta abierta en el computador para poder comunicarse, es decir, un puerto de comunicaciones.
Protocolo El concepto de redes de computadoras implica que las entidades en diferentes sistemas necesitan comunicarse. Se usan los trminos entidad y sistema en un sentido muy general. Ejemplos de entidades son los programas de aplicacin de los usuarios, paquetes de transferencias de archivos, sistemas de administracin de bases de datos, facilidades de correo electrnico y terminales. Ejemplos de sistemas son las computadoras, los terminales y los sensores remotos. Ntese que en algunos casos la entidad y el sistema en el cual sta reside son coexistentes, tal como en el caso de los terminales. En general toda entidad es todo aquello capaz de enviar o recibir informacin y un sistema es un objeto fsicamente distinto que contiene una o ms entidades. Para que dos entidades se comuniquen exitosamente deben hablar el mismo lenguaje. Lo que se comunique, cmo esto se comunique o cundo esto sea comunicado, deben ceirse a un conjunto de convenciones aceptadas mutuamente entre las identidades involucradas. Este conjunto de convenciones es el protocolo, que puede definirse como el conjunto de reglas que gobiernan el intercambio de datos entre dos entidades. Los elementos claves de un protocolo son: Sintaxis: Incluye el formato de los datos, codificacin y niveles de seal. Semntica: Incluye la informacin de control para la coordinacin y el manejo de errores. Temporalizacin: Incluye la adaptacin de velocidad y secuenciamiento.
TROUBLESHOOTING 27
El protocolo IP es el elemento que permite integrar distintas redes entre si. El protocolo IP enlaza las diferentes piezas (distintas redes: FDDI, RDSI, X.25, lineas dedicadas, token ring, ethernet, lineas telefnicas,...) de la Internet. Cada mquina de la red Internet tiene una direccin IP nica. Una direccin IP es un nmero de 32 bits que normalmente se escribe como cuatro enteros entre 0 y 255 separados por puntos (192.112.36.5), la direccin IP permite el encaminamiento de la informacin a travs de la Internet. En la terminologa de comunicaciones el protocolo IP define una red de conmutacin de paquetes. La informacin se fragmenta en pequeos trozos o paquetes (alrededor de 1500 caracteres) que se envan independientemente por la red. Cada paquete es enviado con la direccin del ordenador donde ha de ser entregado y, de forma similar a como funciona un sistema postal, cada paquete viaja independientemente de los dems por la red hasta alcanzar su destino. Dentro de una red local, el encaminamiento de la informacin es simple. En Ethernet por ejemplo todos los ordenadores 'escuchan' la red para detectar los paquetes que se dirigen a ellos. En la Internet este procedimiento es inviable. Los routers (antes llamados gateways) son los elementos encargados del encaminamiento de los mensajes IP. Los routers conocen las mquinas conectadas a la red y toman la decisin de como encaminar los paquetes de datos a travs de unos enlaces u otros. Cada router slo necesita saber que conexiones estn disponibles y cual es el mejor "prximo salto" para conseguir que un paquete este mas cerca de su destino (El paquete va "saltando" de router a router hasta llegar a su destino). Las mquinas de la Internet, fuera del entorno de la red local, utilizan un router para encaminar los paquetes. La direccin IP de esta mquina es la nica informacin que deben conocer, del resto se encargan los routers. Protocolo de control de la transmisin (TCP): En su transito por distintas redes y equipos encaminadores puede ocurrir que haya paquetes IP que se pierdan, lleguen duplicados o con errores en la informacin que contienen. El protocolo TCP se encarga de subsanar estas posibles deficiencias para conseguir un servicio de transporte de informacin fiable. TCP fragmenta la informacin a transmitir, de la misma forma que lo hace el protocolo IP. TCP numera cada uno de estos paquetes de manera que el receptor de la informacin pueda ordenarlos al recibirlos. Para pasar esta informacin a travs de la red, TCP utiliza un sobre identificado con el nmero de secuencia de cada paquete. Los paquetes TCP se envan a su destino, independientemente unos de otros, utilizando el protocolo IP. En la parte receptora, el TCP recoge el paquete, extrae los datos, y los pone en el orden correcto. Si algunos sobres desaparecen, el receptor le pide al transmisor que retransmita los paquetes de nuevo. Cuando toda la informacin recogida esta en su orden, se pasan los datos a la capa de aplicaciones. Esto es una visin ideal del TCP. En la prctica los paquetes no solamente se pueden perder, sino que pueden sufrir cambios en su transito por la red. TCP resuelve este problema colocando en el paquete que se enva lo que se denomina el "checksum". Cuando el paquete llega a su destino, el receptor TCP calcula que checksum debe ser y lo compara con el que se ha enviado. Si no son los mismos
CIBERTEC
CARRERAS PROFESIONALES
28
el TCP receptor entiende que ha habido un error en la transmisin y le pide al transmisor que reenve. De esta forma el TCP ofrece un servicio fiable de transmisin de informacin. Todas las aplicaciones de la Internet utilizan los servicios de transporte TCP para el intercambio de informacin, de forma que pueden ignorar los problemas de envo de informacin a travs de la red, o al menos muchos de ellos. Protocolo de Datagramas del Usuario (UDP) Establecer una conexin TCP requiere gran cantidad de informacin en las cabeceras de los paquetes y en consecuencia retrasos en la transmisin; si se quiere enviar un paquete y no se requiere una particular precaucin en el reparto del mismo entonces se pude usar otro protocolo que sea mas simple que el TCP, este es el caso del "protocolo de datagramas del usuario (UDP)que se utiliza en vez del TCP en algunas aplicaciones. UDP es ms simple que el TCP porque no se preocupa de mensajes que se pierdan, mantener el orden en los paquetes que se envan, etc. UDP se usa para programas que slo envan mensajes cortos, y pueden reenviar el mensaje si una respuesta no se produce en perodo corto de tiempo. El UDP tambin se utiliza en el entorno de la red local donde la tasa de errores de transmisin es muy pequea, y no es necesario el sofisticado control de errores del protocolo TCP. A continuacin se muestra el listado de los principales puertos y los servicios que los utilizan por defecto
Puerto 7 7 9 9 13 13 17 17 19 19 20 21 21 23 25 25 25 25 42 42 53 53 Protocolo TCP UDP TCP UDP TCP UDP TCP UDP TCP UDP TCP TCP TCP TCP TCP UDP TCP UDP TCP UDP TCP UDP Protocolo de aplicacin Eco Eco Descartar Descartar Hora diurna Hora diurna Cita del da Cita del da Chargen Chargen Datos predeterminados de FTP Control FTP Control FTP Telnet SMTP SMTP SMTP SMTP Replicacin WINS Replicacin WINS DNS DNS Nombre de servicio del sistema Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicios simples de TCP/IP Servicio de publicacin FTP Servicio de publicacin FTP Servicio de Puerta de enlace de capa de aplicacin Telnet Protocolo simple de transferencia de correo Protocolo simple de transferencia de correo Exchange Server Exchange Server Servicio de nombres Internet de Windows Servicio de nombres Internet de Windows Servidor DNS Servidor DNS
TROUBLESHOOTING 29
53
TCP
DNS
67 67
UDP UDP
69 80 80 80 88 88 102 110 110 119 123 123 135 135 135 135 135 135 135 135 135 135 135 135 135 135 135 135 135 137 137 137 137 137 138
UDP TCP TCP TCP TCP UDP TCP TCP TCP TCP UDP UDP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP UDP UDP UDP UDP UDP UDP
TFTP HTTP HTTP HTTP Kerberos Kerberos X.400 POP3 POP3 NNTP NTP SNTP RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC RPC Resolucin de nombres NetBIOS Resolucin de nombres NetBIOS Resolucin de nombres NetBIOS Resolucin de nombres NetBIOS Resolucin de nombres NetBIOS Servicio de Datagrama de NetBIOS
CIBERTEC
CARRERAS PROFESIONALES
30
138 138 138 138 138 138 139 139 139 139 139 139 139 139 139 139 143 161 162 389 389 389 389 443 443 443 445 445 445 445 445 445 445 500 515 548 554 563 593 593 636 636 993 995
UDP UDP UDP UDP UDP UDP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP UDP UDP TCP UDP TCP UDP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP UDP TCP TCP TCP TCP TCP TCP TCP UDP TCP TCP
Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de NetBIOS Servicio de Servicio de Servicio de Servicio de Servicio de Servicio de Servicio de
Datagrama de Datagrama de Datagrama de Datagrama de Datagrama de Datagrama de Sesin Sesin Sesin Sesin Sesin Sesin Sesin NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS NetBIOS
Mensajero Servidor Inicio de sesin en red Sistema de archivos distribuido Systems Management Server 2.0 Servicio de registro de licencias Examinador de equipos Servicio de fax Registros y alertas de rendimiento Cola de impresin Servidor Inicio de sesin en red Localizador de llamada a procedimiento remoto Sistema de archivos distribuido Systems Management Server 2.0 Servicio de registro de licencias Exchange Server Servicio SNMP Servicio de captura SNMP Autoridad de seguridad local Autoridad de seguridad local Sistema de archivos distribuido Sistema de archivos distribuido HTTP SSL Servicio de publicacin World Wide Web SharePoint Portal Server Servicio de fax Cola de impresin Servidor Localizador de llamada a procedimiento remoto Sistema de archivos distribuido Servicio de registro de licencias Inicio de sesin en red Autoridad de seguridad local Servidor de impresin TCP/IP Servidor de archivos para Macintosh Servicios de Windows Media Protocolo de transferencia de noticias a travs de la red Llamada a procedimiento remoto Exchange Server Autoridad de seguridad local Autoridad de seguridad local Exchange Server Exchange Server
Servicio de Sesin NetBIOS Servicio de Sesin NetBIOS Servicio de Sesin NetBIOS IMAP SNMP Salida de capturas SNMP Servidor LDAP Servidor LDAP Servidor LDAP Servidor LDAP HTTPS HTTPS HTTPS SMB SMB SMB SMB SMB SMB SMB IPSec ISAKMP LPD Servidor de archivos para Macintosh RTSP NNTP sobre SSL RPC sobre HTTP RPC sobre HTTP LDAP SSL LDAP SSL IMAP sobre SSL POP3 sobre SSL
TROUBLESHOOTING 31
1270 1433 1433 1434 1434 1645 1646 1701 1723 1755 1755 1801 1801 1812 1813 1900 2101 2103 2105 2107 2393 2394 2460 2535 2701 2701 2702 2702 2703 2703 2704 2704 2725 2869 2869 3268 3269 3343 3389 3389 3527 4011 4500
TCP TCP TCP UDP UDP UDP UDP UDP TCP TCP UDP TCP UDP UDP UDP UDP TCP TCP TCP TCP TCP TCP UDP UDP TCP UDP TCP UDP TCP UPD TCP UDP TCP TCP TCP TCP TCP UDP TCP TCP UDP UDP UDP
MOM-Cifrado SQL sobre TCP SQL sobre TCP Prueba SQL Prueba SQL RADIUS heredado RADIUS heredado L2TP PPTP MMS MMS MSMQ MSMQ Autenticacin RADIUS Administracin de cuentas RADIUS SSDP MSMQ-DC MSMQ-RPC MSMQ-RPC MSMQ-Admon Servicios OLAP 7.0 Servicios OLAP 7.0 Teatro MS MADCAP Control remoto SMS (control) Control remoto SMS (control) Control remoto SMS (datos) Control remoto SMS (datos) Conversacin remota SMS Conversacin remota SMS Transferencia de archivos remotos SMS Transferencia de archivos remotos SMS Servicios de Analysis Server de SQL UPNP Notificacin de sucesos SSDP Servidor de catlogo global Servidor de catlogo global Servicios de Cluster Server Servicios de Terminal Server Servicios de Terminal Server MSMQ-Ping BINL NAT-T
Microsoft Operations Manager 2000 Microsoft SQL Server MSSQL$UDDI Microsoft SQL Server MSSQL$UDDI Servicio de autenticacin de Internet Servicio de autenticacin de Internet Enrutamiento y acceso remoto Enrutamiento y acceso remoto Servicios de Windows Media Servicios de Windows Media Message Queue Server Message Queue Server Servicio de autenticacin de Internet Servicio de autenticacin de Internet Servicio de descubrimientos SSDP Message Queue Server Message Queue Server Message Queue Server Message Queue Server SQL Server: Compatibilidad con clientes OLAP de nivel inferior SQL Server: Compatibilidad con clientes OLAP de nivel inferior Servicios de Windows Media Servidor DHCP Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Agente de control remoto SMS Analysis Server de SQL Dispositivo host de UPNP Servicio de descubrimientos SSDP Autoridad de seguridad local Autoridad de seguridad local Servicio de Cluster Server Escritorio remoto compartido de NetMeeting Servicios de Terminal Server Message Queue Server Instalacin remota Autoridad de seguridad local
CIBERTEC
CARRERAS PROFESIONALES
32
Notificacin de sucesos heredados SSDP RTP RTCP Estado de sesin ASP.Net MOM-No cifrado
Servicio de descubrimientos SSDP Servicios de Windows Media Servicios de Windows Media Servicio de estado de ASP.NET Microsoft Operations Manager 2000
TROUBLESHOOTING 33
RESUMEN
Cuando se realiza Troubleshooting en un ambiente de red, un enfoque sistmico da mejores resultados. Definir los sntomas especficos, identificar todos los potenciales problemas que puedan estar causando estos sntomas, y eliminar sistemticamente cada problema potencial (del ms crtico al menos crtico) hasta que los sntomas desaparezcan. El requerimiento ms importante en cualquier ambiente de red es tener disponible la actual y real informacin de la red todo el tiempo accesible al personal de soporte de redes o administradores de red. Conocer los principales puertos y protocolos de red nos dar una gran ventaja ante un problema de red. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://www.4shared.com/file/37889205/c8171ddf/Network_Troubleshooting_Too ls.html Contiene la descarga en formato pdf del libro Network Troubleshooting Tools, cuyo autor es SLOAN, JOSEPH D. Publicado por O'Really System Administration en el ao 2001 http://www.4shared.com/file/33622222/37b1303d/NetworkSecurityBibleJan2005 .html Contiene la descarga en formato pdf del libro Network Troubleshooting Tools, cuyo autor es SLOAN, JOSEPH D. Publicado por O'Really System Administration en el ao 2001
CIBERTEC
CARRERAS PROFESIONALES
34
TROUBLESHOOTING 35
UNIDAD DE APRENDIZAJE
1
SEMANA
ESTRATEGIAS
TEMARIO
Introduccin al Troubleshooting. Solucin de problemas de red. Directorio Activo: Backup y Disaster Recovery Optimizando la base de datos del Directorio Activo
ACTIVIDADES PROPUESTAS
Desarrollar un caso de Troubleshooting. Verificar el estado de conexin de la red a travs de comandos de Windows. Identificar qu puertos utilizan los servicios principales de Windows. Realizar un backup del Directorio Activo de Microsoft. Realizar una restauracin exitosa del Directorio Activo en caso de desastres.
CIBERTEC
CARRERAS PROFESIONALES
36
TROUBLESHOOTING 37
como un tornado, fuego, inundacin, robo nos deja sin un solo sistema habilitado, conocer algunos tips para realizar de mejor manera el plan de recuperacin de desastres, as como los pasos para cada especial caso de restauracin de dominio, asegurar poder levantar los sistemas tal y como se entraban antes del funesto evento.
Nota: Si nuestro Domain Controller est tambin actuando como una autoridad certificada, la base de datos del certificado es respaldada como parte del System State.
Realizando un System State Backup El backup del System State es muy fcil de realizar, siempre y cuando se realice con la utilidad de Backup incorporada con el sistema operativo del servidor. Cuando se inicia la utilidad de Backup, se puede usar el Backup Wizard, el cual mostrar paso a paso qu se necesita para realzar el backup; tambin se puede realizar manualmente seleccionando las opciones de backup. El backup del System State es una de las opciones que podemos tomar.
CIBERTEC
CARRERAS PROFESIONALES
38
Una vez almacenado en un backup media, el System State puede ser almacenado en una segura ubicacin hasta que se necesite restaurarlo en el Domain Controller. Se debe asegurar que se respalde la media en un lugar seguro, porque cualquier persona con acceso a la media puede hackear la base de datos y descubrir informacin acerca del dominio, el cual puede incluir passwords de nuestras cuentas de usuario. Limitaciones del Windows Backup Una de las utilidades incluidas como parte del sistema operativo base de Microsoft es el Windows Backup. Windows Backup no es una herramienta con muchas caractersticas. Esta herramienta provee su funcionalidad para pequeas empresas para realizar eficientemente procedimientos de backup y restore; sin embargo, una gran organizacin puede encontrar a esta herramienta algo limitada para las caractersticas avanzadas que necesita para un nivel empresarial de recuperacin de desastres. Una limitacin es la incapacidad de realizar backups remotos del System State. Si la organizacin es pequea y se necesita utilizar la utilidad de Backup de Microsoft se puede centralizar el backup del System State de todos los Domain Controllers. Se puede programar el backup de System State y especificar una ubicacin en la red para guardar los archivos del backup. Se puede realizar el backup de todos los archivos de todos los Domain Controllers en un mismo backup set. Otra limitacin del Windows Backup es la incapacidad de administrar un nivel de libreras de backup. Windows Backup tiene una caracterstica que permite administrar los backups y localizar los archivos que se necesitan para restaurar, pero este no permite trabajar con grandes bases de datos de informacin.
TROUBLESHOOTING 39
c. Tipear quit para retornar a ntdsutil, tipear nuevamente quit para salir de ntdsutil.
Por supuesto, si se conoce el password, se podr reiniciar el Domain Controller, ingresar al modo Directory Services Restore Mode, y cambiar el password tal y como cambiamos el password de cualquier otra cuenta local. A pesar de que no sea la opcin preferida, se debe tener el Domain Controller fuera de lnea durante la realizacin del cambio de password.
CIBERTEC
CARRERAS PROFESIONALES
40
Teniendo la capacidad de cambiar el password desde la utilidad NTDSUTIL surgen algunos problemas que se deben de tener en cuenta. Cualquiera que tenga la capacidad de loguear en el Domain Controller con una cuenta que tiene credenciales para ejecutar NTDSUTIL tendr la capacidad para cambiar el password del DSRM y posiblemente ingresar al Directory Services Restore Mode, iniciar el restore, e inyectar objetos en nuestro dominio. Mientras existan cuentas que tengan estas facultades, se debe de considerar esta posibilidad. En un Domain Controller basado en Windows 2000, si no recordamos el password del administrador DSRM, podemos reconstruir el servidor (usualmente esta no es una opcin), o podemos utilizar un utilitario de terceros. De igual forma, en cualquier caso, debemos reiniciar el sistema en el modo Directory Services Restore Mode para cambiar la cuenta. Primary Restore El Primary Restore es usado cuando todos los Domain Controllers han fallado y tenemos la necesidad de disponer de un Domain Controller en lnea. Este Domain Controller ser efectivamente el primer controlador de dominio del dominio. Este contendr slo los objetos que fueron respaldados, y no ser capaz de recuperar cualquier cambio que fue realizado entre el ltimo backup y la completa falla. No se debe realizar un Primary Restore si existe algn Domain Controller funcionando en el dominio. Si se tiene un Domain Controller funcionando en el dominio, se necesita ejecutar el Normal Restore, el cual se detallar en la siguiente seccin. Para realizar un Primary Restore, se selecciona la opcin System State desde la opcin de restore dentro del programa utilitario de Backup. Tal como se avanza a travs del wizard, se selecciona la opcin para hacer cada contexto de nombres la primera versin: When restoring replicated data sets, mark the restored data as the primary data for all replicas. La siguiente pantalla muestra la eleccin de un Primary Restore desde el Restore Wizard.
TROUBLESHOOTING 41
Una vez que el restore est completo, cada una de las rplicas debe de estar configuradas como la primera versin., y cualquier Domain Controller adicional que est en lnea debe de recibir la data contenida en este servidor. Lo bueno del mtodo Primary Restore es que el Domain Controller es el soporte de cada uno de los roles Master Operations. En un servidor basado en Windows 2000 server,
CIBERTEC
CARRERAS PROFESIONALES
42
no tenemos la opcin de realizar un Primary Restore, por lo tanto se debe de tener presente estos roles ya que si se realiza una restauracin del Domain Controller los roles originales no se restaurarn. Normal Restore En muchos casos, cuando se tiene una falla de hardware y se tiene que restaurar el directory service a un sistema reconstruido, se realiza un Normal Restore. El Normal Restore reemplaza todos los archivos desde el backup media, y luego la replicacin del Active Directory replica cualquier cambio que haya ocurrido despus que el backup ha sido tomado. En primer lugar para realizar un Normal Restore, se debe reiniciar el Domain Controller afectado en el modo Directory Services Restore Mode y restaurar el System State. Una vez que ha sido restaurado el System State, se reinicia el Domain Controller y cualquier objeto que ha sido aadido, borrado, o actualizado desde el ltimo backup del System State ser replicado por el Domain Controller. Authoritative Restore Se borr por error algn archivo o directorio y nos percatamos posteriormente que este archivo o directorio es muy necesario? Se revisa y se percata de que no se tienen disponibles en la papelera de reciclaje ni en ninguna unidad de red. Si la solucin de backup est trabajando correctamente, se podr restaurar el archivo o directorio en un solo paso. En este escenario restaurar el archivo de backup es un proceso muy sencillo. Pero qu sucede cuando tenemos un objeto que necesita ser restaurado para un grupo de sistemas y todos ellos piensan que el objeto ya no debe existir y toman instrucciones para borrarlo? Esta es una razn para el Authoritative Restore. Cuando un objeto es eliminado del Active Directory, el objeto es despojado de la mayora de sus atributos y depositado dentro del contenedor de eliminados. Todos los otros Domain Controllers dentro del dominio sern notificados de la eliminacin de este objeto y realizarn la misma accin sobre su copia del objeto. Authoritative Restore notifica a los Domain Controllers a rehacer su accin contra este objeto y permitir que ste exista dentro del dominio nuevamente. Antes de realizar un Authoritative Restore, se debe restaurar el Active Directory como si se estuviera realizando un Normal Restore. Sin embargo, antes de reiniciar el sistema, se debe abrir una pantalla de lnea de comandos e iniciar el NTDSUTIL. Los siguientes pasos mostrarn el orden de los pasos que se deben seguir para restaurar una Unidad Organizativa llamada Sales dentro del dominio zygort.lcl. 1. Desde ntdsutil: tipear authoritative restore 2. Desde authoritative restore: tipear restore subtree ou=Sales,dc=zygort,dc=lcl 3. Tipear quit para retornar a ntdsutil, volver a tipear quit para salir de ntdsutil.
Nota: Si se desea realizar una completa Database Authoritative, se puede usar restores database. Si se desea restaurar un simple objeto se puede usar restore object
Si Authoritative Restore incluye objetos de Group Policy, tambin se necesitar restaurar la plantilla del Group Policy dentro del contenedor Sysvol. Cuando se restauran objetos que han sido eliminados del Active Directory, se debe asegurar que el objeto restaurado pertenezca a sus grupos
TROUBLESHOOTING 43
correspondientes. En algunas circunstancias, cuando una cuenta es borrada el SID de la cuenta es removido de los grupos en los que la cuenta era miembro. Cuando una cuenta es restaurada, la relacin entre la cuenta y sus grupos probablemente se encuentre daada. Para recobrar la membresa a los grupos, podemos agregar manualmente la cuenta a los grupos en los que originalmente era miembro, se podr restaurar todos los usuarios y grupos a su previo estado, o se podr usar la utilidad groupadd.vbs para generar la membresa del grupo de la cuenta e importar las relaciones de membresa usando el archivo resultante LDIF.
CIBERTEC
CARRERAS PROFESIONALES
44
RESUMEN
Resguardar la data es la principal lnea de defensa en el plan de recuperacin de desastres. La base de datos y sus archivos asociados en un Domain Controller son conocidos colectivamente como System State. Los archivos del System State son: Active Directory Database, Active Directory Database Log Files, Boot Files, COM+ Class Registration Database, Registry y Sysvol Windows Server 2003 tiene tres formas de realizar una restauracin del Directorio Activo: primary restores, normal restore y authoritative restore. Windows 2000 no tiene la opcin de primary restore, pero las otras dos opciones s las tiene disponibles. Si desea saber ms acerca de estos temas, puede consultar las siguiente pgina. http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Pgina que contiene informacin acerca de las mejores prcticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el ao 2004
TROUBLESHOOTING 45
UNIDAD DE APRENDIZAJE
1
SEMANA
ESTRATEGIAS
TEMARIO
Introduccin al Troubleshooting. Solucin de problemas de red. Directorio Activo: Backup y Disaster Recovery. Optimizando la base de datos del Directorio Activo
ACTIVIDADES PROPUESTAS
Desarrollar un caso de Troubleshooting. Verificar el estado de conexin de la red a travs de comandos de Windows. Identificar qu puertos utilizan los servicios principales de Windows. Realizar un backup del Directorio Activo de Microsoft. Realizar una restauracin exitosa del Directorio Activo en caso de desastres.
CIBERTEC
CARRERAS PROFESIONALES
46
TROUBLESHOOTING 47
CIBERTEC
CARRERAS PROFESIONALES
48
TROUBLESHOOTING 49
CIBERTEC
CARRERAS PROFESIONALES
50
TROUBLESHOOTING 51
CIBERTEC
CARRERAS PROFESIONALES
52
TROUBLESHOOTING 53
CIBERTEC
CARRERAS PROFESIONALES
54
TROUBLESHOOTING 55
CIBERTEC
CARRERAS PROFESIONALES
56
TROUBLESHOOTING 57
CIBERTEC
CARRERAS PROFESIONALES
58
TROUBLESHOOTING 59
CIBERTEC
CARRERAS PROFESIONALES
60
TROUBLESHOOTING 61
CIBERTEC
CARRERAS PROFESIONALES
62
TROUBLESHOOTING 63
CIBERTEC
CARRERAS PROFESIONALES
64
TROUBLESHOOTING 65
CIBERTEC
CARRERAS PROFESIONALES
66
TROUBLESHOOTING 67
CIBERTEC
CARRERAS PROFESIONALES
68
TROUBLESHOOTING 69
CIBERTEC
CARRERAS PROFESIONALES
70
TROUBLESHOOTING 71
CIBERTEC
CARRERAS PROFESIONALES
72
TROUBLESHOOTING 73
CIBERTEC
CARRERAS PROFESIONALES
74
TROUBLESHOOTING 75
CIBERTEC
CARRERAS PROFESIONALES
76
TROUBLESHOOTING 77
CIBERTEC
CARRERAS PROFESIONALES
78
TROUBLESHOOTING 79
CIBERTEC
CARRERAS PROFESIONALES
80
TROUBLESHOOTING 81
CIBERTEC
CARRERAS PROFESIONALES
82
TROUBLESHOOTING 83
CIBERTEC
CARRERAS PROFESIONALES
84
TROUBLESHOOTING 85
CIBERTEC
CARRERAS PROFESIONALES
86
TROUBLESHOOTING 87
CIBERTEC
CARRERAS PROFESIONALES
88
TROUBLESHOOTING 89
CIBERTEC
CARRERAS PROFESIONALES
90
TROUBLESHOOTING 91
CIBERTEC
CARRERAS PROFESIONALES
92
TROUBLESHOOTING 93
RESUMEN
El Primary Restore es usado cuando todos los Domain Controllers han fallado y se tiene la necesidad de disponer de un Domain Controller en lnea. Este Domain Controller ser efectivamente el primer controlador de dominio de nuestro dominio. El Normal Restores es usado cuando se tiene una falla de hardware y se tiene que restaurar el directory service a un sistema reconstruido. El Normal Restore reemplaza todos los archivos desde el backup media, y luego la replicacin del Active Directory replica cualquier cambio que haya ocurrido despus que el backup ha sido tomado. El Authoritative Restore es usado cuando un objeto es eliminado del Active Directory. Este objeto es despojado de la mayora de sus atributos y depositado dentro del contenedor de eliminados. Todos los otros Domain Controllers dentro del dominio sern notificados de la eliminacin de este objeto y realizarn la misma accin sobre su copia del objeto. Authoritative Restore notifica a los Domain Controllers a rehacer su accin contra este objeto y permitir que ste exista dentro del dominio nuevamente. Los Domain Controllers basados en Windows Server 2003 tienen un comando adicional que puede ser ejecutado desde el utilitario NTDSUTIL que permite resetear el password del administrador DSRM. Si desea saber ms acerca de estos temas, puede consultar la siguiente pgina. http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Pgina que contiene informacin acerca de las mejores prcticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el ao 2004
CIBERTEC
CARRERAS PROFESIONALES
94
TROUBLESHOOTING 95
UNIDAD DE APRENDIZAJE
1
SEMANA
ESTRATEGIAS
TEMARIO
Introduccin al Troubleshooting. Solucin de problemas de red. Directorio Activo: Backup y Disaster Recovery. Optimizando la base de datos del Directorio Activo
ACTIVIDADES PROPUESTAS
Desarrollar un caso de Troubleshooting. Verificar el estado de conexin de la red a travs de comandos de Windows. Identificar qu puertos utilizan los servicios principales de Windows. Realizar un backup del Directorio Activo de Microsoft. Realizar una restauracin exitosa del Directorio Activo en caso de desastres.
CIBERTEC
CARRERAS PROFESIONALES
96
Note que existen varios valores dentro de esta llave. Cada uno representa un tipo de evento distinto el cual se registra en el log de eventos del Servicio del Directorio. El nivel de diagnstico en todos los valores est configurado en 0 por defecto. En este nivel, slo los eventos crticos o errores son enviados a los logs
TROUBLESHOOTING 97
del Event Viewer. Para incrementar la cantidad de registros de lo que se realiza, se necesita cambiar el nivel de registro con uno de los niveles mostrados: Diagnostic Logging Levels Logging Level Logging Performed 1 Minimal 2 Basic 3 Extensive 4 Verbose 5 Internal Cuando se inicia un troubleshooting, se debe incrementar el nivel de registros para determinar dnde radica el problema. Incrementar el nivel de registro entre 3 y 5 consumir muchos ms recursos y aumentar el tamao del log del Servicio del Directorio. Lo recomendable es incrementar el nivel de registro temporalmente, hasta encontrar la causa del problema. Cuando modificamos el nivel de registro a 5, todos los sucesos que afectan a la categora sern registrados. Es problable que en este caso se reciba ms informacin de la que se pueda revisar. Se debe recordar que se debe reducir el registro de los logs tanto como nos sea posible.
CIBERTEC
CARRERAS PROFESIONALES
98
TROUBLESHOOTING 99
CIBERTEC
CARRERAS PROFESIONALES
100
TROUBLESHOOTING 101
backup del domain controller despus de mover la base de datos, de tal forma que los archivos de backup reflejen la nueva ubicacin de la base de datos.
CIBERTEC
CARRERAS PROFESIONALES
102
RESUMEN
El nivel de diagnstico en todos los valores en el Event Viewer est configurado en 0 por defecto. En este nivel, slo los eventos crticos o errores son enviados a los logs del Event Viewer. Cuando se incia un troubleshooting, se debe incrementar el nivel de registros para determinar dnde radica el problema. Antes de manipular la base de datos del Active Directory lo primero que se debe de realizar de las muchas acciones que se pueden seguir, es realizar un commit de las transacciones de la base de datos, es decir completar la escritura de las transacciones en la base de datos. Cuando verificamos la integridad de la base de datos,del Active Directory cada byte de la data dentro de la base de datos es analizado por si est corrupto. La compactacin de la base de datos del Active Directory se debe realizar si nosostros hemos eliminado un gran nmero de objetos del Active Directory, hemos removido un rol Global Catalog del controlador de dominio, o hemos movido varias cuentas a otro dominio. Debemos mover la base de datos del directorio activo cuando queda poco espacio libre en el disco duro en donde se encuentra la base de datos, en este caso si no se realiza ninguna accin la base de datos puede caerse o mostrar seales de tener problemas. Las mismas caractersticas que presentan la base de datos, son tambin de los Log Files. Estos tambin tienen la tendencia a crecer con el paso del tiempo. Si desea saber ms acerca de estos temas, puede consultar la siguiente pgina. http://www.4shared.com/file/34505806/ab593489/SybexActiveDirectoryBestPra ctices24sevenMigratingDesigningandTroubleshootingAug2004.html Pgina que contiene informacin acerca de las mejores prcticas registradas en el libro Active Directory, Best Practices: Migrating, Designing, and Troubleshooting, cuyo autor es PRICE, BRAD. Publicado por SYBEX en el ao 2004
TROUBLESHOOTING 103
UNIDAD DE APRENDIZAJE
2
SEMANA
SERVIDOR DE EXCHANGE
TEMARIO
Servidor de archivos: NTFS y Administracin de cuotas de disco Microsoft Exchange Server: Arquitectura Microsoft Exchange Server: Planificacin y recuperacin de desastres. Proceso de restauracin de Microsoft Exchange
ACTIVIDADES PROPUESTAS
Realizar restricciones de espacio en disco a todos los usuarios que acceden a l. Realizar restricciones de espacio en disco a usuarios especficos. Instalacin de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperacin de un Servidor Microsoft Exchange en caso de desastre.
CIBERTEC
CARRERAS PROFESIONALES
104
TROUBLESHOOTING 105
puede dejar que ellos sigan utilizando los recursos. Una vez que hayamos creado las cuotas en el disco, Windows iniciar el recojo de informacin de uso de disco para todos los usuarios que son dueos de archivos y carpetas en cada volumen. Esto permite que cualquier persona en el grupo de administradores pueda supervisar los niveles de las cuotas de disco por volumen. Para habilitar las cuotas de disco, hacer clic derecho en el volumen en el cual deseamos establecer cuotas de disco, seleccionar Propiedades y seleccione la pestaa de cuota de disco de la caja de Propiedades (Quota) . A partir de aqu, varias opciones se pueden se configurar, incluida la principal opcin, que permite la gestin de las cuotas para este volumen.
Seleccionar el primer check box "Enable quota managament", para poder empezar a utilizar el administrador de cuotas (Disck Quota manager). Una vez que seleccione esta casilla de verificacin, se podr acceder a las otras opciones. El segundo check box es Deny disk space to users exceeding quota limit (Denegar espacio de disco para los usuarios que excedieron el lmite de cuota). Seleccionar este check box si se desea que a los usuarios se les niegue cualquier nueva utilizacin del espacio una vez que superen su lmite de cuota. Esto es seleccionado por defecto despus de que se elija permitir la gestin de cuotas, por lo que, si no desea negar a los usuarios el espacio en disco y simplemente se desea informar si se est usando ms de lo que debe, entonces se debe desmarcar esta casilla. Cuando se selecciona esta opcin, los usuarios recibirn un mensaje de alerta "Out of disk space" cuando guarden archivos, informando de
CIBERTEC
CARRERAS PROFESIONALES
106
que han sobrepasado su cuota y que tendrn que reducir el nmero de sus archivos y carpetas con el fin de poder continuar grabando. La siguiente opcin Select the default quota limit for new users quota limit configura el valor por defecto de los lmites de cuota para los nuevos usuarios en el volumen. Estos ajustes definir la configuracin por defecto para cualquier nuevo usuario que tenga acceso al volumen. Podemos elegir la opcin de no limitar el uso de disco o la opcin de limitar el espacio. Cuando se configura la opcin del espacio lmite para el disco, se especifica el espacio en disco y los lmites del nivel de alerta. El valor por defecto es no limitar el uso de espacio en disco. La siguiente seccin configura las opciones de registro para cada volumen. Hay dos check box, uno se utiliza para elegir si desea registrar un evento cuando un usuario supera su lmite de cuota (Log event when a user exceeds their quota limit), y el segundo se utiliza para elegir si desea registrar un evento cuando un usuario excede el nivel de la alerta (Log event when a user exceeds their warning level). Se puede elegir uno, dos, o ninguno de estos check box, dependiendo de la cantidad de informacin que desea tener registrada en log de eventos. Es una buena prctica registrar un evento cuando el lmite de la cuota de los usuarios ha sido excedida de modo que podemos asegurar que tan pronto los usuarios llegan a su cuota lmite. Al configurar las opciones de registro de cuotas, la informacin ser registrada en el registro del sistema en el Visor de eventos (Event Viewer).
TROUBLESHOOTING 107
Una forma rpida para determinar la situacin de las cuotas de disco es mirar el semforo en la esquina superior izquierda de la pestaa Quota. Cuando el semforo est en verde, el sistema de cuotas est activo y de trabajando; cuando el semforo es de color amarillo, est reconstruyendo la informacin de la cuota del disco, y cuando el semforo est en rojo, el sistema de cuotas ha sido desactivado. Existe tambin un botn de ingreso de cuotas (Quota Entries). Hacer clic en este botn para ver todos los ingresos de cuotas para el disco que se ha seleccionado. Se puede utilizar esta parte para establecer los lmites de las cuotas para determinados usuarios
Por la ventana Quota Entries monitoreamos y administramos el espacio de disco utilizado por cada usuario en el volumen. Esta ventana puedes ser utilizada para determinar cunto espacio en disco utiliza cada usuario, as como su nivel de alerta y su lmite de la cuota de espacio en disco. Un tringulo amarillo representa a los usuarios que estn sobre el nivel de aleta de su cuota, y un crculo rojo significa que los usuarios han superado su lmite de cuota. Podemos cambiar vista de la ventana Quota Entries pudiendo ver los items organizados por cualquiera de los siguientes parmetros: Folder User Name Logon name Status Amount Used Quota Limit Warning Level
CIBERTEC
CARRERAS PROFESIONALES
108
Percent Used
Para cambiar la forma por la cual los registros se muestran, se selecciona del men la opcin View, luego la opcin Arrange Items y, a continuacin, la opinin de que deseamos.
Para aadir el ingreso de una cuota, se selecciona de el men la opcin Quota y, a continuacin, se selecciona "New quota entry". Se mostrar una ventana, que nos preguntar de dnde nos gustara seleccionar el usuario. Se podr hacer clic en el nombre y hacer clic en Add, o se podr hacer doble clic sobre el nombre. Si se prefiere, se puede escribir el nombre en el cuadro Name y hacer clic en Add. Desde all, se puede hacer clic en el botn Check Names para garantizar que los nombres que hemos escrito se pueden encontrar y que la relacin con esos nombres se establezca.
Aparecer una nueva ventana de dialogo que solicitar el ingreso de la configuracin deseada. A continuacin, se podr elegir si se desealimitar el uso de disco y los lmites para el usuario, al igual que se hizo cuando se estableci cuotas en todo un volumen. Para limitar el espacio en disco para los usuarios, simplemente hacer clic en el botn de lmite de espacio libre en disco y establecer la cantidad de espacio. A continuacin, establecer el lmite del nivel de alerta si se desea que el usuario reciba una advertencia antes de que llegue a su lmite de disco. Es posible que se tenga que eliminar la cuota para un usuario que deja la empresa. Antes de hacerlo, los archivos y carpetas de este usuario ya no deben ser de su propiedad. Estos archivos y carpetas deben moverse a otro volumen sin tener cuotas de disco creado para ellos, o bien otro usuario debe ser dueo de
TROUBLESHOOTING 109
ellos. Si no se hace esto, no se podr eliminar la cuota del usuario. Para eliminar una cuota de un usuario, simplemente elegir la opcin del men Quota y, a continuacin, hacer clic en Delete Quota Entry desde el cuadro de men desplegable. Aparecer una ventana que preguntar si se est seguro de borrar la cuota.
CIBERTEC
CARRERAS PROFESIONALES
110
RESUMEN
Las cuotas de los discos son usadas para administrar el crecimiento y tamao de los archivos almacenados por cada usuario o grupos de usuarios. NTFS es un sistema de archivos diseado especficamente para Windows NT (utilizado luego en Windows 2000, Windows XP, Windows 2003 y Windows Vista), con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base. Tambin admite compresin nativa de ficheros y encriptacin (esto ltimo slo a partir de Windows 2000). Las cuotas de los discos son administradas a travs del Administrador de Cuotas de Discos (Disk Quota Manager). A travs de esta utilidad, podemos asignar las cuotas en disco, enviar mensajes a usuarios cuando se aproximan al mximo de su cuota asignada, y desactivar el guardado de ms datos hasta que depuren y vuelvan a ocupar un espacio menor al lmite mximo de la cuota. Si desea saber ms acerca de estos temas, puede consultar la siguiente pgina. http://www.microsoft.com/technet/scriptcenter/topics/win2003/quotas.mspx Aqu hallar informacin adiconal sobre el manejo de Quotas en Windows 2003 y Windows XP.
TROUBLESHOOTING 111
UNIDAD DE APRENDIZAJE
2
SEMANA
SERVIDOR DE EXCHANGE
TEMARIO
Servidor de archivos: NTFS y Administracin de cuotas de disco Microsoft Exchange Server: Arquitectura Microsoft Exchange Server: Planificacin y recuperacin de desastres. Proceso de restauracin de Microsoft Exchange
ACTIVIDADES PROPUESTAS
Realizar restricciones de espacio en disco a todos los usuarios que acceden a l. Realizar restricciones de espacio en disco a usuarios especficos. Instalacin de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperacin de un Servidor Microsoft Exchange en caso de desastre.
CIBERTEC
CARRERAS PROFESIONALES
112
Outlook (RPC/HTTP)
Directorio Activo Exchange 2003 Front-End Servers Exchange 2003 BackEnd Servers
Outlook Web Access Wireless Network & Internet Outlook Mobile Access (Cell Phones)
ISA Server
Up-To-Date Notifications (SMTP) Up-To-Date Notifications MS Mobile Services SMTP Bridgehead Server
TROUBLESHOOTING 113
Directorio
Active Directory
Configuration Partition
Conectores
CIBERTEC
CARRERAS PROFESIONALES
114
Global Catalog Server: Los servidores Global catalog son Active Diretory Domain Controllers que mantienen informacin parcial acerca de todos los objetos de todos los servidores de dominio en el bosque del Active Directory. Exchange Server requiere comunicacin con los servidores Global Catalog para la autenticacin de usuarios y servidores. Adicionalmente los clientes contactan a los servidores Global Catalog para visualizar la lista de todos los recipientes en la organizacin, el Global Address List (GAL). Autenticacin Kerberos: Kerberos es el protocolo de autenticacin por defecto en un Active Directory Microsoft Windows Server 2003. Las computadoras Clienrtes corren Outlook 2003 usando Kerberos para autenticar los accesos a los mailboxes en los servidores Exchange. Kerberos es tambin usado para autenticar la comunicacin servidor a servidor tal como la comunicacin desde un servidor front-end a un backend.
Replicacin Active Directory: La informacin relacionada con el directorio de Exchange es replicada como una parte de la replicacin del Active Directory. La replicacin del Active Directory est optimizada para reducir el trfico de la replicacin por cambios en los directorios replicados.
Mover
Public Folder Mailbox Connector
Recipients
OU Recipients
Engineers
OU Engineers
Marketing
OU Marketing
Exchange Site
TROUBLESHOOTING 115
Mecanismo de Transferencia de Mensajes: Casi toda la transferencia de mensajes entre las computadoras corriendo Exchange Server 2003 es realizado usando SMTP (Simple Mail Transfer Protocol). SMTP es usado para transferir mensajes entre ambos servidores Exchange en el mismo grupo de enrutamiento y entre grupos de enrutamiento. SMTP es un muy robusto protocolo sobre conexiones lentas y ofrece compatibilidad con muchos sistemas de mensajera. Debido a que todos los mensajes en Exchange son enviados utilizando SMTP, los administradores de Exchange necesitan tener un conocimiento profundo de SMTP.
CIBERTEC
CARRERAS PROFESIONALES
116
Stores y Storage Groups (Grupos de almacenamiento): Las computadoras corriendo Exchange Server 2003 almacenan la data en Mailbox Stores y Public Folders Stores. Los stores son organizados en grupos de almacenamiento (Storage Group). Un Storage Group es una agrupacin lgica de carpetas pblicas y mailbox stores. Cada Storage Group tiene un grupo de logs de transacciones para los stores en ese storage Group. Un servidor Exchange Server 2003 puede mantener hasta 20 stores en 4 Storage Groups. Resumiendo, los Storage Groups: Agrupan Bases de Datos Cada Storage Group mantiene un Transaction log. Nos permite un aislamiento de los datos Nos permite implementacin de Polticas.
TROUBLESHOOTING 117
Storage Group
Instancia ESE
EDB STM
EDB STM
EDB STM
CIBERTEC
CARRERAS PROFESIONALES
118
Mailroot: Un directorio que contiene un directorio para cada servidor virtual SMTP que configuremos en nuestro servidor. Mdbdata: Un directorio que almacena los archivos de base de datos y sus asociados archivos de log de transacciones. Mtadata: Un directorio que almacena informacin de configuracin, la plantillas de la bases de datos, y archivos log de Message Transfer Agent (MTA). OMA: Un directorio que almacena los componentes de Outlook Mobile Access. Res: Un directorio que almacena logs del Event Viewer y de Windows 2003 Sstem Monitor. Schema: Un directorio que almacena el esquema OLE DB (Object Linking and Embedding for Databases, Incrustacin y enlace de objetos para bases de datos") Srsdata: Un directorio que almacena los datos del Site Replication Service. servername.log: Un directorio que almacena los archivos log de Message-tracking del Exchange System Manager.
TROUBLESHOOTING 119
RESUMEN
Active Directory es requerido antes de la instalacin de Exchange Server 2003. Exchange Server se soporta en Active Directory para almacenar y actualizar la informacin de los recipientes, para almacenar la configuracin y el enrutamiento de la data, y mantener un mecanismo de autenticacin seguro. Messaging Routing describe cmo el servidor Exchange transfiere los mensajes de un servidor a otro o de un mailbox de usuario a otro mailbox de usuario en el mismo servidor. Durante la instalacin del servidor Exchange, el Setup crea una estructura de directorios por defecto sobre %programfiles%\Exchsrvr Si desea saber ms acerca de estos temas, puede consultar las siguiente pgina. http://technet.microsoft.com/en-us/library/aa996358(EXCHG.65).aspx Aqu hallar informacin adicional sobre la topologa de Message Routing
CIBERTEC
CARRERAS PROFESIONALES
120
TROUBLESHOOTING 121
UNIDAD DE APRENDIZAJE
2
SEMANA
SERVIDOR DE EXCHANGE
TEMARIO
Servidor de archivos: NTFS y Administracin de cuotas de disco Microsoft Exchange Server: Arquitectura Microsoft Exchange Server: Planificacin y recuperacin de desastres. Proceso de restauracin de Microsoft Exchange
ACTIVIDADES PROPUESTAS
Realizar restricciones de espacio en disco a todos los usuarios que acceden a l. Realizar restricciones de espacio en disco a usuarios especficos. Instalacin de Microsoft Exchange Server 2003. Realizar un backup y restore en Microsoft Exchange Server 2003. Simular la recuperacin de un Servidor Microsoft Exchange en caso de desastre.
CIBERTEC
CARRERAS PROFESIONALES
122
TROUBLESHOOTING 123
Cuando identificamos los riesgos, se debe ubicar todos los servicios y componentes que se requieren para mantener nuestro entorno Exchange Server funcionando plenamente y para conocer qu impacto causa la prdida de cualquier servicio en nuestra compaa. Anlisis de Riesgos: El anlisis de riesgos es la conversin de los datos del riesgo en informacin de toma de desiciones sobre el riesgo. Un anlisis exhaustivo asegura que se identifique el riesgo correctamente. El anlisis de riesgos implica la identificacin de amenazas, vulnerabilidades el impacto en el negocio de la interrupcin de cada servicio o componente.
Nota: Algunos aplicaciones de terceros tienen la capacida de realizar backup a cuentas de correo individuales. Windows Backup no es capaz de realizar un backup a nivel de mailbox.
CIBERTEC
CARRERAS PROFESIONALES
124
Tipos de Estrategias de Backup: Podemos usar Windows backup para implementar diferentes estrategias de backup:
Full backup: o Obtiene en lnea copias de seguridad de las bases de datos y archivos de registro de transacciones (log files). o Requiere slo un tape set para recuperar todos los datos. o Al completar el full backup de un storage group, a los logs de transacciones se les realiza un commit contra la base de datos de Exchange y son borrados del servidor. o La ventaja de esta estrategia de backup require slo un tape set para restaurar la data. Nota: Los logs de transacciones a los que se les realiz commit contra la base de datos slo son borrados hasta el trmino del backup en lnea, este backup debe de ser satisfactorio. Si el backup es iniciado, pero no se completa satisfactoriamente, los logs de transacciones no sern borrados. Full plus incremental: o Captura slo los datos que han cambiado desde el ltimo backup. o Requiere el tape set del ltimo full backup y todas las copias de los backups incrementales para recuperar los datos. o Slo copia los logs de transaciones (no los archivos de base de datos). o No se debe de tener habilitado la opcin de Circular logging. o De igual forma que en el full backup, los logs de transacciones son purgados del servidor al trmino satisfactorio de un backup incremental de un storage group. o En la restauracin, todos los logs de transacciones necesitan ser recuperados para que las bases de datos sean montadas. Full plus differential: o Copia slo los log files que han cambiado desde el ltimo full backup. o Requiere slo un tape set a ser aadido antes de que los logs files puedan ser escritos. o No se debe de tener habilitado la opcin de Circular logging. o Los logs de transacciones no son borrados del servidor al trmino de un backup diferencial. o En la restauracin, todos los logs de transacciones necesitan ser recuperados para que las bases de datos sean montadas. Copy backups: o Realiza la misma funcin que un full backup, excepto los archivos que no estn marcados para el backup.
Uso de Circular Logging: no se recomienda utilizar esta opcin. Ahorra espacio en el disco, pero a costa de la capacidad de recuperacin. El Circular Logging utiliza cclicamente los archivos logs, con un valor predeterminado de cuatro, es decir, no va creando nuevos archivos a medida que se van llenando sino que va sobrescribiendo aquellos cuyas transacciones ya han sido escritas en el archivo .EDB, lo que permite restaurar muy poco de lo que ocurri desde el ltimo respaldo full.
TROUBLESHOOTING 125
CIBERTEC
CARRERAS PROFESIONALES
126
que se est reconstruyendo. Instalar los Service Pack de Exchange en modo Disaster Recovey previniendo que las bases de datos de Exhange sean montadas al terminar los procesos de instalacin. El montado de las bases de datos se debe hacer directamente al restaurar las bases de datos Exchange desde el Backup. 6. Restaurar las bases de datos Exchange que existan en el servidor daado en el servidor que estamos reconstruyendo.
Nota: Si pudimos respaldar los archivos log del servidor Exchange daado, y copiamos los archivos en su localizaciones originales, se puede recuperar el servidor Exchange justo al momento que ocurri el desastre (en caso se tengan los logs hasta ese momento). En caso no dispongamos de estos logs, perderemos todos los cambios sucedidos entre el ltimo backup satisfactorio de las bases de datos Exchange y el momento del desastre.
TROUBLESHOOTING 127
RESUMEN
La identificacin de riesgos provee las oportunidades, guas e informacin que nos permiten abordar los principales riesgos antes de que afecten negativamente el negocio de la empresa. Los tipos de estrategias de backup de Exchange son: Full backup, Full plus incremental, Full plus differential y Copy backups. El Circular Logging utiliza cclicamente los archivos logs, con un valor predeterminado de cuatro, es decir, no va creando nuevos archivos a medida que se van llenando sino que va sobrescribiendo aquellos cuyas transacciones ya han sido escritas en el archivo .EDB, lo que permite restaurar muy poco de lo que ocurri desde el ltimo respaldo full. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://technet.microsoft.com/en-us/library/bb123959(EXCHG.65).aspx Aqu hallar a gua oficial de Microsoft sobre Disaster Recovery en Exchange 2003.
CIBERTEC
CARRERAS PROFESIONALES
128
TROUBLESHOOTING 129
UNIDAD DE APRENDIZAJE
3
SEMANA
BASES DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la unidad, el alumno utilizar diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificacin de las causas de un problema; asimismo, presentar las mejores alternativas de solucin.
TEMARIO
SQL Server 2005: Instalacin Seguridad en SQL Server 2005 Relaciones y estructuras de almacenamiento de la base de datos Oracle.
ACTIVIDADES PROPUESTAS
Instalacin de Microsoft SQL Server 2005. Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuracin de la base de datos Oracle.
CIBERTEC
CARRERAS PROFESIONALES
130
TROUBLESHOOTING 131
3. Seleccionar Install:
CIBERTEC
CARRERAS PROFESIONALES
132
4. Seleccionar Next:
5. Seleccionar Next:
TROUBLESHOOTING 133
6. Seleccionar Next:
CIBERTEC
CARRERAS PROFESIONALES
134
7. Seleccionar Next:
TROUBLESHOOTING 135
9. Seleccionar Next:
10. Seleccionar Use a domain user account, ingresar: En username: cuenta de Dominio En password : password de la cuenta de Dominio En dominio: Nombre del Dominio, por ejemplo CIBERTEC .
Seleccionar todos los check box de la seccin Start services and the end of setup No seleccionar Customize for each service account La cuenta de dominio debe pertenecer al grupo Administrators del servidor.
CIBERTEC
CARRERAS PROFESIONALES
136
Seleccionar
usuario
Password de usuario
CIBERTEC
TROUBLESHOOTING 137
CIBERTEC
CARRERAS PROFESIONALES
138
TROUBLESHOOTING 139
CIBERTEC
CARRERAS PROFESIONALES
140
TROUBLESHOOTING 141
18. Ingresar al servidor por Start - All Programs Microsoft SQL Server 2005 SQL Server Management Studio. Conectarse por Windows Authentication. 19. Dar click derecho en el cono del servidor, Propiedades, en la opcin Security, seleccionar SQL Server and Windows Authentication mode.
20. En la ventana de ejecucin de Querys, ejecutamos: ALTER LOGIN sa ENABLE ; ALTER LOGIN sa WITH PASSWORD = 'cinosanap' ; exec sp_changedbowner 'sa','true'; (saldr un error de que no puede cambiar el owner de las bases de datos master) Obviar. 21. Ejecutar en Start All Programs Microsoft SQL Server 2005 SQL Server 2005 Surface Area Configuration. En la siguiente pantalla seleccionar Surface Area Configuration for Services and Connections
CIBERTEC
CARRERAS PROFESIONALES
142
22. En Database Engine Remote Connections Seleccionar Using both TCP/IP and names pipes
TROUBLESHOOTING 143
RESUMEN
Es recomendable que el Sistema Operativo sobre el cual se instala Microsoft SQL Server tenga instalado el ltimo Service Pack y parches. Es recomendable que en el caso se desea Microsoft SQL Server con validacipon mixta (SQL Server y Windows) sta configuracin debe realizarse desde la instalacin. Es recomendable, previa evaluacin en un ambiente de pruebas, tener la base de datos Microsoft SQL Server con el ltimo Service Pack instalado. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://www.microsoft.com/sql/default2.mspx Pgina oficial de Microsoft SQL Server 2005
CIBERTEC
CARRERAS PROFESIONALES
144
TROUBLESHOOTING 145
UNIDAD DE APRENDIZAJE
3
SEMANA
10
BASES DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la unidad, el alumno utilizar diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificacin de las causas de un problema; asimismo, presentar las mejores alternativas de solucin.
TEMARIO
SQL Server 2005: Instalacin Seguridad en SQL Server 2005 Relaciones y estructuras de almacenamiento de la base de datos Oracle.
ACTIVIDADES PROPUESTAS
Instalacin de Microsoft SQL Server 2005 Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuracin de la base de datos Oracle.
CIBERTEC
CARRERAS PROFESIONALES
146
SQL Server (o estndar) Nombre de usuario y contrasea(hash) guardada en SQL Server. Requeridos en cada establecimiento de conexin. Configuracin de la autentificacin: SQL Server permite dos modos: Windows (predeterminado) SQL Server y Windows Establecido en la instalacin. Puede cambiarse posteriormente: Se puede realizar por el SQL Server Management Studio. Requiere el reinicio del servicio. Para saber el modo actual, ejecutamos: SERVERPROPERTY(IsIntegratedSecurityOnly)
1.2 AUTORIZACIN
Una cuenta de inicio de sesin es requerida para establecer la conexin. La autorizacin puede establecerse por medio de: Roles de servidor Roles de base de datos Permisos de acceso a base de datos Permiso de ejecucin de sentencias Permisos especficos para objetos de base de datos.
TROUBLESHOOTING 147
o o
Inicios de sesin predefinidos Al instalarse SQL Server se crean dos inicios de sesin. Pueden realizar cualquier tarea en SQL Server(pertenecen al rol de servidor sysadmin) BUILTING\Administrators (grupo predefinido de Windows). Puede eliminarse y modificarse los permisos. sa: tipo estndar. No puede eliminarse ni modificarse. No estar habilitado si slo est configurada la autenticacin Windows.
Creacin de inicios de sesin: Slo pueden crear inicios de sesin los usuarios con los roles sysadmin y securityadmin asignados. Se puede realizar por el SQL Server Management Studio. Se puede realizar mediante procedimientos almacenados (Stores procedures): SQL Server: sp_addlogin Windows: sp_grantlogin, sp_denylogin Se puede obtener informacin de inicios de sesin con los siguientes procedimientos almacenados: sp_helplogins syslogins Gestin de inicios de sesin Eliminar un inicio de sesin Slo lo pueden realizar los usuarios con los roles sysadmin y securityadmin asignados. Ejecutar sp_droplogin (SQL Server) Ejecutar sp_revokelogin (Windows) No se puede realizar si : o Es propietario de una base de datos o Es usuario de una base de datos o Es propietario de algn objeto de alguna base de datos. Cambiar contrasea (slo en SQL Server) Ejecutar sp_password Slo lo pueden realizar los usuarios con los roles sysadmin, securityadmin o el propio usuario. Propiedades: Base de datos predeterminada: sp_defaultcib Lenguaje predeterminado: sp_defaultlanguage Slo lo pueden realizar los usuarios con los roles sysdamin, securityadmin o el propio usuario.
CIBERTEC
CARRERAS PROFESIONALES
148
TROUBLESHOOTING 149
Usuario de base de datos Definido a nivel de base de datos. Corresponde a un inicio de sesin. Dbo: usuario predefinido (data base owner). Corresponde con sysadmin, propietario de la base de datos, rol db_owner. Guest: invitado. Puede existir o no. Conceder acceso a una base de datos Pueden: Sysadmin Propietario de la Base de datos Db_owner Db_accessadmin Al conceder acceso a un inicio de sesin a una base de datos: Se crea el usuario correspondiente en una base de datos Pertenece al rol public Conceder acceso: sp_grantdbaccess y sp_adduser Quitar acceso: sp_revokeadaccess Reasignar inicios de sesin con usuarios. til cuando se anexa o restaura una base de datos: sp_change_users_login Info: sp_helpuser Propietario de una base de datos Puede realizar cualquier operacin en la base de datos Es en principio quien crea la base de datos. Puede cambiarse con sp_changedbowner Saber el propietario: sp_helpdb. Roles de bases de datos Cada rol agrupa un conjunto de permisos Facilitan la administracin de la seguridad Definidos a nivel de base de datos Un usuario puede pertenecer a uno o ms roles de base de datos. Un usuario que pertenezca a un rol de base de datos adquiere los permisos de ese rol. Un rol puede contener otros roles.
CIBERTEC
CARRERAS PROFESIONALES
150
Existen tres tipos: Predefinidos Definidos por el usuario o Estndar o De aplicacin. Roles predefinidos de base de datos: Son fijos: No pueden modificarse sus permisos. Excepto Public No pueden eliminarse No pueden aadirse nuevos roles predefinidos. Los siguientes: Db_owner: Realizan cualquier operacin en la base de datos Db_backupoperator: Realiza copias de seguridad Db_datareader: lee de cualquier tabla Db_datawriter: Escribe en cualquier tabla Db_denydatawriter: No puede escribir en ninguna tabla Db_denydatareader: No puede leer ninguna tabla Db_ddladmin: Crea y modifica usuarios en la base de datos. Db_accessadmin: Gestiona usuarios en la base de datos. Db_securityadmin: Gestiona los permisos. Informacin de roles predefinidos en la base de datos: Lista: sp_helpdbfixedrole (todos) Ver los permisos: sp_dbfixedrolepermision (todos) Roles estndar definidos por el usuario Pueden contener usuarios y roles definidos por el usuario. Pueden pertenecer a roles predefinidos y roles estndar. Lista: sp_helprole Aadir: sp_addrole Eliminar: sp_droprole
TROUBLESHOOTING 151
RESUMEN
Los tipos de autenticacin de SQL Server son: Windows (integrado o de confianza) y SQL (o estndar). Estos tipos de autenticacin pueden configurarse de dos modos: el primer modo es slo con autenticacin Windows y el segundo modo es con ambas autenticaciones simultneas, Windows y SQL Server. Los Roles que se manejan en SQL Server 2005 son: Roles predefinidos por el servidor, Roles predefinidos por la base de datos y roles predefinidos por el usuario. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://technet.microsoft.com/en-us/library/ms169620(SQL.90).aspx Tutorial de Microsoft SQL Server 2005
CIBERTEC
CARRERAS PROFESIONALES
152
TROUBLESHOOTING 153
UNIDAD DE APRENDIZAJE
3
SEMANA
11
BASES DE DATOS
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la unidad, el alumno utilizar diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificacin de las causas de un problema; asimismo, presentar las mejores alternativas de solucin.
TEMARIO
SQL Server 2005: Instalacin Seguridad en SQL Server 2005 Relaciones y estructuras de almacenamiento de la base de datos Oracle.
ACTIVIDADES PROPUESTAS
Instalacin de Microsoft SQL Server 2005 Backup y Restore de una base de datos SQL Server. Backup y Restore de objetos de base de datos y archivos de configuracin de la base de datos Oracle.
CIBERTEC
CARRERAS PROFESIONALES
154
Esta arquitectura puede ser divida en dos porciones lgicas: Estructura de procesos y memoria. Estructura para el manejo de los datos. Oracle maneja dos estructuras bsicas para el manejo de datos: la fsica y la lgica. Estructura Fsica para el Manejo de Datos La estructura fsica es la estructura relacionada al almacenamiento de datos. Una base de datos ORACLE, identificada por un nombre lgico mantenido en la variable de entorno DB_NAME, representa las estructuras fsicas y est compuesta de archivos del sistema de operacin. Aunque es posible utilizar un nombre de base de datos diferente al del nombre de la instancia, se recomienda utilizar el mismo nombre para hacer ms sencilla la administracin.
TROUBLESHOOTING 155
Los archivos que conforman la base de datos contienen los datos del usuario e informacin adicional que es necesaria para garantizar el funcionamiento de la base de datos. Una base de datos ORACLE consiste de los siguientes tipos de archivos: Archivos de datos (Data Files): son aquellos que almacenan el diccionario de datos, los objetos del usuario, y los valores de los datos previos a su modificacin. Una base de datos ORACLE debe poseer al menos un archivo de datos. La informacin de una tabla puede expandirse a muchos Data Files y un Data File puede almacenar mltiples tablas. El nmero mximo de Data Files que soporta una instancia de ORACLE puede ser configurado. Archivos de bitcora (Redo Log Files o Redo Log): Mantienen informacin sobre todos los cambios efectuados sobre la base de datos para asegurar su reconstruccin en caso de fallas. Toda base de datos ORACLE requiere de por lo menos dos Redo Log Files. Es esencial que los Redo Log posee un buen rendimiento y estn protegidos contra fallas de hardware. Si se pierde la informacin contenida en estos archivos ser imposible la recuperacin de la base de datos en caso de fallas del sistema. ORACLE provee mecanismos para almacenar mltiples copias de los Redo Logs. Archivos de Control (Control Files): Contienen la informacin necesaria para mantener y verificar la integridad de la base de datos, como la ubicacin de los datos y los Redo Log. ORACLE requiere de esta informacin toda vez que se arranque la instancia del DBMS. Toda base de datos ORACLE requiere de por lo menos un Control File. Es esencial que los Control Files estn protegidos ya que en caso de perdida no se podr reiniciar la instancia de la base de datos con la consecuente prdida de toda la informacin. ORACLE provee mecanismos para almacenar mltiples copias de los archivos de control.
CIBERTEC
CARRERAS PROFESIONALES
156
TROUBLESHOOTING 157
1.2.1. Tablespaces El nivel ms alto en la estructura de almacenamiento de datos en ORACLE es la base de datos. Una base de datos (Database) agrupa las piezas lgicas de mayor nivel de almacenamiento en ORACLE: los tablespaces. Un tablespace es utilizado para agrupar lgicamente los datos. Por ejemplo, puede tenerse un tablespace para almacenar los datos de contabilidad y otro para almacenar los datos de ventas en una empresa de servicios. Al segmentar grupos de datos relacionados en tablespaces diferentes se simplifican las tareas de administracin de dichos grupos. Los tablespaces pueden estar constituidos de varios Data Files. Al utilizar ms de un Data File por tablespace puede distribuirse los datos sobre varios discos y balancear la carga de E/S, mejorando as el rendimiento del sistema. Cuando se crea un tablespace que, como hemos dicho, es una unidad lgica, se debe indicar obligatoriamente tambin el nombre de al menos un datafile que formar parte de ese tablespace. El datafile es un fichero fsico al que le tendremos que asignar un directorio, un nombre y un tamao.
El Tablespace System Cuando se crea una base de datos es obligatorio crear un tablespace inicial en el que se van a crear los usuarios SYS y SYSTEM automticamente. Estos usuarios son los que tienen la informacin necesaria para que funcione la base de datos y podamos hacer todo tipo de operaciones como, por ejemplo, crear nuevos usuarios o crear nuevos tablespaces y tablas en esos nuevos tablespaces. Este
CIBERTEC
CARRERAS PROFESIONALES
158
tablespace inicial se llama por defecto SYSTEM. Es una pieza clave para un buen funcionamiento de la base de datos ya que en l residen todos los objetos de los usuarios SYS y SYSTEM. El tablespace SYSTEM almacena los datos del diccionario. Es muy recomendable crear al menos otro tablespace nuevo distinto al SYSTEM. As, todos los nuevos usuarios que creemos en la base de datos, junto con todas sus tablas e ndices se almacenarn en un tablespace diferente a SYSTEM. Se realiza esta separacin para evitar que se bloquee toda la base de datos si ocurre algo grave en el tablespace SYSTEM. Suele ser habitual que para las aplicaciones creemos usuarios y tablas en las que se introduce informacin y que sin darnos cuenta se llene de informacin el tablespace en el que estn estas tablas. Si no se ha sido previsores, se podr haber llenado el tablespace SYSTEM con lo que es posible que se paralice toda la base de datos. Manipulando Tablespaces Partiendo de una base de datos creada y levantada conectarse a la misma con el usuario SYSTEM y su contrasea. La contrasea del usuario SYSTEM al crear la base de datos es, por defecto, MANAGER. Por lo tanto conectarse bien al SqlPlus mediante sqlplus system/manager, o bien al server manager mediante el comando svrmgrl system/manager. Crear un Tablespace En primer lugar se crear un tablespace llamado Prueba. Esto se podr hacer por ejemplo desde el SQLPLUS conectados como system. Create tablespace prueba datafile '/users/oradata/orcl/prueba01.dbf' size 100M; Con esta sentencia se est creando en la base de datos un tablespace nuevo llamado "prueba" y que est formado fsicamente por un fichero (datafile) llamado prueba01.dbf de 100 Mbytes y que est en el directorio "/users/oradata/orcl". Esta sentencia crea fsicamente dicho fichero. Aumentar de tamao un Tablespace Para aumentar el tamao de un tablespace, se tiene varias posibilidades. La primera de ellas es crear un nuevo datafile y asignrselo al tablespace que se quiere aumentar. Esto lo se podr hacer con la instruccin siguiente. Alter tablespace prueba add datafile '/users/oradata/orcl/prueba02.dbf' size 50M; Con esta sentencia se ha creado un nuevo fichero fsico en nuestro directorio /users/oradata/orcl de 50 Mbytes de tamao y se lo ha asignado al tablespace "prueba". Otra posibilidad es ampliar el tamao de uno de los ficheros fsicos o datafiles que forman el tablespace. Esto se podr hacer fcilmente con la siguiente instruccin: Alter datafile '/users/oradata/orcl/prueba01.dbf' resize 150M; Con esta sentencia lo que se hace es aumentar el datafile que forma parte del tablespace en 50 Mbytes.
TROUBLESHOOTING 159
Tanto en la instruccin de creacin como en la de aumentar el tamao de un tablespace se puede observar fcilmente cmo un datafile pertenece solamente a un tablespace ya que en la propia sentencia se crea el fichero fsico o datafile. Borrando un tablespace. Para eliminar un tablespace de la base de datos se debe utilizar la sentencia: Drop tablespace prueba; Tablespaces Online y Offline Un tablespace puede estar en dos estados: Online y Offline. Que un tablespace est online significa que est disponible para operar en l, mientras que si est offline quiere decir que no se puede utilizar. Cuando se crea un tablespace, se crea en estado online y, por lo tanto, se podr crear en dicho tablespace objetos como ndices, tablas, etc. Existe una vista que nos da informacin sobre los tablespaces de la base de datos. Esta vista es la dba_tablespaces. Consultndola se puede conocer qu tablespaces se tienen en la base de datos y en qu estado se encuentran. select tablespace_name, status from dba_tablespaces; Utilizacin de Tablespaces Offline Se debe tener en cuenta que cuando un tablespace est offline, no se puede acceder a ningn objeto que se encuentre en l, es decir, que si en el tablespace hay tablas, no se podr hacer consultas ni inserciones ni modificaciones de estas tablas, sin embargo, el resto de los objetos que se encuentran en otros tablespaces de la base de datos si estn accesibles. Por lo tanto, se pondr un tablespace offline en general para realizar tareas administrativas: Para poder hacer una copia de seguridad del tablespace estando completamente seguros de que nadie est modificando los objetos del tablespace y que no quedan transacciones pendientes sin terminar y que pueden modificar estos objetos. Para poder actualizar una aplicacin que se basa en los objetos de este tablespace sin que ningn usuario pueda modificar los datos en medio de la actualizacin.
Tablespaces Read Only Cuando se crea un tablespace, se podr crear en l todos los objetos que se deseen, acceder a ellos, eliminarlos y tambin consultar los datos de las tablas que se encuentren en este tablespace, as como borrar, insertar y modificar estos datos. Existe la posibilidad de poner un tablespace en un estado en el cual, solamente se pueden consultar los datos de los objetos, no se puede ni borrar ni insertar nada en ellos. La principal ventaja de un tablespace read only es que, como no se pueden modificar los datos que en l se encuentran, no hace falta hacer backup del mismo. Dependiendo de las aplicaciones que se tengan en la base de datos nos puede interesar tener tablespaces read only o no. Por ejemplo, si se tiene una
CIBERTEC
CARRERAS PROFESIONALES
160
aplicacin en la que se pueden consultar cientos de fotos de animales salvajes o de paisajes, se podr crear un tablespace en el cual se puedan introducir estas imgenes y luego ponerlo read only. Generalmente un tablespace de estas caractersticas, que sirve de almacenamiento de fotos o temas similares, suele ocupar mucho espacio, por lo que hacer un backup del mismo todos los das puede resultar muy costoso en tiempo y espacio. Adems, si no se modifican nunca estas fotos no tiene mucho sentido hacer copia de seguridad del mismo, y no solo eso, podramos incluso almacenar dicho tablespace en un CDROM en vez de ocupar espacio en disco. Para poner un tablespace en estado read only, simplemente debemos ejecutar la siguiente instruccin: alter tablespace nombre_de_tablespace read only; Como se ha indicado, en un tablespace read only solo se pueden realizar consultas de los datos, por lo tanto, si en el instante de ejecutar esta sentencia se estn realizando modificaciones o inserciones o borrado de datos, el servidor espera hasta que acaben para poner el tablespace en estado read only. Para ver si ha quedado en estado read only, simplemente se ejecuta la misma select que al principio para ver la informacin general de los tablespaces: select tablespace_name, status from dba_tablespaces; Si por algn motivo se necesita modificar los datos que se encuentran almacenados en espace un tablespace read only, simplemente se deber ponerlo en primer lugar en estado read write y una vez realizada la modificacin, volver a ponerlo en su estado read only. La sentencia que debemos ejecutar ser: alter tablespace nombre_de_tablespace read write; Se tiene un concepto que debe quedar claro. Un tablespace read only no necesita backup, y por tanto, recovery, pero, esto no hay que tomarlo al pie de la letra. Siempre hay que hacer al menos un backup. En primer lugar se crea un tablespace vaco en el que iremos metiendo poco a poco toda la informacin que nos interesa que, como en el caso que se ha supuesto anteriormente, pueden ser varias tablas que almacenan fotos de animales y paisajes. Cuando ya no vamos a crear nuevas imgenes es cuando se pone al tablespace en read only, pero ah si se debe de hacer una copia de seguridad, backup, y como ya no se va a tocar nunca ms este tablespace ser la nica. Si por algn motivo se decide poner este tablespace otra vez read write para crear o borrar datos, despus de volver a ponerlo read only se deber hacer un backup de los nuevos datos. Tambin hay que diferenciar dos ideas. Por un lado se ha dicho que en un tablespace read only no se pueden modificar, ni insertar ni borrar datos de sus tablas. Sin embargo y, al igual que en los tablespaces offline, si se pueden borrar objetos enteros del tablespace, como por ejemplo un ndice o una tabla. Tablespaces Temporales Un tablespace temporal es aqul en el que solamente puede haber objetos temporales. No se pueden crear en l objetos permanentes como pueden ser los ndices, las tablas o los segmentos de rollback. Estn especialmente preparados para optimizar las operaciones en las que se lleven a cabo ordenaciones. Por lo tanto est muy recomendado tener al menos un tablespace temporal en cada
TROUBLESHOOTING 161
base de datos. Algunas de las operaciones que implican realizar ordenaciones son, las selects que tienen group by, las que tienen order by, la creacin de ndices y analizar ndices para calcularles las estadsticas. En todos estos casos, cuando para realizar la ordenacin el servidor no encuentra espacio suficiente libre en la memoria, utiliza el tablespace temporal. Los rendimientos son muy superiores comparndolos con los tiempos que se empleara en realizar las ordenaciones en tablespaces normales. Esto se debe a que el mecanismo que se utiliza para reservar y desreservar el espacio en los tablespaces temporales es muy distinto que en los normales ya que est orientado a objetos que crecen mucho y rpido y que a continuacin disminuyen totalmente su tamao y desaparecen. Para crear un tablespace temporal simplemente hay que aadir la palabra TEMPORARY a la instruccin utilizada para crear tablespaces normales. Siguiendo el ejemplo indicado en la creacin de tablespaces, podramos tener lo siguiente: Create tablespace prueba datafile '/users/oradata/orcl/prueba01.dbf' size 100M temporary; Para indicar a un usuario de base de datos que sus ordenaciones debe hacerlas en un determinado tablespace temporal, hay que lanzar una sentencia como la que sigue. Alter user nombre_de_usuario temporary tablespace nombre_de_tablespace; Y para conocer qu usuarios existen en nuestra base de datos y cual es el tablespace temporal que utilizan, se podr consultar la base de datos de la siguiente manera: Select username, temporary_tablespace from dba_users; Y finalmente, si se desea conocer qu tablespaces se tiene y cules son temporales y cuales son permanentes, se podr consultar la vista que da la informacin sobre los tablespaces, es decir, la vista dba_tablespaces; Select tablespace_name, contents from dba_tablespaces; Un tablespace permanente puede pasar a temporal y que uno temporal puede pasar a permanente.
1.2.2 Segmentos Un segmento almacena la informacin de una estructura lgica de Oracle dentro de un mismo Tablespace. Est formado por una o ms extensiones y, a medida que va creciendo el segmento se van asignando nuevas extensiones al mismo. Hay cuatro tipos de segmentos: Segmentos de datos: Cada segmento de datos almacena los datos correspondientes a una tabla. Segmentos de ndice: Cada segmento de ndice mantiene los datos para un ndice definido dentro de la base de datos.
CIBERTEC
CARRERAS PROFESIONALES
162
Segmento de Rollback: un segmento de Rollback permite almacenar las acciones de una transaccin que deben ser deshechas bajo ciertas circunstancias. Segmentos Temporales: Los segmentos temporales se crean cuando se requiere de un espacio temporal para procesar una instruccin de SQL, y son destruidos una vez que haya culminado el procesamiento de la instruccin.
Segmentos de datos e ndices En un segmento de datos se almacenan todos los datos de una tabla que no est particionada o que no forme parte de un cluster, de una particin de una tabla particionada o, de un cluster de tablas. Se crea el segmento de datos a la hora de ejecutar la sentencia create que crea la tabla, cluster o particin. En dicha sentencia se indican tambin los valores de la clusula storage y va a determinar la forma en que dicho segmento va a ir asignando y desasignando las extensiones. En el caso de los ndices, existe un segmento para cada ndice no particionado o para cada particin de un ndice particionado. Al igual que con las tablas, los segmentos de ndices se crean al ejecutar la sentencia de creacin de ndices en la cual, tambin se pueden indicar valores para la clusula storage y as parametrizar la forma en que se le asignarn las extensiones a medida que vaya creciendo. Segmentos temporales Cuando Oracle procesa las consultas se puede ver en la necesidad de utilizar espacio en disco para poder llevar a cabo algunas partes del parsing (anlisis) y de la ejecucin de la misma. Solamente utilizar este tipo de segmentos cuando no pueda realizar la consulta ntegramente en memoria o cuando no pueda buscarse un mtodo alternativo para realizarla utilizando los ndices. Hay varios tipos de sentencias en las que Oracle se ve en la obligacin de utilizar los segmentos temporales:
SELECT ... ORDER BY. CREATE INDEX. SELECT ... GROUP BY. SELECT ... UNION ... SELECT DISTINCT ... SELECT INSERSEC ... SELECT MINUS ...
Se puede dar el caso en el que algunas consultas en las que intervengan joins en los que no haya ndices que faciliten la unin y en las que se den a la vez sentencias del tipo "group by" y "order by" o incluso "distinct", en las que no solo se requiere de un nuevo segmento temporal sino que pueden adquirirse dos segmentos para poder realizar dichas consultas. Como es natural, cuantas ms operaciones se hagan en memoria mejor ser el rendimiento del sistema, por lo que si en la aplicacin existe un nmero considerable de consultas de las mencionadas anteriormente, resulta muy apropiado hacer un tunning para decidir si ampliar la zona de memoria reservada para las ordenaciones, aumentando el valor del parmetro SORT_AREA_SIZE.
TROUBLESHOOTING 163
En Oracle tambin existen las tablas temporales y los ndices temporales para dichas tablas. Estos objetos tamben utilizan segmentos temporales, pero se les asigna y desasigna de forma diferente a como se hace con las consultas, creacin de ndices y ordenaciones. Asignacin de segmentos temporales en consultas En las consultas, los segmentos temporales se van asignando segn se van necesitando y, al terminar la ejecucin de la sentencia, se desasignan. Para determinar en qu tablespace se van a crear los segmentos temporales necesarios para estas consultas, a cada usuario de la base de datos, se le asigna un tablespace para dicha funcin. Esto se realiza con el siguiente comando: Alter user nombre_de_usuario default tablespace nombre_tablespace_temporal; Por defecto, en la creacin del usuario tambin se le puede asignar un tablespace temporal y, si no se le indica, el sistema le asigna por defecto siempre el tablespace SYSTEM. Es muy importante que ningn esquema o usuario tenga como tablespace temporal el SYSTEM por varios motivos. En primer lugar, porque SYTEM no es un tablespace temporal y por lo tanto, no est optimizado para la gestin de los segmentos temporales, en segundo lugar, al utilizar SYSTEM como tablespace temporal, se aumenta la fragmentacin de dicho tablespace por culpa de los segmentos temporales que se van creando y borrando en medio de segmentos de datos e ndices con lo que disminuye drsticamente el rendimiento del tablespace principal de la base de datos, y por ltimo, se corre el peligro de que se llene este tablespace por culpa de alguna select mal escrita y que se descontrole aumentando desproporcionadamente el tamao del segmento temporal creado para ejecutarla. Asignacin de segmentos temporales para tablas temporales El segmento requerido para una tabla temporal y para sus ndices temporales se asigna en el momento de producirse la primera insert en dicha tabla. Este segmento al igual que en el caso anterior, se crear en el tablespace temporal del usuario que est creando la tabla temporal. Para conocer el tablespace por defecto de un usuario y su tablespace temporal, podemos consultar la vista dba_users. Select username, default_tablespace, temporary_tablespace from dba_users; La eliminacin del segmento temporal que se ha creado se har dependiendo del tipo de tabla temporal que se ha creado. Cuando la tabla temporal es especfica para una transaccin, Oracle eliminar el segmento creado al finalizar dicha transaccin, y si por el contrario, la tabla es especfica para la sesin, su segmento se eliminar al terminarse esta sesin. Segmentos de Rollback En cada base de datos Oracle se tiene uno o ms segmentos de rollback en los que se almacena la informacin que ha sido cambiada por las transacciones. Estas transacciones pueden ser definitivas, es decir, se ha realizado ya el commit de ellas, o puede que an no se haya hecho dicho commit. Este tipo especial de segmento se utiliza principalmente para poder realizar una lectura consistente de la base de datos Oracle mientras se estn modificando los datos y para poder llevar a cabo las recuperaciones de la base cuando sta cae por algn motivo.
CIBERTEC
CARRERAS PROFESIONALES
164
La informacin de un segmento de rollback se almacena en las llamadas entradas de rollback. En estas entradas se detalla en qu datafile estaba el dato que ha sido modificado, en qu bloque dentro de dicho datafile y tambin el dato viejo que se ha modificado en la transaccin. Adems, todas las entradas de rollback de una misma transaccin estn encadenadas unas con otras para que as, si se deben deshacer los cambios llevados a cabo en esa transaccin, resulta ms fcil de encontrarlos todos. Las vistas ms importantes de las que podemos extraer informacin sobre los segmentos de rollback son: v$rollname, dba_rollback_segs y v$rollstat. En una base de datos Oracle, se guardan todos cambios en los bloques modificados en una estructura llamada "logs de rehacer" o "redo logs". Cuando se crea una nueva entrada de rollback en un segmento de rollback, realmente se est modificando un bloque que se encuentra en dicho segmento de rollback con la informacin de dicha entrada, por lo que este cambio tambin se almacena en los log de rehacer. Este doble almacenamiento de la informacin que se guarda en los segmentos de rollback y en los log de rehacer es fundamental para poder realizar un buen proceso de recuperacin de la base de datos en caso de que se produzca en fallo en ella. Cuando se produce una cada de la base de datos, en el momento de la recuperacin, se recupera el estado de los segmentos de rollback tanto con las transacciones que ya se haban terminado como con aquellas transacciones cuyo commit an no se haba realizado. El siguiente paso que se produce es el rollback de todas aquellas transacciones que se encuentran en los segmentos de rollback y para las cuales no se haba completado el commit. Utilizacin de los segmentos de rollback Como se ha indicado anteriormente, los segmentos de rollback se utilizan para poder deshacer los cambios de las transacciones para las que no se ha hecho un commit y para asegurar la consistencia de lectura. Para facilitar estas tareas, Oracle guarda por cada bloque una tabla de las transacciones que en cada momento se estn ejecutando en el mismo. Adems, por cada transaccin, por cada nuevo cambio que se realiza en los bloques de datos se crea una entrada de rollback que se encadena a las anteriores entradas de rollback asignadas a esa misma transaccin de forma ordenada. Gracias a este sistema, cada vez que se desea restaurar el estado de una transaccin al realizar el rollback de la misma, simplemente se debe detectar en qu bloque del segmento de rollback se est almacenando los cambios producidos por dicha transaccin mirando en las tablas de transacciones de los bloques del segmento de rollback y, una vez detectado el bloque, se deben seguir una a una las entradas de rollback de la transaccin que se encuentran ordenadas y encadenadas, para ir restaurando los valores antiguos en los bloques de datos de forma ordenada. De la misma manera, se utiliza para facilitar la lectura consistente ya que se detecta el valor antiguo de los bloques navegando por la cadena de las entradas de rollback de la transaccin. Asignacin de las transacciones a los segmentos de rollback Cada vez que comienza una nueva transaccin, se asigna a un determinado segmento de dos formas diferentes:
TROUBLESHOOTING 165
Se asigna la transaccin al siguiente segmento de rollback que se encuentre libre en ese momento de manera automtica. Solamente se asigna una transaccin cuando se realiza una instruccin de DDL o de DML que no sea una select. Tambin se puede asignar una transaccin a un segmento de rollback en concreto de forma manual. De esta forma, se puede asignar a un segmento de rollback grande una transaccin que se conoce de antemano que modifica un gran volumen de datos. Una vez finalizada la transaccin, Oracle vuelve a asignar la siguiente de manera automtica al primer rollback que encuentra libre. La instruccin es la siguiente: Set transaction use rollback segment nombre_segmento_rollback; Cuando se finaliza una transaccion, Oracle libera la informacin de rollback aunque no la destruye, esto es para soportar la lectura consistente de consultas que han comenzado antes de que se realizara el commit. Para asegurarse que la informacin se encuentra en los segmentos de rollback el mayor tiempo posible para estas consutas sin borrarla, Oracle va asignando las extensiones a los segmentos de rollback de manera secuencial y, cuando se ha llenado el segmento, se reutilizan las extensiones empezando nuevamente por la primera, como si fuera un segmento circular. Un segmento de rollback puede tener asignadas solamente un nmero fijo de transacciones como mximo. Oracle se encarga de asignar las transacciones de una instancia de manera que todos los segmentos tengan el mismo nmero de transacciones aproximadamente, sin tener en cuenta el tamao de las mismas ya que, de antemano no lo puede conocer. El nmero de transacciones que puede contener cada segmento de rollback depende del tamao del bloque. Asignacin de extensiones Un segmento de rollback debe tener al menos dos extensiones y cada una de sus extensiones est formada por un nmero determinado de bloques. A continuacin se explicar cmo se organizan las transacciones en los segmentos de rollback. En un segmento de rollback pueden estar realizndose a la vez varias transacciones. Estas transacciones pueden estar escribiendo en distintas extensiones o incluso en la misma. Sin embargo, en un bloque de una extensin solamente puede contener informacin de una transaccin, es decir, que no pueden escribir dos transacciones en el mismo bloque de la misma extensin a la vez. Adems, como hemos indicado que la escritura de transacciones es secuencial, en cada momento una transaccin escribe en una sola extensin. Cuando una transaccin se queda sin espacio para escribir en la extensin en la que estaba, puede hacer dos cosas, bien reutilizar una extensin que ya estaba asignada al segmento o bien requerir una nueva extensin para el segmento de rollback. La primera transaccin que necesita ms espacio nuevo chequea la siguiente extensin del segmento de rollback, y si no contiene informacin de transacciones activas, la adquiere. A partir de ese momento, todas las dems transacciones que necesiten espacio utilizarn esta extensin. Si, nuevamente se llena esta extensin y alguna transaccin sigue necesitando espacio libre, Oracle vuelve a comprobar si en la siguiente extensin que le toca ocupar, siguiendo el orden secuencial y circular de asignacin de extensiones, no se estn realizando
CIBERTEC
CARRERAS PROFESIONALES
166
transacciones activas (insistimos en la naturaleza circular de los segmentos de rollback que, una vez ocupada la ltima extensin, vuelve a intentar ocupar la primera como si formaran todas un anillo). Como estamos viendo, Oracle mantiene un anillo formado por las extensiones que ha ido adquiriendo este segmento de rollback y siempre intenta reusar una de las extensiones que lo forman antes que adquirir una nueva del sistema. Si en algn momento Oracle necesita utilizar una extensin y, en todas los que forman parte del anillo se estn escribiendo transacciones activas, se ve obligado a adquirir una nueva extensin del sistema y a aadirla al anillo del segmento de rollback para seguir escribiendo. El nmero mximo de extensiones que pueden formar parte de un segmento de rollback viene determinado por un parmetro definido en el initSID.ora y que es MAXEXTENTS. Ya se ha visto cmo se asignan extensiones a un segmento de rollback, pero cmo se van desasignando? Al borrar un segmento de rollback, todas las extensiones que tena asignadas el segmento se devuelven al tablespace y pueden ser utilizadas por el resto de objetos que pertenecen al tablespace. Existe otra manera de devolver el espacio utilizado por un segmento sin tener que eliminarlo. A la hora de crear un segmento de rollback se puede indicar un valor en el parmetro OPTIMAL de la clusula storage que representa el tamao ptimo de dicho segmento en bytes. Cada vez que Oracle necesita una nueva extensin para el segmento de rollback, compara el tamao que tiene dicho segmento con el valor del parmetro optimal y, si lo ha sobrepasado, ir devolviendo al tablespace las extensiones ms antiguas que se va encontrando en las que ya no quedan transacciones activas ya que, son las que menor probabilidad tienen de tener datos necesarios para mantener la consistencia de lectura. Si puede, liberar tantas extensiones como para quedarse con un tamao aproximado al indicado en optimal pero siempre por encima. El valor del parmetro ptimal nuca podr ser menor que el espacio necesario para la creacin del segmento, en el que participan el parmetro initial_extent, next_extent, y min_extents (recordemos que pct_increase no tiene sentido en los segmentos de rollback, todas las extensiones deben ser iguales). Para consultar los valores de estos parmetros se podr utilizar la vista dba_rollback_segs de la siguiente forma: Select segment_name, initial_extent, next_extent, min_extents, max_extents from dba_rollack_segs; Y para conocer si nuestros rollback segments tiene asignado un tamao ptimo: Select name, optsize from v$rollname, v$rollstat where v$rollname.usn = v$rollstat.usn order by 1; Estados de un segmento de rollback Un segmento de rollback puede encontrarse en un determinado estado dependiendo de cada momento. Los estados en los que puede encontrarse son: OFFLINE: No ha sido adquirido por ninguna instancia de la base de datos. ONLINE: Ha sido adquirido por alguna de las instancias y puede contener datos de transacciones activas. NEEDS RECOVERY: Contiene datos de transacciones que no se pueden hacer rollback porque sus datafiles estn inaccesibles o corruptos.
TROUBLESHOOTING 167
PARTLY AVAILABLE: Contiene informacin de una transaccin "en duda" que son transacciones en entornos de base de datos distribuidas de las que an no se ha recibido respuesta. INVALID: Ha sido borrado.
Esta informacin se puede obtener de la vista dba_rollback_segs. Las causas por las que un segmento puede pasar de un estado a otro son las siguientes:
Estado Inicial Online Estado Final Offline Motivo Se pone el segmento de rollback offline con la instruccin alter rollback segment nombre_segmento offline. Se pone el segmento de rollback online con la instruccin alter rollback segment nombre_segmento online. Al borrar el segmento de rollback Cuando falla la red y hace que una transaccin distribuida quede "en duda". Se resuelve la transaccin "en duda". No se resuelve la transaccin "en duda". Cuando un fallo del medio hace inaccesible la transaccin "en duda". Cuando un fallo del medio hace inaccesibles los datafiles o cuando el segmento est corrupto. Si se soluciona satisfactoriamente recuperacin del medio. Si se borra el segmento de rollback la
Offline Offline Online Partly Available Partly Available Partly Available Online Needs Recovery Needs Recovery
Online Invalid Partly Available Online Offline Needs Recovery Needs Recovery Offline Invalid
Los estados de Partly Available y Needs Recovery son prcticamente iguales. En ambos el segmento contiene informacin de transacciones que no han sido resueltas. En un estado Partly Available, las transcciones distribuidas no han sido resueltas por culpa de un fallo en la red mientras que en el estado de Needs Recovery, las transacciones no han sido resueltas por un fallo del medio o por estar corrupto el propio segmento. Una diferencia entre ambos estados es que un administrador o el propio Oracle puede poner un segmento Partly Available en estado Online, mientras que un segmento que necesita Recovery, primero debe pasar a estado Offline y luego Online. Adems, un segmento en estado Needs Recovery puede ser borrado por el administrado para eliminarlo si estaba corrupto, sin embargo, no se puede borrar un segmento Partly available, primero se debe resolver la transaccin en duda. 1.2.3. Extents Una extensin es una unidad lgica de almacenamiento que est formada por un nmero determinado de bloques de datos contiguos. La agrupacin de una o varias extensiones forman un segmento que puede ser una tabla, un ndice, un
CIBERTEC
CARRERAS PROFESIONALES
168
segmento de rollback o un segmento temporal. Por lo tanto, datos de una tabla, sabemos que estn en un solo segmento de tipo tabla, que a su vez estar formado por una o varias extensiones y que, cada una de esas extensiones est formada por un nmero determinado de bloques de datos. Cuando se crea un segmento nuevo, es decir, una tabla, un ndice o un segmento de rollback, se crea obligatoriamente una extensin en dicho segmento (en el caso de los rollback se crean dos). El tamao de esta extensin inicial viene dado por el valor parmetro "initial" que se indica en el momento de crear el segmento. La razn principal de esta estructura es la de minimizar el espacio desperdiciado (vaco) de un tablespace. A medida que se insertan o eliminan filas de una tabla, los extents del tablespace asociado a la tabla pueden aumentar o disminuir de tamao. De esta forma el espacio para el almacenamiento de los datos puede ser administrado dependiendo de cmo la tabla va sufriendo modificaciones en el nmero de filas. Cuando se crea un tablespace se puede especificar el nmero mnimo de extents a ser asignados, as como el nmero de extents a ser agregados cada vez que se agote el espacio disponible para almacenar datos. Asignacin de Extensiones Al crear o, mejor dicho, asignar una nueva extensin al segmento, se est reservando espacio en el disco para almacenar los nuevos datos de dicho segmento. Por lo tanto, al crear la nueva extensin est totalmente vaca y todo su espacio est disponible para almacenar los datos del segmento y, adems, en el disco debe haber espacio libre para que Oracle reserve todo el tamao que necesita la extensin, y lo formatea de forma especial para poder utilizarlo. A partir de ese momento, en esa extensin solamente se podrn almacenar datos del segmento al que pertenece. Cuando se llenan todos los bloques de datos de una extensin, el segmento solicita una nueva extensin al sistema para poder seguir almacenando informacin. Determinacin del nmero de extensiones y el tamao de un segmento Para establecer el tamao de las futuras extensiones que ir solicitando un segmento se utilizan varios parmetros a los que hay que dar valor en el momento de la creacin de la tabla, ndice o segmento de rollback. Estos parmetros se indican en la clasula STORAGE de la sentencia que crea el segmento y son los siguientes: Initial: Indica el tamao en bytes de la primera extensin que tendr el segmento. Se puede indicar despus del valor una "K" o "M" para que el valor sea interpretado como Kilobytes o Megabytes en lugar de bytes. Si no se pone explcitamente este parmetro en la creacin del segmento, se hereda por defecto el valor que tenga este parmetro en el tablespace en el que se est creando el segmento y que, si no se ha indicado tampoco, por defecto son 5 bytes. Cuando se crea una extensin oracle redondea el tamao indicado al siguiente mltiplo superior a 5 bloques de datos. Por lo tanto, si nuestros bloques son de 8192 bytes y creamos un segmento con un inital de 256Kbytes, realmente estamos creando un segmento de 32 bloques y oracle lo redondea a 35 bloques que es el primer
TROUBLESHOOTING 169
mltiplo superior a 5 de 32. Por lo tanto, nuestra initial extent ser de 35 * 8192 = 280 Kbytes. Para comprobar estos datos se puede consultar la tabla dba_segments en la que tenemos un registro por cada segmento distinto: Select segment_name, initial_extent, next_extent, pct_increase, min_extent, max_extent from dba_segments; Tambin se puede consultar la vista dba_extents que es un detalle de dba_segments ya que aqu se detalla por cada segmento todas sus extensiones, con su tamao en concreto. Select segment_name, extent_id, blocks, bytes from dba_extents; Next: Indica el tamao que tendr la prxima extensin que se cree cuando no quede ms sitio en las extensiones que ya tiene asignadas el segmento. De igual manera que en el caso del parmetro initial, Oracle redondea a un mltiplo de 5 bloques este valor, a la hora de crear la extensin nueva. Cada vez que se crea una nueva extensin, se recalcula el valor de este parmetro en funcin del valor de pctincrease y se actualiza la vista dba_segments. Pctincrease: En el momento que se asigna una nueva extensin al segmento, se recalcula el valor que va a tener la prxima que se le asigne y que ser, el tamao de la extensin recin creada (el next que tena el segmento) aumentado en el porcentaje indicado por pctincrease. Por lo tanto, si queremos que todas las extensiones de nuestro segmento tengan el mismo tamao, habr que asignarles el pctincrease a 0. Oracle recomienda establecer por norma el pctincrease a 0 para evitar que se descontrolen los tamaos de los segmentos, especialmente los temporales, aunque, curiosamente, su valor por defecto es de 50%. No se puede modificar el pctincrease de los segmentos de rollback que es siempre 0. Por ejemplo: tenemos un segmento que en el campo next_extent tiene como valor 262144 y en pct_increase tiene 50 y los bloques son de 8192 bytes. Cuando crezca el segmento y solicite una nueva extensin, sta se crear del tamao indicado en next_extent redondendola al primer mltiplo de 5 bloques superior o igual a dicho valor. En nuestro caso 262144 son 32 bloques as que crear una extensin de 35 que son 286720 bytes. Adems, recalcula el valor del siguiente next_extent aumentando en un 50% el valor del antiguo next_extent, es decir 262144 * 1,5 = 393216 bytes. Nota: el reclculo del siguiente extent (393216) se basa en el valor del anterior next_extent (262144) y no en el valor de la extensin creada al redondear a un mltiplo de 5 bloques (286720), ya que si no, nos habra salido un next_extent de 286720 * 1,5 = 430080. Por lo tanto, al consultar las tabla dba_segments veremos que next_extent es 393216 es decir 48 bloques, aunque, eso si, si se vuelve a llenar esta extensin, se crear realmente una extensin de 50 bloques que son los 430080 bytes. Minextents: Se indica el nmero de extensiones que se deben reservar a la vez para un determinado segmento en el momento de su creacin. Por defecto es una excepto en los segmentos de rollback que son dos. Puede que las extensiones no estn
CIBERTEC
CARRERAS PROFESIONALES
170
contiguas. Por supuesto, si en la clusula storage en la creacin del objeto se indican valores para next y pctincrease, las extensiones iniciales que se crean se recalculan para cumplir lo indicado en estos parmetros. Por ejemplo, creamos un segmento con minextents = 4, con un initial de 262144, next de tambin 262144, bytes y con un pctincrease del 50%, el resultado ser la creacin de 4 extensiones de tamaos, 286720, 286720, 409600, 614400 y de un next extent de 884736. Estos tamaos vienen de redondear 32, 48 y 72 a mltiplos de 5 y el next extent es 108 bloques que es el 50% de 72 bloques. Maxextents: Es el nmero mximo de extensiones que se pueden crear en ese objeto, contando tambin la primera. Se puede especificar UNLIMITED con lo que pueden crecer indefinidamente. No se recomienda que a los segmentos de rollback se les asigne unlimited maxextents ya que con operaciones complejas podran aumentar excesivamente de tamao y llenaran el disco. As que hay que tener cuidado a la hora de crear rollback segments, sobretodo porque heredan por defecto el valor del parmetro que tenga asignado el tablespace en el que se crean. Por ejemplo, la creacin de una tabla en la que se indican valores para los parmetros de la clusula storage. Si tenemos una tabla llamada empleado que contiene un solo campo, nombre, con un initial extent de 256 Kilobytes, con 512 Kilobytes de next extent, un pctincrease de 50, con 3 extensiones iniciales y con un mximo de 10 extensiones: create table empleado (nombre varchar2(50)) storage (initial 256K next 512K pctincrease 50 minextents 3 maxextents 10) Si consultamos la vista dba_extents nos mostrar que ha creado las 3 extensiones que le hemos indicado con los siguientes valores: Select extent_id, bytes, blocks from dba_extents where segment_name = 'EMPLEADO' order by extent_id;
0 1 2 286720 532480 819200 35 65 100
Y, al consultar la vista dba_segments o incluso la vista user_tables para este segmento en concreto, observamos el valor de next_extent: Select next_extent from user_extents where segment_name = 'EMPLEADO'; 1179648 que es el resultado de 512K * 1,5 * 1,5. Cuando Oracle necesita asignar una nueva extensin a un segmento realiza el siguiente proceso para buscar bloques de datos contiguos en igual nmero o superior al solicitado por la extensin: En primer lugar, busca un conjunto de bloques contiguos igual al solicitado por la extensin ms uno, para evitar la fragmentacin (excepto cuando la extensin es de 5 o menos bloques). Por lo tanto, si la extensin nueva es de 29 bloques oracle buscar un conjunto de justo 30 bloques libres consecutivos.
TROUBLESHOOTING 171
Si no encuentra ningn conjunto de exactamente ese nmero de bloques, empieza a buscar un conjunto de ms bloques contiguos. Si el primer conjunto que encuentra tiene ms de 5 bloques que los que busca, se queda solamente con los que busca, mientras que si la diferencia es de menos de 5 bloques, se coge todo el conjunto. Por lo tanto, en nuestro caso, si el primer conjunto que encuentra fuera de 35 o ms bloques, cogera solo los 30 primeros, mientras que si encuentra un conjunto de entre 31 y 34 se lo quedara entero.
Nota: En este paso se puede comprobar que, aunque a un segmento le asignemos pctincrease 0, puede que luego nos encontremos en dba_extents algun extensin algo ms grande que otras del mismo segmento. Cuando no encuentra ningn conjunto de bloques de tamao superior al que busca, realiza un coalesce del tablespace, que es un proceso mediante el cual se unen los distintos bloques que han ido quedndose fragmentados en el tablespace al irse creando y eliminando extensiones mediante este proceso. Una vez hecho el coalesce, Oracle vuelve a repetir los pasos anteriores. Si, finalmente no encuentra ningn conjunto de bloques para crear la nueva extensin, intenta aumentar el tamao de alguno de los datafiles del tablespace. Esto solamente lo conseguir si tienen activado el autoexpand. En caso de no conseguirlo, devolver un error. Desasignacin de Extensiones Las extensiones que han sido reservadas por un segmento no son devueltas a Oracle para que se las pueda signar a otro segmento del mismo tablespace hasta que se elimina el objeto mediante la instruccin DROP. Por lo tanto, cuando tenemos una tabla que nos ocupa varias extensiones, a pesar de que borremos todas sus filas, esa tabla seguir teniendo reservadas las extensiones aunque eso si, estarn vacas. Existen algunas excepciones. Se pueden devolver todas las extensiones de una tabla excepto las min_extents haciendo un truncate de la misma. Hay que ser muy cuidadoso con esta instruccin ya que se eliminan todos los datos de la tabla y, no hay rollback posible. En los segmentos de rollback, si tienen puesto el parmetro optimal, oracle peridicamente puede desasignarle las extensiones que no usa hasta que vuelve a tener el tamao ptimo. Finalmente, existe una sentencia que tambin desasigna las extensiones que no se usan en una tabla: Alter table nombre_de_table deallocate unused; En cuanto se ha desasignado una extensin del segmento al que perteneca, Oracle ya la puede volver a reclamar para que la puedan utilizar otros segmentos del mismo tablespace. Por lo tanto, cuando un nuevo objeto solicite una nueva extensin, si Oracle no encuentra espacio libre suficiente para crear una nueva, y entre las que ha ido desasignando tampoco encuentra ninguna suficientemente grande como para asignarla, puede unir varias de estas extensiones hasta conseguir una lo suficientemente grande como para poder asignrsela al segmento. A esta operacin se le llama COALESCE de extensiones. 1.2.4. Bloques de Datos Una base de datos se encuentra almacenada en bloques de datos que es el nivel mas fino de unidades de almacenamiento. El tamao de un bloque de datos
CIBERTEC
CARRERAS PROFESIONALES
172
siempre corresponde a un mltiplo del tamao de bloque manejado por el sistema de operacin. El tamao del bloque de datos es un valor configurable en el DBMS. Oracle almacena la informacin en unidades lgicas que son los segmentos, las extensiones y los bloques. Estas tres unidades estn relacionadas entre s. Un segmento est formado por una o varias extensiones y cada extensin est formado por varios bloques. Un bloque es la unidad mnima de almacenamiento de informacin de Oracle. A los bloques tambin se les conoce como "bloques de datos", "bloques lgicos" o "bloques oracle". Cada uno de estos bloques est formado por un nmero determinado de bloques del sistema operativo. A la hora de crear una nueva base de datos se debe indicar cuntos bloques de sistema operativo formarn un bloque de datos o bloque oracle. Es muy importante decidir bien este valor de antemano ya que una vez creada la base de datos ya no se puede modificar ms que en migraciones a versiones ms actuales del producto. Un bloque de datos es la mnima unidad de Lectura / Escritura en una base de datos Oracle, es decir, Oracle no lee y escribe en bloques del sistema operativo sino que lo hace en unidades lgicas que son los bloques de datos y que varan de una base de datos a otra en la misma mquina ya que es un valor que se debe indicar en la creacin de cada base de datos Oracle. Oracle recomienda que el tamao de un bloque de datos o, data block, sea siempre un mltiplo del bloque de datos del sistema operativo. 1.2.4.1. Estructura de un bloque: Los bloques de base de datos, pueden contener informacin de tablas, ndices o segmentos de rollback, pero no importa qu informacin contengan, siempre tienen la misma estructura. Todo bloque de datos o, data block, est dividido en una cabecera, en un directorio de tablas que utilizan dicho bloque, en un directorio de las filas que se encuentran almacenadas en ese bloque, de espacio an libre y de las filas de datos de las tablas, ndices o segmentos de rollback. Al espacio ocupado por la cabecera ms el directorio de tablas y ms el directorio de filas se le llama overhead ya que es un espacio del bloque que realmente no se rellena con datos sino que est ocupado por la informacin que necesita Oracle para saber exactamente qu datos tiene en dicho bloque.
TROUBLESHOOTING 173
1.2.4.2. Cabecera: Contiene informacin general sobre el bloque como el tipo de segmento al que pertenece (ndice, tabla, rollback) o la direccin del bloque. 1.2.4.3. Directorio de Tablas: Contiene informacin acerca de las tablas que tienen datos en el bloque. 1.2.4.4. Directorio de Filas: Contiene informacin sobre las filas que se encuentran en cada momento en el bloque. Esta informacin incluye la direccin de la fila dentro de la subzona "Datos de Filas" del bloque en la que debe buscar Oracle los datos. El espacio ocupado por esta subzona va aumentando a medida que se insertan nuevas filas en el bloque, sin embargo nunca se libera el espacio. Si se borran filas de datos que estaban en el bloque, en el directorio de filas desaparecer la entrada que apuntaba a ellas, pero el espacio permanecer reservado aunque vaco. A medida que se insertan nuevas filas de datos en el bloque, tambin se insertan registros en el Directorio de Filas, pero antes de aumentar el tamao de esta subzona para la nueva entrada, se comprueba si alguna de las entradas que hay est vaca y en ese caso se "ocupa" y no hace falta que crezca ms la subzona.
1.2.4.5. Espacio Libre: Esta subzona est reservada para la insercin de nuevas filas en el bloque o, para la modificacin de campos que requieren ms espacio que el que tenan con anterioridad. Esto ltimo ocurre, por ejemplo, con los campos que son de tipo varchar2. Si en un campo de una tabla tenemos un varchar2 de 30 caracteres para almacenar el nombre del empleado, si insertamos un registro con el nombre de 'Jesus', solo ocupa 5 bytes y si posteriormente se modifica para poner 'Jesus Maria', se necesitarn 6 bytes ms para almacenarlo. Si en el bloque se estn almacenando datos de segmentos de tipo tabla o ndice, en la subzona de Espacio Libre tambin se utiliza para llevar un registro de las transacciones que en cada momento acceden a datos del bloque. Se necesita una entrada de transaccin siempre que se realice una insert, update, delete o select for update sobre filas del bloque. El tamao necesario para cada una de las entradas de transacciones depende del sistema operativo.
1.2.4.6 Datos de Filas: En esta subzona se almacenan los datos de las tablas o de los ndices del bloque. Se puede dar el caso de que una fila no entre completa en el bloque y tenga que ocupar ms de un bloque. Este caso especial se comentar ms a fondo en el apartado de encadenamiento y migracin de filas. 1.2.4.7. Pctfree:
CIBERTEC
CARRERAS PROFESIONALES
174
Este parmetro se utiliza para modificar el comportamiento de Oracle a la hora de insertar y modificar filas dentro de un bloque de datos o data block, se asigna a la hora de crear la tabla o ndice. Tambin se puede modificar posteiormente el valor del pctfree alterando la tabla o el ndice. Este parmetro indica el porcentaje mnimo que se debe dejar libre para modificaciones de los datos de las filas que ya existen dentro del bloque. Hay que tener en cuenta que el espacio de un bloque no est compuesto solamente por los datos, sino que tambin hay un overhead, por lo que si se asigna a un segmento de tipo tabla un pctfree de 20, no estamos dejando para insercciones el 80% sino el 80% menos lo que ocupe el overhead del bloque. El concepto de pctfree se entiende mejor con un ejemplo. Si a una tabla le asignamos un pctfree de 20, le estamos diciendo que se pueden insertar filas en el hasta que quede libre en dicho bloque solamente el 20 por ciento. A partir de ese instante, todas las filas nuevas que se creen se crearn en otros bloques ya que en este ya no queda sitio para ms. Entonces, qu ocurre con este 20%?. Pues muy sencillo, se utiliza para las modificaciones de las filas que ya estn en el bloque. Cuando se modifica una fila y se aumenta el contenido de un campo, por ejemplo, el campo "nombre" tena el valor 'Jesus' y ahora pasa a tener el valor 'Jesus Maria', Oracle echa mano del espacio libre dentro del bloque para poder realizar esta operacin. Por lo tanto, este espacio podra incluso llenarse lo cual, en caso de seguir haciendo modificaciones de este estilo, podra generarnos filas migradas, como se explica ms adelante. Sin embargo, el espacio libre en un bloque tambin puede aumentar, bien borrando filas o bien haciendo updates que disminuyan el valor de los campos de las filas que existen en dicho bloque. Cuando se hace espacio libre suficiente en el bloque se permite otra vez la inserccin de registros en el mismo. El concepto de "espacio libre suficiente" para volver a permitir inserciones en el bloque es lo que se define con el parmetro pctused. 1.2.4.8. Pctused: El concepto de pctused est directamente relacionado con pctfree. Supongamos que se crea un segmento (tabla o ndice) y se le asigna un pcfree de 20, por lo que todos sus bloques tendrn dicho pctfree. Como ya hemos explicado, esto quiere decir que podremos insertar filas o registros en uno de sus bloques hasta que se llene al 80 por ciento. A partir de ese momento ya no se pueden insertar nuevos registros hasta que se libere espacio en el bloque, o sea, hasta que vuelva a aumentar el espacio libre. Para que aumente el espacio libre en un bloque de se debe borrar las filas que estn en l o bien modificando campos de esas filas disminuyendo el tamao de los valores que en ellas estn guardados. El espacio libre que tiene que haber para poder volver a insertar nuevas filas nos lo indica el parmetro pctused. As, si a un bloque le hemos asignado un pctused de 40, lo que conseguimos es que en un bloque no se puedan insertar nuevos registros (despus de haberse llenado hasta dejar solamente el pctincrease de espacio libre) hasta que el espacio ocupado por las filas en dicho bloque no baje por debajo de 40, es decir, que el pctused nos indica el lmite mnimo por debajo del cual debe bajar el espacio ocupado dentro del bloque antes de volver a estar disponible para aceptar nuevas filas, nuevas inserciones. Hay que resaltar que en los bloques de los segmentos de tipo ndice, no tiene utilidad el parmetro pctused
TROUBLESHOOTING 175
debido a la finalidad de los mismos y a su estructura interna en forma de rbol binario. Para consultar el valor tanto del parmetro pctfree como del parmetro pctused de cada segmento de tipo tabla o de tipo ndice, podemos leer las vistas dba_tables y dba_indexes del usuario SYS. Select owner, table_name, pct_free, pct_used from dba_tables; Select owner, index_name, pct_free from dba_indexes; Para modificar el valor de los parmetros de una tabla o de un ndice se pueden utilizar las siguientes sentencias: Alter table nombre_de_tabla pctfree nuevo_pct_free; Alter table nombre_de_tabla pctused nuevo_pct_used; Alter index nombre_de_indice pctfree nuevo_pct_free; 1.2.4.9. Encadenamiento y Migracin de Filas: Existen dos circunstancias diferentes por las cuales puede ocurrir que los datos de una fila recin insertada no tengan espacio suficiente dentro del bloque. Hay que intentar por todos los medios evitar que esto se produzca para que no caiga el rendimiento del sistema ya que cuando hay encadenamiento o migracion de filas, los datos de una fila se dispersan por varios bloques, con lo que para obtener esos datos o para modificarlos Oracle debe recorrer varios bloques que, posiblemente, no estn contiguos. 1.2.4.10. Encadenamiento de filas: El encadenamiento o chained rows, se da cuando los datos de una fila ocupan tanto espacio que no caben fsicamente en un solo bloque y Oracle debe guardarlos en dos o ms bloques de los reservados para ese segmento. Esto suele ocurrir generalmente cuando se utilizan columnas de tipo long o long raw que pueden almacenar grandes cantidades de espacio, por lo que no caben en un solo bloque. 1.2.4.11. Migracin de filas: Este otro caso se da cuando modificamos los datos de una fila de un bloque, aumentndolos de tamao, es decir, como en le ejemplo anterior, si tenamos un campo varchar2(30) con el valor 'Jesus' solo ocupaba 5 bytes y si lo modificamos para que contenga 'Jesus Maria' necesita 11 bytes. En este caso, si en la subzona en la que tenemos el espacio libre del bloque no disponemos de espacio suficiente, Oracle mueve o mejor dicho, migra toda la fila a un nuevo bloque en el que si que haya espacio para toda la fila. Sin embargo, para no tener que cambiarle a dicha fila el rowid, es decir, el identificador nico de la fila, lo que se hace es dejar en el bloque inicial una informacin mnima de la fila, que ser simplemente un puntero hacia la direccin del nuevo bloque en el que se ha reubicado toda esta fila.
CIBERTEC
CARRERAS PROFESIONALES
176
La base de datos puede tener varias instancias La base de datos esta formada de tablespaces Un tablespace esta compuesto de segmentos El tablespace tiene asociado datafiles El segmento esta compuesto de extents El extent esta formado de bloques oracle El bloque oracle esta compuesto de bloques del sistema Una instancia le pertenece a una base de datos EL tablespace le pertenece a una base de datos El datafile le pertenece a un tablespace El segmento le pertenece a un tablespace Una tabla puede pertenecer a varios tablespaces, cuando son tablas particionadas. El extent le pertenecen a un segmento El bloque oracle esta asociado a un extent El datafile esta compuesto de extents El extent le pertenece a un datafile Los datafiles estan compuestos de bloques del sistema Los bloques del sistema le pertenecen a un datafile
TROUBLESHOOTING 177
RESUMEN
Los datos fsicamente en Oracle se almacenan en bloques. Existe toda una organizacin jerrquica de almacenamiento, el cual permite entender cmo funcionan los objetos dentro de una Base de Datos Oracle. La estructura fsica de una Base de Datos Oracle est conformada por: Datafiles y los Bloques de Sistema de Operacin. La estructura lgica de una Base de Datos Oracle est conformada por: Instancia, Bse de Datos, Tablespace, Segmento, Extent y Bloque de Datos. Las principales vistas a consultar para conocer la estructura y jerarqua de almacenanmiento son: DBA_TABLESPACE, DBA_DATA_FILES, DBA_SEGMENTS y DBA_EXTENS. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://www.4shared.com/file/30801793/c61e9ce8/Oca_Oracle_10G_Administrati on_I_St Contiene la descarga en formato pdf del libro OCA: Oracle 10g Administration I Study Guide (1Z0-042), cuyos autores son DAWES, CHIP; BRYLA, BOB; JOHNSON, JOSEPH Y WEISHAN, MATHEW. Publicado por SYBEX en el ao 2005.
CIBERTEC
CARRERAS PROFESIONALES
178
TROUBLESHOOTING 179
UNIDAD DE APRENDIZAJE
4
SEMANA
12
TEMARIO
Servidor Asterisk: Arquitectura Servidor Asterisk: Implementacin Seguridad: Respuestas y mejores prcticas ante incidentes de seguridad
ACTIVIDADES PROPUESTAS
Instalacin de un servidor Asterisk Creacin de anexos por software en Asterisk. Realizar un ataque de Ingeniera Social.
CIBERTEC
CARRERAS PROFESIONALES
180
TROUBLESHOOTING 181
Mdulos cargables APIS: Cuatro APIs estn definidos por mdulos cargables, facilitando el hardware y la abstraccin del protocolo. Usando este sistema APIs, la base del Asterisk no tiene que preocuparse de detalles como por ejemplo: que llamada esta entrando o que Codecs esta usando actualmente, etc El Asterisk maneja estos artculos internamente: Mdulos Cargables APIS:
CANAL API: El canal API maneja el tipo de conexin al cual el cliente esta llegando, sea una conexin VoIP, ISDN, PRI, o alguna otro tipo de tecnologa. Mdulos dinmicos son cargados para manejar los detalles ms bajos de la capa de estas conexiones. APLICACIN API: Esta aplicacin permite a varios mdulos de tareas cumplir varias funciones , conferencias, paging, lista de directorios, voice mail en la lnea de transmisin de datos , y cualquier otra tarea la cual PBX sea capas de cumplir ahora o en el futuro son manejados por estos mdulos.
CIBERTEC
CARRERAS PROFESIONALES
182
TRADUCTOR DEL CODEC API: Cargar mdulos codecs para apoyar varios tipos de audio, codificando y decodificando formatos tales como GMS, mu law, a law, e incluso mp3. FORMATO DE ARCHIVO API : Maneja la lectura y escritura de varios formatos de archivos para el almacenaje de datos en el sistema de archivos.
Usando estos APIs Asterisk alcanza una completa abstraccin entre sus funciones bsicas como un servidor de sistema PBX y la variedad tecnolgica existente (o en desarrollo) en el rea de la telefona. La formula modular es lo que le permite al Asterisk integrar hardware de telefona implementados y tecnologa de paquetes de voz emergentes hoy en da. La aplicacin API provee el flexible uso de aplicaciones modulares para realizar cualquier accin flexible en demanda, tambin permite un desarrollo abierto de nuevas aplicaciones para satisfacer necesidades o situaciones nicas. En conclusin, cargar todo el uso como mdulos permite un sistema flexible, permitindole al administrador disear la mejor trayectoria para los usuarios en el sistema PBX y tambin modificar la trayectoria de llamadas para satisfacer las cambiantes necesidades de la comunicacin que nos concierne.
TROUBLESHOOTING 183
Llamada entrante variable Monitoreo de llamadas Estacionamiento de llamadas Llamadas en espera Grabacin de llamadas Recuperacin de llamadas Gua de llamadas (DID y ANI) Call snooping Transferencia de llamadas Llamadas en espera Identificacin de usuarios Bloque de identificaron de usuarios Identificacin de usuarios en llamadas de espera Tarjetas de llamadas Conferencias Recuperacin de base de datos almacenados Integracin de base de datos Dial por nombre Acceso directo al sistema interno Anillo distintivo No molestar e911 ENUM Fax transmitidos y recibidos Lgica flexible de la extensin Lista de directorio interactivo
CIBERTEC
CARRERAS PROFESIONALES
184
Respuesta de voz interactivo Agentes de llamada local y lejana Macros Creacin de msica Transferencia de msica Sistema bsico de mp3 Juegos al azar o en lnea Control de volumen
Privacidad Establecimiento de protocolo abierto (OSP) Paginacin arriba Conversin de protocolo Recepcin de llamadas lejanas Apoyo a oficinas de lejos Extensiones roaming Mensajes SMS Acceso a los medios afluyentes Transfer supervisado Deteccin de conversaciones Del texto a la conversacin (va festival) 3 formas de llamadas Hora y fecha Transcodificacion Trunking Entradas al VoIP Voicemail Indicador visual para los mensajes en espera
TROUBLESHOOTING 185
Zapateller
RESUMEN
Asterisk es un software completo en PBX, acta en el Linux y provee todas las configuraciones que esperas de un PBX y mas. Asterisk hace VoIP en tres protocolos y puede interoperar con equipos de telefona estndar bsicas usando un hardware relativamente sin costo. La arquitectura Asterisk est compuesta por: PBX Switching, Lanzador de Aplicaciones, Traductor de Codecs y Oraganizador y Manejador
Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://www.4shared.com/file/46199664/589e58c6/Asterisk_The_future.html?s=1 En esta pgina podr descargar documentacin complementaria sobre Asterisk. http://www.4shared.com/file/50341724/e2a68f04/voip_with_asterisk.html?s=1 En esta pgina podr descargar un manual con informacin adicional sobre Asterisk.
CIBERTEC
CARRERAS PROFESIONALES
186
TROUBLESHOOTING 187
UNIDAD DE APRENDIZAJE
4
SEMANA
13
APLICATIVOS, SERVIDORES Y SEGURIDAD
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la unidad, el alumno utilizar diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificacin de las causas de un problema; asimismo, presentar las mejores alternativas de solucin.
TEMARIO
Servidor Asterisk: Arquitectura Servidor Asterisk: Implementacin Seguridad: Respuestas y mejores prcticas ante incidentes de seguridad
ACTIVIDADES PROPUESTAS
Instalacin de un servidor Asterisk Creacin de anexos por software en Asterisk. Realizar un ataque de Ingeniera Social.
CIBERTEC
CARRERAS PROFESIONALES
188
TROUBLESHOOTING 189
CIBERTEC
CARRERAS PROFESIONALES
190
TROUBLESHOOTING 191
En la siguiente pantalla marcar la opcin No firewall y en Enable SELinux cambiar la configuracin a Disabled.
CIBERTEC
CARRERAS PROFESIONALES
192
Configuramos la regin
En la siguiente pantalla seleccionamos los paquetes a instalar: Editors Servidor Web, Click en Detalles y agregar los siguientes paquetes: - mod_auth_mysql - php-mysql Desactivar el paquete squid Servidor de Archivos Base de Datos MySQL Click en Detalles y agregar los siguientes paquetes: - mod_auth_mysql - mysql-server
TROUBLESHOOTING 193
- php-mysql Herramientas de Desarrollo Click en Detalles y agregar los siguientes paquetes: - ElectricFenen - gcc (todos) Herramientas Administrativas Herramientas del Sistema Click en Detalles y agregar el siguiente paquete: - mc Desactivar el paquete bluez (bluetooth)
Al finalizar la instalacin, verificar si los siguientes paquetes estan instalados: rpm -q bison rpm -q bison-devel rpm -q ncurses rpm -q ncurses-devel rpm -q zlib rpm -q zlib-devel rpm -q openssl rpm -q openssl-devel rpm -q gnutls-devel rpm -q gcc rpm -q gcc-c++ rpm -q kernel-devel rpm -q perl rpm -q flex rpm -q libtermcap-devel De lo contrario instalarlos: yum install bison yum install bison-devel yum install ncurses yum install ncurses-devel yum install zlib
CIBERTEC
CARRERAS PROFESIONALES
194
yum yum yum yum yum yum yum yum yum yum
install zlib-devel install openssl install openssl-devel install gnutls-devel install gcc install gcc-c++ install kernel-devel install perl install flex install libtermcap-devel
1.2 INSTALACIN DE ASTERISK 1.2.1 Copiar los archivos zaptel , libpri , asterisk-addons y asterisk al directorio /usr/src Descomprimir los archivos: tar xzf zaptel-version.tar.gz tar xzf libpri-version.tar.gz tar xzf asterisk-addons-version.tar.gz tar xzf asterisk-version.tar.gz Acceder a la siguiente ruta : cd /usr/src/kernel/Kernel-version.El-smp-i686/include/linux Modificar el siguiente archivo spinlock.h vi spinlock.h Ubicar la siguiente lnea: #define DEFINE_RWLOCK(x) rw_lock_t x = RW_LOCK_UNLOCKED Modificar lo siguiente : rw_lock por rwlock Debera quedar de la siguiente manera: #define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED Grabar y salir : <Esc> :x! 1.2.4 Acceder al directorio zaptel cd /usr/src/zaptel-versin Ejecutar los siguientes comandos (uno a la vez): make clean make make install make config mv zaptel-version zaptel 1.2.5 Acceder al directorio libpri cd ../libpri-version Ejecutar los siguientes comandos: make clean
1.2.2
1.2.3
TROUBLESHOOTING 195
make make install 1.2.6 Acceder al directorio asterisk cd ../asterisk-version Ejecutar los siguientes comandos: make clean make make install make samples make config make mpg123 Verificar que inicie el servicio de asterisk Ejecutar el siguiente comando: asterisk vvvvgc Deber cargar el servicio y mostrar el Prompt de Asterisk CLI> Para detener el servicio escribir en la consola de asterisk: stop now
1.2.7
1.3.2
1.3.3.1
1.3.3.2
CIBERTEC
CARRERAS PROFESIONALES
196
1.3.3.3
Crear la tabla cdr: Mysql: CREATE TABLE cdr ( calldate datetime NOT NULL default '0000-00-00 00:00:00', clid varchar(80) NOT NULL default '', src varchar(80) NOT NULL default '', dst varchar(80) NOT NULL default '', dcontext varchar(80) NOT NULL default '', channel varchar(80) NOT NULL default '', dstchannel varchar(80) NOT NULL default '', lastapp varchar(80) NOT NULL default '', lastdata varchar(80) NOT NULL default '', duration int(11) NOT NULL default '0', billsec int(11) NOT NULL default '0', disposition varchar(45) NOT NULL default '', amaflags int(11) NOT NULL default '0', accountcode varchar(20) NOT NULL default '', uniqueid varchar(32) NOT NULL default '', userfield varchar(255) NOT NULL default '' ); Instalar la conexion del asterisk hacia la base de datos a traves del modulo cdr_mysql.so (asterisk-addonsversion.tar.gz) cd /usr/src cd asterisk-addons-version make clean make && make install cd /usr/src/asterisk-addons-version/configs cp cdr_mysql.conf.sample /etc/asterisk/cdr_mysql.conf vi cdr_mysql.conf [global] hostname=localhost dbname=asteriskcdrdb user=root password=passw0rd port=3306 ;sock=/tmp/mysql.sock Copiar el archivo asterisk-stat-v2_0_1.tar.gz al directorio : /var/www/html tar -xvzf asterisk-stat-v2_0_1.tar.gz mv asterisk-stat-v2_0_1 reportes cd reportes/ cd lib/ vi defines.php Buscar las sgtes lineas y escribir lo siguiente : define ("WEBROOT", "http://ip-del-server/reportes/"); define ("FSROOT", "/var/www/html/reportes/"); define ("LIBDIR", FSROOT."lib/"); define ("HOST", "ip-del-server"); define ("PORT", "3306"); define ("USER", "root"); define ("PASS", "passw0rd");
1.3.3.4
TROUBLESHOOTING 197
define ("DBNAME", "asteriskcdrdb"); define ("DB_TYPE", "mysql"); cd .. (retrocede un directorio) Crear un enlace simblico para el index ln -s cdr.php index.php Reiniciar el servicio Asterisk ejecutando asterix r reload exit Verificar la instalacion en http://ip-del-server/reportes/
RESUMEN
Es necesario realizar una correcta instalacin del Sistema Operativo Centos con las opciones indicadas as como una correcta instalacin del Asterisk para poder setear sin problemas los archivos de configuracin y as poder iniciar el servicio telefnico. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas. http://asteriskelite.blogspot.com/2007/09/2-asterisk.html Aqu encontrar informacin adicional de cmo enlazar dos Asterisk.
CIBERTEC
CARRERAS PROFESIONALES
198
TROUBLESHOOTING 199
UNIDAD DE APRENDIZAJE
4
SEMANA
14
APLICATIVOS, SERVIDORES Y SEGURIDAD
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al finalizar la unidad, el alumno utilizar diferentes herramientas de soporte de base de datos Oracle y SQL Server como apoyo para la identificacin de las causas de un problema; asimismo, presentar las mejores alternativas de solucin.
TEMARIO
Servidor Asterisk: Arquitectura Servidor Asterisk: Implementacin Seguridad: Respuestas y mejores prcticas ante incidentes de seguridad
ACTIVIDADES PROPUESTAS
Instalacin de un servidor Asterisk Creacin de anexos por software en Asterisk. Realizar un ataque de Ingeniera Social.
CIBERTEC
CARRERAS PROFESIONALES
200
Capacitacin en seguridad
La prevencin comienza con la capacitacin. La tecnologa de seguridad y los documentos de procedimientos evitarn incidentes slo si los usuarios de aplicaciones, el personal de TI y otras personas en la organizacin son conscientes de las amenazas de seguridad y sus responsabilidades. La capacitacin debe incluir cuestiones de seguridad en trminos generales y en trminos especficos del empleo. Los ejemplos del primer tipo constituyen el uso apropiado de una aplicacin por parte de los usuarios y el mtodo apropiado para configurar un ruteador para un ingeniero de red. Las cuestiones generales de seguridad comprenden desde requisitos normativos para preservar la privacidad hasta ingeniera social (persuasin de usuarios para que revelen sus nombres de usuarios, contraseas y otra informacin confidencial) y amenazas adicionales de seguridad dirigida a personas. El objetivo de la capacitacin no es convertir a cada usuario en un analista de seguridad sino informarlos sobre las amenazas ms conocidas y la respuesta de la organizacin ante dichas amenazas.
TROUBLESHOOTING 201
Las empresas de seguridad tratan los tres tipos. Anlisis forense informtico Los hackers no son los nicos con herramientas sofisticadas a su disposicin. Los profesionales de seguridad informtica han desarrollado herramientas y procedimientos para preservar la informacin, a menudo voltil, producida durante un ataque o fallo. El objetivo de las herramientas para los anlisis forenses informticos es simple: preservar evidencia. Los primeros pasos en una investigacin forense son tcnicas simples, tales como guardar los contenidos de la memoria o realizar el respaldo completo del disco duro. Al trabajar con copias de datos forenses, los investigadores reconstruyen el origen de un ataque, el mtodo de ejecucin y el impacto en los activos de informacin. Las pistas y la evidencia pueden aparecer en lugares no muy comunes, tales como archivos de intercambio y bloques de datos aleatorios de Windows (los bloques de datos estn asignados en tamaos fijos, por ejemplo 512 bytes. Si un archivo que contiene evidencia de un fallo se elimina, los bloques de datos que almacenan esa informacin posiblemente no sean sobrescritos cuando el bloque se asigne a otro archivo). El escaneo de la informacin de bajo nivel de los sistemas de archivos requiere herramientas especiales. Las herramientas para el anlisis forense que se encuentran disponibles en la actualidad incluyen:
CIBERTEC
CARRERAS PROFESIONALES
202
Herramientas para la validacin de respaldo del disco que validan la integridad de los respaldos realizados en sistemas comprometidos Herramientas de inventario de archivos que muestran todos los archivos eliminados y asignados Herramientas de bsqueda que escanean datos ambientales (archivos de almacenamiento no tradicionales) tales como archivos de intercambio de Windows, espacios no asignados y archivos inactivos Filtros de grficos que ayudan a reconstruir archivos de imgenes Filtros de reconocimiento de patrones que escanean nmeros de tarjetas de crditos, de seguros sociales y otros elementos comunes que identifican datos.
Como cualquier otro trabajo de investigacin, los anlisis forenses informticos requieren procedimientos metdicos y constantes que revisen todos los lugares ocultos tpicos.
TROUBLESHOOTING 203
Los puertos constituyen otra posible fuente de ataques. Las computadoras conectadas a Internet poseen direcciones de IP que excepcionalmente las identifican ante otros recursos. Dentro de una sola computadora, los servicios se identifican con otro nmero, el nmero de puerto, que es anlogo a un nmero de serie de una oficina en un edificio de oficinas. As como las oficinas deben cerrarse, los puertos tambin para prevenir el acceso no autorizado. No son los puertos en s sino los servicios en funcionamiento los que presentan vulnerabilidades. Las herramientas de escaneo de puertos disponibles gratuitamente permiten que intrusos busquen e identifiquen puertos activos. El tercer tipo de vulnerabilidad, ingeniera social, no est relacionado con hardware o software mal configurado o defectuoso.
Los hackers saben cmo explotar todos los tipos de vulnerabilidades; de esta forma, los administradores de sistemas deben conocer cmo manejarlas.
CIBERTEC
CARRERAS PROFESIONALES
204
Seguridad de datos: los dominios de seguridad de datos definen lmites de proteccin para clases de datos, sin importar el servidor o la aplicacin que aloje esos datos. Los dominios de datos son construcciones lgicas pero funcionan dentro de dominios fsicos, de red y de aplicaciones. Por ejemplo, para cumplir con las exigencias de la HIPAA, un proveedor de atencin mdica puede definir un dominio de datos para la informacin de atencin mdica protegida. Mientras que los datos se encuentren dentro de la red del proveedor, no es necesario el encriptado; cuando los datos se transmiten a un proveedor socio (fuera del dominio de red pero an en el dominio de datos), stos deben encriptarse para preservar su confidencialidad e integridad.
Existen superposiciones entre estas reas; sin embargo, cada rea posee caractersticas distintivas relevantes para la administracin de la seguridad. Cuando las medidas de seguridad, como los dominios, no logren proteger los activos informticos, la respuesta ante fallas determinar la seriedad del ataque.
El primer objetivo es contener la expansin del ataque. En caso de un virus de correo electrnico, este objetivo puede requerir cerrar los servidores afectados y deshabilitar las cuentas de usuarios infectados. En caso de un ataque DoS, el objetivo puede requerir bloquear el trfico de un sistema fuente utilizado en el ataque. Idealmente, las organizaciones tienen previstos estos ataques y cuentan con procedimientos detallados en funcionamiento para aislar el efecto de estas fallas. Una vez que se asla la amenaza y los activos de informacin ya no estn sujetos a la falla, el prximo paso es restaurar el servicio. Dicho paso puede requerir la restauracin de datos desde el respaldo, al colocar en lnea los servidores de respaldo y al revisar los archivos que pueden haberse afectado durante el ataque. Desafortunadamente, la necesidad de preservar evidencia forense algunas veces causa conflicto con los servicios de restauracin rpida. Un administrador de sistemas puede necesitar desconectar el servidor para preservar registros, archivos de configuracin y de datos que no deben modificarse hasta completar un anlisis completo del ataque. La etapa final, las actividades posteriores al ataque, se centra en comprender cmo se produjo el ataque (qu vulnerabilidad fue explotada), al determinar los daos que se produjeron; cunto dinero costar la recuperacin total del ataque, y cmo prevenir dichos ataques en el futuro. Bsicamente, esto se trata de un ciclo de retroinformacin que pueda rpidamente determinar qu sucedi, cul fue el impacto y cmo prevenir que se produzca nuevamente el ataque.
TROUBLESHOOTING 205
No es razonable la idea de poder garantizar el 100 por ciento de proteccin todo el tiempo, para todos los sistemas y toda la informacin, y an as tener sistemas tiles y flexibles que satisfagan las necesidades de negocio. Los ataques son inevitables y comprender y prever los mismos son acciones que forman parte de una disciplina ms amplia de la administracin de seguridad. Los procedimientos de respuestas ante incidentes deberan definir claramente los eventos que constituyen incidentes, las personas responsables de responder, las personas y agencias a las que se debe notificar sobre el incidente, los pasos para minimizar la amenaza, los procedimientos para la recuperacin, y revisiones y anlisis post mortem. Los incidentes son amenazas a organizaciones; sin embargo, tambin son oportunidades para evaluar los lmites de las operaciones y de los procedimientos existentes. Se debe llevar a cabo una revisin post mortem despus de cada incidente para comprender cmo ste se produjo dentro de la infraestructura de seguridad existente y qu cambios se requieren para prevenir un incidente similar en el futuro.
CIBERTEC
CARRERAS PROFESIONALES
206
Resumen
Resulta un desafo enorme equilibrar las necesidades de aplicaciones giles y flexibles para el manejo de informacin, que se adapten a las necesidades cambiantes de las organizaciones, con las realidades del mundo inseguro en el que vivimos. Una nica tecnologa o herramienta no resolver el problema. La capacitacin de usuarios nicamente no har que una empresa sea ms segura. Ningn conjunto de polticas y procedimientos asegurar un sistema invulnerable. Mantener la seguridad en toda la empresa demanda la coordinacin y planificacin de tecnologas mltiples, personal de TI y administradores del negocio. Los detalles sobre la administracin de seguridad empresarial se discuten en todo este libro con nfasis en soluciones prcticas. La seguridad es slo una de las tantas exigencias en las organizaciones. Para satisfacer adecuadamente dichas exigencias, la seguridad debe entenderse dentro del contexto ms amplio de los lmites y las operaciones organizacionales. Esta gua est diseada para ayudarlo a satisfacer las necesidades de su organizacin dentro de un marco pragmtico. Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas.
http://www.csrc.nist.gov/topics/inchand.html.
En esta pgina obtendr informacin adicional sobre las respuestas ante incidentes.
http://www.securityfocus.com/vulnerabilities