Home
Username:
Password:
Oracle Database Administration Fundamentals I (Español) Tutorials

Scripts para Automatización de Procesos / Scripts de Ejemplo




Visitors to VTC.com will be able to view all introductory videos for each training course.
Free Trial Members will gain access to first three chapters for each training course.
Full Access Members have full access to VTC.com’s entire library of video tutorials.


Learn More

Subtitles of the Movie

Veamos el uso de los scripts. Existen muchas acciones que podemos realizar para intentar automatizar la administración de una base de datos, particularmente en un entorno de los sistemas Unix o Linux. Obviamente, éste proceso es un poco más difícil en el Windows. La única manera de crear script en el Windows es utilizando el lenguaje de programación Perl, el cual tiende a complicarse… porque es posible agregar cierta complejidad dentro del Perl. El Perl es un lenguaje de programación, mientras que en los sistemas operativos Unix o Linux podemos utilizar herramientas específicas para crear scripts. La manera más rápida de procesar los datos en una computadora con el sistema Unix es creando unos scripts que se ejecuten en el sistema operativo. Veamos algunos ejemplos, pues ésta es la manera más fácil de comprobarlo. Éste es un script que podemos utilizar para revisar el espacio en el disco. Éste no es un script sencillo; existen muchos parámetros en la parte inicial que configuran y realizan la revisión de los errores. Ésta es la parte central del script en la cual se utiliza un comando "DF-K", el cual brinda un formato al mismo. El script toma los resultados del comando "DF-K ", extrae uno en particular, por ejemplo la quinta columna y la confronta con un valor. Si el valor es excedido, se ejecuta el comando "Panic" o el comando "Scream", dependiendo de la cantidad de datos excedida. Obviamente, si se presenta un problema se halla una respuesta, se despliega un mensaje e incluso se puede enviar un correo electrónico. Éste en un comando de un script sencillo del Unix. Ahora veamos otro ejemplo. Aquí tenemos un punto interesante que suele descuidarse en las bases de datos del Oracle, correspondiente a los archivos de rastreo y a la remoción periódica de los mismos. Si existen muchos ajustes de rastreo en la base de datos, los archivos de rastreo pueden llegar a rellenar el espacio en el disco. Estos comandos del sistema Unix simplemente encuentran los archivos cada cierto periodo de tiempo, realmente durante algunos días, y los introducen en un comando "xargs" que crea un comando "Remove" y genera una lista de archivos encontrada por el comando "Find" dentro del comando "RM-F". El comando "RM-F" remueve todos los archivos encontrados por cada uno de estos comandos "Find", así que encontrará todos los archivos de rastreo anteriores a 14 días… y los archivos de auditoria, eliminándolos del sistema. Intentemos algo más; éste es un script que detecta si la base de datos está o no funcionando. Todos estos scripts se ejecutan con tareas de tipo "Chron", es decir, permanecen funcionado periódicamente dependiendo de la frecuencia especificada. Éste script básicamente revisa los procesos y crea para cada uno una variable en el script del sistema Unix, determinando si el proceso está o no funcionando. Luego, éste toma los procesos y suma los resultados de éstas variables mediante el elemento "bc" o calculadora en una variable llamada "Processes". Obviamente, si ésta suma es igual a 0, tendremos un error informando básicamente que no hay ningún proceso funcionando. El parámetro "Database Process Error" significa que la base de datos se encuentra apagada o que no se encuentran estos procesos. Aquí se revisa el receptor, el comando "PS-EIF", etc. Éste es un conteo de línea; si el conteo suma 1, se revisa el estado. Si la suma sigue siendo igual a 0, se nos informa que la configuración del receptor no concuerda con el parámetro dicho e importa los datos, ya que el receptor no es correcto. Luego, éste envía un correo electrónico. Si éste encuentra que el valor de receptor es 0, intentará reiniciar el receptor, entre otras acciones. Éste script es bastante complejo y lo escribí hace mucho tiempo, así que no se exactamente qué acción sucede en cada línea. En éste punto, estamos revisando el estado de la base de datos, y ya que éste es un script del Oracle 8.0, utilizamos un nombre de usuario y una contraseña internos, nos conectamos mediante el "SQL*Plus" y pasamos todo esto al "SQL*Plus" directamente desde el script. Ésta es otra ventaja del sistema Unix, pues podemos ejecutar ésta acción desde un script pasando su contenido directamente a un programa del "SQL*Plus". Éste es un proceso que podemos realizar en los sistemas Unix o Linux. Su única función es seleccionar el nombre desde la base de datos, luego seleccionar el modo "Open" y desconectarse, habiéndolo pasado a un registro… que es llevado a éste archivo llamado "databaseAlive.log". Éste archivo es interrogado y se intenta encontrar un valor de la variable que corresponda al resultado de éste comando en particular. La parte central de éste comando corresponde a ésta parte del final, la cual realiza un conteo. Si se encuentra algún valor en éste punto, el siguiente conteo será mayor que 0. En otras palabras, se buscará algún valor en el registro "databaseAlive.log" que tenga el modo "Read". Podemos entender éste comando observando su función. Éste escanea archivo "databaseAlive.log" de la base de datos, no en la pantalla sino en éste comando "Grep". El comando "Grep" busca entonces entre los resultados del comando "Cat", el cual es un comando del DOS para la salida de datos. El comando "Grep" busca la palabra "Read". El comando "Grep-v Grep" elimina cualquier elemento de la salida de datos que contenga el texto especificado por el comando "Grep". Es decir, si hay algún resultado después de ejecutarse éste comando, éste se envía al comando "wc-l", el cual cuenta el número de líneas. Si el número es igual a 0, significa que hay un error… porque no hay ningún dato en éste archivo "databaseAlive.log" y obviamente se enviará un correo informando que la base de datos se encuentra bloqueada. Veamos otro script que nos es tan sencillo. Aquí lo tenemos en la parte inferior. Es parte se refiere a unos temas introductorios, la revisión de errores, etc. La función de éste script es revisar si hay errores de tipo "ORA-00600" en el registro de alerta. Usualmente, estos errores bloquean o detienen la base de datos al llegar al final del registro de alerta. Aquí se toman 50 líneas del final y se pasan a la función "Grep", la cual busca errores de tipo "ORA-00600", elimina las salidas de datos especificadas por el comando "Grep" y luego pasa el resultado a una función para contar las líneas. Obviamente, si hay un resultado se regresa al registro de alerta y se extrae a un archivo de registro, se ajusta toda ésta información… y se puede enviar un correo electrónico con el archivo "ORA600.log" para alertarnos acerca del error. Lo que quiero dejar claro es que mediante los scripts podemos realizar una gran cantidad de procesos de automatización en la administración de las bases de datos. Éste proceso es mucho más fácil en las computadoras con los sistemas Unix o Linux, pero podemos realizarlo también en el Windows. La automatización significa contar con el tiempo necesario para realizar otras acciones, como nuevos desarrollos.

Tutorial Information

Course: Oracle Database Administration Fundamentals I (Español)
Author: Gavin Powell
SKU: 33703
ISBN: 1-933736-34-8
Release Date: 2006-07-12
Duration: 8 hrs / 100 lessons
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 98,729 Video Tutorials (23,265 free)
  • Video Available as Flash or QuickTime
  • Over 1026 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available