Вы находитесь на странице: 1из 6

Pequeo Manual de Administracin Progress/UNIX

Sistemas Integrados

Propsito Este manual tiene la intencin de proporcionar los elementos indispensables para mantener el funcionamiento adecuado de bases de datos Progress bajo UNIX en tanto no se tomen los cursos de Administracin Progress y UNIX correspondientes. UNIX Los comandos de UNIX siempre sern precedidos por un $ o por un #. Variables En las variables de UNIX se pueden guardar tanto caracteres como nmeros. Ejemplo: Supongamos que Progress est alojado en el directorio /system/mfgpro/dlc83a. Podemos definir la variable DLC de tal manera que su valor apunte al directorio de Progress mediante la siguiente lnea en el prompt de UNIX $ DLC=/system/mfgpro/dlc83a El valor de la variable lo podemos recuperar utilizando $DLC Para hacer que la variable DLC sea conocida por todos aquellos programas que se arranquen posteriormente hay que exportar la variable con el siguiente comando $ export DLC Por ejemplo, para cambiarnos al directorio de Progress podemos mandar el siguiente comando $ cd $DLC Es til incluir el directorio $DLC y $DLC/bin al inicio de los directorios de bsqueda de UNIX. Lo puedes hacer con el siguiente comando $ PATH = $DLC/bin:$DLC:$PATH Habiendo corrido la siguiente lnea se pueden invocar comandos de Progress sin tener que especificar su ruta completa. Por ejemplo, para entrar al Progress Editor puedes dar el siguiente comando $ pro en vez del siguiente $ /system/mfgpro/dlc83a/bin/pro

Verificacin de espacio Usar el comando $ bdf salida: Filesystem kbytes used avail %used Mounted on /dev/vg00/lvol3 3145728 54439 2898585 2% / /dev/vg00/lvol1 83733 31377 43982 42% /stand /dev/vg00/lvol8 770048 298482 446295 40% /var /dev/vg00/lvol11 2318336 12908 2172546 1% /usr3 La cuarta columna de la salida del comando anterior indica la cantidad de espacio disponible en kilobytes. La quinta indica el porcentaje de espacio usado y la sexta el nombre del filesystem. Manipulacin de la unidad de cinta En una cinta se pueden almacenar varios archivos y localizarlos por su posicin en la cinta. Por omisin al montar la cinta estamos en el primer archivo. Ejemplos: 1.- Estando al inicio de la cinta, para avanzar y colocarse al inicio del segundo archivo: mt -t /dev/rmt/c0t3d0BESTn fsf 1 2.- Estando al inicio de la cinta, para avanzar y colocarse al inicio del quinto archivo: mt -t /dev/rmt/c0t3d0BESTn fsf 4 3.- Estando al inicio del quinto archivo, para retroceder al tercero: mt -t /dev/rmt/c0t3d0BESTn bsf 2 4.- Para rebobinar la cinta hasta su inicio mt -t /dev/rmt/c0t3d0BESTn rew Progress Monitoreo de bases de datos va Progress Monitor (PROMON) Para arrancar el monitor Sintaxis: promon /ruta_de_la_base/nombre_de_la_base Ejemplo: promon /dblocation/construlita Opcin 5 Actividad El campo importante a verificar en esta pantalla es BUFFER HITS, deben mantenerse arriba del 90% para un funcionamiento adecuado. Para aumentar el porcentaje de BUFFER HITS hay que aumentar el tamao del buffer de la base de datos que corresponda. Este buffer se calibra en el parmetro B del script de levantar la base

Opcin 7 Ejemplo: Saldrn muchos datos, pero la informacin ms relevante en esta opcin es: Database block size (bytes): 1024 Total number of database blocks: 50046 Database blocks high water mark: 19218 Tamao de la Base de Datos El tamao de la base de datos se calcula multiplicando el Numero total de Bloques de Base de Datos por el tamao del bloque, en el ejemplo anterior: 50046 * 1024 = 51247104 bytes, aproximadamente 52 MB Nivel de Llenado Cuando el Database blocks high water mark se aproxima al Total number of database blocks esto significa que los extents fijos de la base estan por saturarse (Ver seccin Agregar Extents), lo cual provocar que la base comience a crecer sobre el extent variable. El limite de crecimiento del extent variable es 2GB Bases Monovolmen Estas bases constan de varios archivos, por lo regular todos ubicados en el mismo directorio. En ciertas ocasiones podremos encontrar el .bi en otro sitio Archivo .db .bi una caida .ai una caida .lg .lk Contenido contiene los datos informacin para recuperacin hasta la ultima transaccin antes de informacin de recuperacin hasta la ultima transaccin despus de informacin de eventos archivo de bloqueo, existe cuando la base es servida

Bases Multivolumen Constan de mltiples archivos distribuidos en diversos filesystems Archivo .st .db .d1,.d2,...,.dn .b1,.b2,...,.bn .a1,.a2,...,.an .lg .lk Contenido archivo ASCII con la estructura de la base archivo BINARIO con la estructura de la base contienen los datos para recuperacin hasta la ultima transaccin antes de una caida de recuperacin hasta la ultima transaccin despus de una caida archivo de eventos archivo de bloqueo, existe cuando la base est servida

Nota: Los archivo ai, a1, ... ,an pueden no existir, ya que solo son necesarios cuando se tiene instrumentado AFTER IMAGING Agregar Extents Ejemplo: Supongamos lo siguiente:

La base de datos de produccin se llama mfgprod y esta ubicada en /system/mfgpro/db Su archivo .st se llama mfgprod.st y esta ubicado en /system/mfgpro/db y sus contenidos son los siguientes: d d d d d d d d b /system/data1/mfgprod.d1 /system/data2/ mfgprod.d2 /system/data3/ mfgprod.d3 /system/data1/ mfgprod.d4 /system/data2/ mfgprod.d5 /system/data3/ mfgprod.d6 /system/data1/ mfgprod.d7 /system/data2/ mfgprod.d8 /system/data4/ mfgprod.b1 f f f f f f f f 128000 128000 128000 128000 128000 128000 128000

Nota: Es decir: Los extents fijos miden 128 MB y se encuentran repartidos en los filesystems /system/data1, /system/data2 y /system/data3. El archivo .bi esta ubicado en /system/data4. La salida de un ls l /system/data2/mfgprod.d8 es: -rw-rw-rw- 1 mfg qad 118589633 Jun 7 12:17 mfgprod.d8

Nota 1: O sea que el extent variable ha crecido casi hasta 120 MB (El extent variable aparece sin parmetro f ni tamao en el archivo .st, es decir que crecer libremente) Nota 2: Cuando el extent variable ya ha crecido aproximadamente 128 MB es conveniente agregar extents fijos en un filesystem en que se cuente con espacio libre. Uno puede dejar crecer el extent variable hasta poco menos de 2GB --- este es el limite de tamao de archivo en UNIX ---sin problemas si es que hay suficiente espacio en el filesystem que lo aloja. Procedimiento para agregar extents: 1. Copiar el archivo mfgprod.st a otro archivo .st, digamos add.st $ cp mfgprod.st add.st 2. Modificar el archivo add.st de tal manera que quede como sigue d /system/data3/ mfgprod.d9 f 128000 d /system/data1/ mfgprod.d10 f 128000 d /system/data2/ mfgprod.d11 3. Dar aviso de salida a todos los usuarios 4. Dar de baja MFGPRO $ ./stop.pro 5. Una vez que no hay usuarios correr el siguiente comando $ prostrct add /system/mfgpro/db/mfgprod add.st Nota: El comando anterior habra realizado lo siguiente Convertir el extent variable en fijo Agregar 2 extents fijos mas ( mfgprod.d9 y mfgprod.d10 ) Agregar 1 extents variable adicional ( mfgprod.d11 )

1. 2. 3. 4.

Verificacin Para verificar lo anterior hay que hacer lo siguiente: Respaldar el archivo mfgprod.st $ cp mfgprod.st mfgprodback.st Correr el comando siguiente $ prostrct list /system/mfgpro/db/mfgprod Revisar el archivo mfgprod.st y verificar que los cambios se hayan generado Ahora ya podemos volver a servir la base de datos usando start.pro

Servir una Base $ proserve nombre_de_la_base -B 10000 N tcp H nombre_del_servidor S servicio Nota 1. B indica la cantidad de RAM que se va a reservar para la base de datos. Esta cantidad es especificada en bloques. Esto es, si el bloque de la base mide 1K entonces la cantidad de RAM es 10000*1000 = 10 000 000 = 10 MB. Opcionalmente se usa -g para indicar donde esta el bi. Nota 2. Los parmetros N. H y S se usan para hacer conexiones via cliente servidor. El servicio correspondiente de la base debe existir en el archivo /etc/services Chequeo del archivo start.pro. Enseguida un fragmento de un script start.pro de MFGPRO #--- inicio de fragmento DLC=${DLC-/sw1/dlc83c};export DLC PATH=$PATH:$DLC;export PATH PROMSGS=$DLC/promsgs;export PROMSGS PROTERMCAP=$DLC/protermcap;export PROTERMCAP $DLC/bin/_mprosrv /db1/pro86cdemo/mfg86c -B 1000 -n 5 -H mxhp01 -S mfg86c -N tcp $DLC/bin/_mprosrv /db1/pro86cdemo/gui86c -B 1000 -n 5 -H mxhp01 -S gui86c -N tcp $DLC/bin/_mprosrv /db1/pro86cdemo/cfg86c -B 1000 -n 5 -H mxhp01 -S cfg86c -N tcp #--- fin de fragmento Nota: Brevemente, el script anterior establece variables para Progress (DLC, PATH, PROMSGS y PROTERMCAP) y sirve las bases, a cada uno le da 1 M en RAM (-B), 5 usuarios (-n) y las pone disponibles via red en el servido mxhp01 (-S) con protocolo TCP/IP (-N). Tambin a cada una le asigna un servicio TCP/IP que debe existir en el archivo de servicios /etc/services. Dar de Baja las Bases Ejemplo, para dar de baja la base test2 emite el comando: $ proshut test2 tendras la siguiente salida 1 Disconnect a User 2 Unconditional Shutdown 3 Emergency Shutdown (Kill All) x Exit

Enter choice> Hay que elegir la opcion 2 (unconditional shutdown) Para conectarse a una base de datos Ejemplo: $ mpro nombre_de_la_base Nota: Opcionalmente uno se puede conectar a una base va Cliente Servidor, en este caso el comando tendra que ser: $ mpro nombre_de_la_base N tcp H server S servicio (en UNIX)

c:\DLC\bin\prowin32 nombre_de_la_base -N tcp H server S servicio (en Windows) Caso especifico MFGPRO Para levantar, conectarse y bajar ambientes MFGPRO se usan los scripts start.pro, client.pro y stop.pro respectivamente. Se recomienda listarlos y echarles un vistazo con detalle, se pueden encontrar cosas interesantes en ellos. Respaldos y Recuperaciones Ejemplo: Respaldo a cinta 1. Si la base es multivolumen entonces conservar el archivo .st correspondiente 2. Emitir el siguiente comando para hacer el respaldo $ probkup nombre_de_la_base /dev/rmt/c0t3d0BESTn Recuperacin de cinta 1. Si la base es multivolumen entonces a) Edita el archivo.st que conservaste al hacer el respaldo y modifica en el los nombres de los extents para que concuerden con el nombre de la nueva base. Despus emite el siguiente comando b) prostrct create nombre_de_la_nueva_base archivo.st 2. Prorest nombre_de_la_nueva_base /dev/rmt/c0t3d0BESTn Nota 1. Cuando se recupera la base a partir de un respaldo por omisin la base que se crea es monovolumen. Para que la nueva base sea multivolumen antes hay que crearla via prostrct utilizando un archivo .st de estructura. Nota 2. Se recomienda el uso del dispositivo /dev/rmt/c0t3d0BESTn en vez del /dev/rmt/c0t3d0BEST. El dispositivo que termina con n es NO REBOBINABLE, este dispositivo permite el almacenamiento de varios archivos en la misma cinta as como su manipulacin va el comando mt descrito en la seccin de UNIX.

Вам также может понравиться