miércoles, 17 de septiembre de 2014

CM y DM_ORACLE separados

A veces necesitamos probar una librería, ejecutar procesos o cambiar el nivel de log del CM y/o DM pero no podemos reiniciar BRM por alguna razón (puede ser un ambiente productivo o alguien mas está utilizando el ambiente), entonces lo que podemos hacer es tener un set de CMs/DMs con otra configuracion (ya sea q utilice otras librerias o solamente cambie el nivel de log). También podemos implementar esto mismo pero para que esos CMs solo sean utilizados por un proceso en particular, por ejemplo, el billing.

El proceso es muy sencillo y solo consta de unos pocos pasos a seguir:
  1. En el directorio bin, hacer links a los binarios del cm y del dm_oracle. Ésto asegurará que si se aplica un fix o un patch el nuevo cm utilizará el mismo cm binario, pero será un proceso que se puede identificar como un CM separado. 
  2. En el directorio sys hay que crear nuevos directorios para los nuevos cm y dm_oracle.
  3. En los nuevos directorios que hemos creado hay que modificar los pin.conf, hay que cambiarles los paths (de logs y cualquier otro que usemos) y puertos (del CM y DM).
  4. En el directorio bin hay que hacer los scripts de start y stop del CM y del DM. Copiar los actuales y modificar los paths correspondientes a los binarios y a los archivos de log y pid.
  5. En el directorio donde se vaya a utilizar el nuevo CM modificar el pin.conf para que apunte a dicho CM, tambien modificar el path del archivo de log.

Ejemplo paso a paso:

  1. cd $PIN_HOME/bin
    ln -s cm cm2
    ln -s dm_oracle dm_oracle2
  2. cd $PIN_HOME/sys
    cp -rp cm cm2
    cp -rp dm_oracle dm_oracle2
  3. En el archivo $PIN_HOME/sys/cm2/pin.conf hay que modificar los paths y puertos, verificar los que se tegan en el archivo, algunos pueden ser:
    - cm cm_ports ${CM2_PORTS} pin
    - cm cm_loglevel ${CM2_LOGLEVEL}
    - cm cm_logfile ${PIN_LOG_DIR}/cm2/cm2.pinlog
    - cm cm_data_file ${PIN_LOG_DIR}/cm2/cm2.data.%d
    - cm dm_pointer 0.0.0.1 ip ${HOSTNAME} ${DM_ORACLE2_PORT} 
  4. En el archivo $PIN_HOME/sys/dm_oracle2/pin.conf hay que modificar los paths y puertos, verificar los que se tegan en el archivo, algunos pueden ser:
    - dm dm_logfile ${PIN_LOG_DIR}/dm_oracle2/dm_oracle2.pinlog
    - dm dm_port ${DM_ORACLE2_PORT}
  5. Crear los directorios de log:
    mkdir ${PIN_LOG_DIR}/dm_oracle2
    mkdir ${PIN_LOG_DIR}/cm2
  6. Crear los binarios de start y stop del nuevo cm y dm_oracle
    cd $PIN_HOME/bin
    cp start_cm start_cm2
    cp stop_cm stop_cm2
    cp start_dm_oracle start_dm_oracle2
    cp stop_dm_oracle stop_dm_oracle2
  7. En el archivo $PIN_HOME/bin/start_cm2
    LOGDIR=${PINDIR}/var/cm2
    CM=${PINDIR}/bin/cm2
    CMDIR=${PINDIR}/sys/cm2
    CMLOG=${LOGDIR}/cm2.log
    CMPID=${LOGDIR}/cm2.pid
  8. En el archivo $PIN_HOME/bin/stop_cm2
    CM=cm2
    LOGDIR=${PINDIR}/var/cm2
    CMPID=${LOGDIR}/cm2.pid 
  9. En el archivo $PIN_HOME/bin/start_dm_oracle2
    LOGDIR=${PINDIR}/var/dm_oracle2
    DM=${PINDIR}/bin/dm_oracle2
    DMDIR=${PINDIR}/sys/dm_oracle2
    DMLOG=${LOGDIR}/dm_oracle2.log
    DMPID=${LOGDIR}/dm_oracle2.pid
  10. En el archivo $PIN_HOME/bin/stop_dm_oracle2
    DM=dm_oracle2
    LOGDIR=${PINDIR}/var/dm_oracle2
    DMPID=${LOGDIR}/dm_oracle2.pid
  11. En el directorio donde vayamos a ejecutar el proceso que utilizará el nuevo cm, se debe modificar el archvivo pin.conf para que apunte al nuevo CM.
    - nap cm_ptr ip ${HOSTNAME} ${PIN_CM2_PORT}
Martín Falconi

No hay comentarios.:

Publicar un comentario