lunes, 28 de septiembre de 2015

Procesos colgados Siebel Server

Que tal, hoy les traigo un tema rápido pero de mucha ayuda,les muestro tres escenarios en los cuales se tienen problemas con el Siebel Server y una misma solución para cada uno de esos casos:

  • Al querer ejecutar las variables de ambiente siebnv.sh no se ejecutan: esto se puede deber a que el espacio en disco ya se encuentra al 100% primero verifica si tienes espacio si ya no hay liberarlo e intentar ejecutar nuevamente las variables, si no se ejecutan intentar lo siguiente:
                   Ejecutar los siguientes comandos en el servidor:
                                 killall -TERM regss
                                 killall -TERM mwrpcss


  • Las variables se ejecutan correctamente pero lo servicios de Siebel no se detienen.
                  Ejecutar los siguientes comandos en el servidor:

                                 killall -TERM regss
                                 killall -TERM mwrpcss

  • Una vez que se han bajado los servicios de Siebel al intentar subir los servicios los procesos aparentemente se encuentran corriendo con normalidad sin embargo, no se tiene acceso a Siebel.
                    Detener el Siebsrvr y el Gateway una vez realizado eso, ejecutar los siguientes comandos en el servidor:

                                 killall -TERM regss
                                 killall -TERM mwrpcss

Cuando se dan de baja los servicios, en ocasiones se quedan pendientes un par de procesos, que son los que impiden que trabajen los servicios, esos procesos son:
regss
mwrpcss

Usando un 
killall -TERM <nombre_proceso>  

listo...esto te libera las variables que hayas definido, (por decirlo así, ya que se trata del servicio que funciona como registry), espero que este pequeño tema les sea de ayuda.


martes, 18 de agosto de 2015

Levantar Base de Datos y Listener

Que tal, les comentaré acerca de unos pequeños pasos para levantar un servicio de base de datos, yo no soy un experto en DB ni soy DBA simplemente son comandos que me ayudaron a revisar y habilitar los servicios de la base de datos, trataré de hacer este post sencillo, los pasos a seguir son los siguientes:
  • Lo primero que deberán realizar es conectarse al servidor en donde se encuentra alojada la base de datos, la conexión la realizaran mediante SSH.
  • Una vez que se encuentran en el servidor deberán indicar los siguientes parámetros,(algunos parámetros ya estarán definidos en su servidor para validar ingresen el siguiente comando printenv el comando desplegará todas las variables que se encuentran configuradas en su servidor LINUX)
    • Indicar el ORACLE_SID  Aquí pondrán el SID con el cuál se dio de alta su base de datos.                export ORACLE_SID=PROD_SRVR_DB   
    • Indicar el ORACLE_HOME  Deberán poner la ruta en la cuál se instalo su base de datos.                 export ORACLE_HOME=/var02/etdt/app/oracle/product/10.2.0/db_1
    • Indicar el PATH En este caso el valor que tendrá la variable PAT será ella misma concatenando a la carpeta bin en donde se encuentra la instalación de la base de datos.           export PATH=$PATH:/var02/etdt/app/oracle/product/10.2.0/db_1/bin
  • Conectarse a la base de datos por SQLPLUS
                                              sqlplus /  as sysdba


  • Se levantará la base de datos pero le indicaremos que no se deberá montar, el comando es el siguiente:
startup nomount
  • Ahora se deberá modificar la base y montarla

                             alter database mount;
  • Es el momento de modificar la base nuevamente y abrirla para hacerla accesible a todos los usuarios

                             alter database open;

  • Una vez que se ha hecho eso se deberá validar si es posible la conexión desde un cliente Toad, PL/SQL Developer, etc.
  • Si aún no se permite la conexión se deberá validar el status del listener para hacer eso se ejecuta el siguiente comando, estando en el servidor de la base por SSH
                                              lsnrctl status
  • Si el servicio se encuentra detenido para levantar el listener tendrán que ejecutar el siguiente comando:

                                             lsnrctl start

Eso es todo espero que les sea de ayuda.

jueves, 2 de julio de 2015

Conocer el tamaño fisico en MB de una tabla ORACLE

Que tal, en ocasiones se presenta la necesidad de conocer el tamaño que está ocupando una tabla en específico de nuestra base de datos, ya se por curiosidad de cuanta información hay almacenada en esa tabla o puede ser que su espacio en el servidor se esté llenando y eso provocaría que la base de datos no responda.
Para conocer esa información es sencillo únicamente se deberá ejecutar el siguiente script desde tu cliente de base de datos o desde sqlplus:

SELECT SEGMENT_NAME, BYTES, BYTES/1024/1024 OCUPACION_MB  
FROM USER_SEGMENTS WHERE SEGMENT_NAME IN ('&TABLA');


En el query se puede visualizar que dice &TABLA en esa sección se debe poner el nombre de la tabla que se desea obtener la información. 
Observe que en el query se tiene SEGMENT_NAME IN ('&TABLA'); por lo tanto al incluir la palabra IN podemos ingresar mas de una tabla en esa consulta.


El resultado de ejecutar esa consulta es el siguiente


Como pueden observar es muy sencillo conocer esa información y es de mucha ayuda, espero les haya servido y no olviden dejar comentarios y en caso de querer aportar comunicarse con el administrador.

miércoles, 3 de junio de 2015

Habilitar Debug Mode para Task

El modo de depuración de un Task es útil para ir viendo los pasos por los cuales va tu task, conocer las entradas y salidas de cada elemento que contenga el task (Siebel Operation, Business Service), para habilitar este modo debug es muy sencillo únicamente se tiene que realziar lo siguiente:

  • Modificar el CGF del cliente
  • Localizar la sección 
    •  [InfraUIFramework]
  • Debajo de dicha sección agregar lo siguiente
    •  EnableRestrictedMenu = TRUE   
Una vez que se han realizado los cambios es necesario reiniciar el cliente para ue tome la nueva configuración del CFG, ya que se ha reiniciado iniciamos sesión en Siebel de manera normal y en la barra de herramientas en la sección Tools se tendrá habilitado Debug Mode damos click para activar y ejecutamos nuestro task.




martes, 2 de junio de 2015

Invocar WorkflowProcessManager desde shell

En ocasiones se realizan desarrollos los cuales incluyen la ejecución de algún job, en el proyecto en el que me encuentro se desarrolló un requerimiento en el cual se cargan registros en una tabla y posteriormente por medio de un job se buscaban los registros dentro de esa tabla. 

Sin embargo el ambiente de Siebel ya tiene diversos jobs programados que se ejecutan día con día, y el programar un job más no era algo conveniente, además de que no era necesario que el proceso estuviera corriendo diario ya que dicho job se tiene que ejecutar únicamente al momento en el cuál se llena la tabla.

La carga de la tabla se realiza mediante un proceso ETL que lee un archivo y envía los registros. Viendo este tipo de requerimientos se definió que lo más conveniente era que el ETL al momento de terminar la carga de los registros se hiciera el llamado de un shell, el cual ayudaría a ejecutar el componente del Workflow. El shell se construye de la siguiente manera:
  • Crear una variable la cuál servirá para indicar la ruta en donde se guardará el log, esto es opcional pero en ocasiones se desea tener el log de ese proceso en alguna ruta en especifico, para este caso yo si mandare el log a una ruta en donde deseo que se almacene el log.

                   export LOG_FILE=/siebel/siebsrvr/proceso/logs

  • Dirigirse a la ruta del siebel server
                  cd  /siebel/siebsrvr/

  • Ejecutar las variables de ambiente
                     . ./siebenv.sh

  • Cambiarse de ruta y dirigirse a la carpeta bin, recordemos que ya nos encontramos posicionados en la ruta /siebel/siebsrvr/ por lo tanto únicamente se debe bajar un nivel mas para ir a la carpeta bin
                  cd bin

  • Ejecutar el Server Manager (srvrmgr), recordando los siguientes parámetros
    • /s  server
    • /e  enterprise
    • /g  gateway
    • /u  user
    • /p  pass
    • /c  indica el componente que se va a ejecutar
      srvrmgr /s proy_uno /e proy_uno /g dc3vl214:3320 /u SADMIN /p S4#DM&1_N /c "run task for component WfProcMgr with ProcessName = 'Proceso_WF', ErrorFlags=1,SQLFlags=8,TraceFlags=3,LogDir=$OutDir"

La estructura del shell quedaría de la siguiente manera:


#********************************************************************************************************************
#  Author        : Manuel Sanchez
#********************************************************************************************************************

#********************************************************************************************************************
# Setting the environment shell variables.
#********************************************************************************************************************
export LOG_FILE=/siebel/siebsrvr/proceso/logs

cd  /data03/siebel/siebsrvr/

. ./siebenv.sh

cd bin

srvrmgr /s proy_uno /e proy_uno /g dc3vl214:3320 /u SADMIN /p S4#DM&1_N /c "run task for component WfProcMgr with ProcessName = 'Proceso_WF', ErrorFlags=1,SQLFlags=8,TraceFlags=3,LogDir=$OutDir"


Esa es toda la estructura del shell y como podemos ver se está invocando el Workflow Process Manager WfProcMgr si se requiere podemos llamar el componente Workflow Process Batch Manager para hacer esto únicamente se tiene que cambiar el parámetro del componente y poner WfProcBatchMgr.

Espero que esto les pueda ser de ayuda, saludos.

Bienvenido

Que tal antes que nada quiero darles la bienvenida y a partir de ahora trataré de ser breve y explicar el objetivo del blog, respondiendo unas sencillas preguntas.

Es de caja es el nombre del blog al que están ingresando pero

¿Qué es?

Es un foro para poder compartir soluciones a problemas que se nos presentan cotidianamente, este portal se alimenta de su participación, buscamos soluciones a problemas o requerimientos cotidianos pero no sólo de Siebel, si no de cualquier tecnología que quieran compartir, Base de Datos, Java, Linux, etc....

¿Qué vas a encontrar?

Blog: Entrarás en un blog con temas y secciones que te llevarán paso a paso a la solución del problema.

Foro: Foros de discusión en donde podrás enviar tus dudas respecto al tema o plantear alguna problemática que no se encuentre publicada.

Participación: Los miembros del blog y cualquier persona que desee enviar sus temas y participar, serán publicados.

Recordemos que todos siempre estamos en buscan de respuestas y en ocasiones no encontramos esa solución, eso es lo que motivó a crear el blog, ten en cuenta que el conocimiento no sirve si no se comparte.

Saludos y ojalá este nuevo proyecto que empieza te ayude.........