lunes, 30 de mayo de 2011

Error DB13 SXPG_COMMAND_EXECUTE

 

Las operaciones desde la transacción DB13 como los backups, los redologs backup, las estadísticas, entre otras fallan:

ErrorBRTOOLS

Ha fallado SXPG_COMMAND_EXECUTE para BRARCHIVE - Causa: program_start_error: Véase SYSLOG para más información, Job cancelled after system exception ERROR_MESSAGE

Después de indagar un poco encontré que los RFCs que conectan los servidores de aplicación con el host de base de datos fallan:

RFCspng

TestRFC

El anterior error es producto de que el Gateway del servidor de aplicación alcanzo el máximo de conexiones permitidas, para verificar el número de conexiones se puede utilizar la Tx SMGW:

SMGW

El máximo de conexiones es determinado por el parámetro gw/max_sys. Este debe ser lo suficientemente amplio para que no genere este error. Una vez amplié este, los RFCs quedaron funcionando y las operaciones desde la Tx DB13 quedaron operativas.

Saludos,

miércoles, 25 de mayo de 2011

Detener e iniciar el Replication Server en un entorno de HA

 

En algunas ocasiones nos encontramos con ambientes bastante complejos de SAP, uno de ellos es cuando una compañía cuenta con sistemas configurados en alta disponibilidad y mayor aun cuando la instalación de SAP tiene el Enqueue y Replication Server instalados en modo Standolone:

Enqueue

Este tipo de arquitecturas lo único que hacen es proveer los elementos necesarios para abolir algunos de los puntos únicos de fallo en un Sistema SAP, en este caso el Message Server y el Lock Table:

SPOs

La función principal del Enqueue Server es la de almacenar los datos críticos acerca de los bloqueos que el sistema mantiene por cada uno de los usuarios, esta tabla de bloqueos es almacenada en memoria, en caso de que el host fallara, esta lista de bloqueos podría perderse e incluso después de reiniciar el host, por lo tanto dichos bloqueos deben ser eliminados (reset).

Para eliminar este punto de falla y para evitar tener que instalar un sistema de alta disponibilidad (HA) para toda la instancia central, se recomienda instalar el Standalone Enqueue Server en conjunto con el Enqueue Replication Server que funciona en otro host, ambos conforman la solución de alta disponibilidad. De este modo el sistema SAP no tendría una instancia central como su arquitectura clásica.

Lo que en el fondo sucede es que la tabla de bloqueos es replicada del Standalone Enqueue Server al Replication Server, el procesamiento de solicitudes en cola y la sincronización de la tabla de bloqueos se realizan en paralelo gracias a la arquitectura del Enqueue Server.

La carga de I/O, que en un sistema convencional de SAP se aborda de forma secuencial por el despachador, se distribuye a través de varios hilos. En la mayoría de los casos, esto hace que sea posible procesar un mayor número de solicitudes en cola.

Para iniciar una instancia del Standalone Enqueue Server ejecute las siguientes actividades:

1. Iniciar sesión con el usuario <sid>adm.

2. $startsap

Para finalizar una instancia del Standalone Enqueue Server ejecute las siguientes actividades:

1. Iniciar sesión con el usuario <sid>adm.

2. $stopsap

Para iniciar una instancia del Replication Server ejecute las siguientes actividades:

1. Iniciar sesión con el usuario <sid>adm.

2. Verificar los perfiles existentes, en unix utilice el comando: $cdpro

3. El anterior comando lo ubicara en la ruta //sapmnt/SID/profiles.

4. Liste los profiles existentes: $ls –la *ER*

5. Aparecerán los diferentes archivos de profile del sistema:

Ejemplo:

-rw-r----- 1 deradm sapsys 941 Dec 21 11:01 der_ERS03_srvreplication

-rw-r----- 1 deradm sapsys 1174 Dec 21 11:57 START_ERS03_srvreplication

6. Inicie la instancia del replication con el comando:

$startsap ERS03 srvreplication

Recuperar usuario SAP*

Recuperar usuario SAP*

En muchas ocasiones nos encontramos en aprietos, ya que se extravía el usuario SAP* o simplemente perdemos nuestro usuario más poderoso y no tenemos como ingresar al sistema, para recuperar el mismo.

La manera de salir de este aprieto, es muy sencilla:

1.      Ingresar a nivel de BD con el usuario más poderoso, ejemplo: si el sistema es un sistema basado en base de datos Oracle, ingresamos con el usuario ora<sid> a nivel de sistema operativo, un ejemplo seria oraer3.

2.      Iniciamos sqlplus: $sqlplus / as sysdba

3.      Ejecutamos las siguientes sentencias SQL:

 
SQL> delete from sapsr3.usr02 where bname='SAP*' and mandt='000';

SQL> commit;

4.      Habilitar a nivel de perfil de instancia de SAP el siguiente parámetro:

login/no_automatic_user_sapstar = 0

5.      Reiniciar el servidor de aplicaciones.

6.      Ingresar al mandante especifico con el usuario SAP* y el password pass.

7.      En hora buena, ya aquí puede utilizar el usuario o cambiar el password del usuario requerido.
 
Saludos,