Tumgik
respadas · 7 years
Text
Error RDI back-end setup ocurred en DBACOCKPIT para Solution Manager 7.2 con Sybase
Después de mucho tiempo sin escribir en parte por no encontrar o realizar algo de “nivel” que sienta amerite la pena compartir me topo con el Solution Manager 7.2, tan de moda/necesidad actualmente y han ido surgiendo varios errorcitos coquetos.
En esta ocasión el problema es la saptools de Sybase usada para las herramientas de administración de SAP en Sybase ASE.
Posterior a la instalación del sistema SOLMAN 7.2 y actualizar al SPS 05 (ignoro si tiene el mismo error en SPS inferiores) se procede a realizar las post-actividades y activaciones para el mantenimiento de Sybase en la tx DBACOCKPIT y las configuraciones Data Collector, Schedule a job  y Set up ATM presentan los siguientes errores:
Tumblr media
Si ampliamos el error:
Tumblr media
Se proceden a aplicar las notas: 1946165, 1882376, 2433149 y 1965755 sin poder solucionar el problema.
Se probaron otras opciones sin éxito hasta que se tomó la decisión de regenerar la base de datos saptools con apoyo de la nota 2497314
Ingresar al SO con el usuario syb<sid> e iniciar a la linea de comandos isql
Respaldar la base de datos saptools: dump database saptools to <path de respaldo> with compression = 101
Obtener la configuración actual de la base de datos saptools y guardar: sp_helpdb saptools
Tumblr media
Borrar la base de datos saptools: drop database saptools
Tumblr media
Crear la nueva base de datos saptools: create database saptools on saptools_data_001 = ‘2048M’ log on saptools_log_001 = ‘204M’
Tumblr media
Colocarle los parametros necesarios según se capturó en el tercer punto, esto mediante el comando: sp_dboption ‘saptools’, <comando>, <valor> por ejemplo sp_dboption saptools, ‘trunc log on chkpt’, true
Tumblr media Tumblr media
Para finalizar se ingresa a la tx DBACOCKPIT ruta <pestaña de SID> -> Configuration -> DBA Cockpit Framework -> Data Collectors and Admin Procedures -> Implement template seleccionar SAP Default (*) y luego presionar Implement
Tumblr media
Con esto la base de datos saptools se habrá regenerado correctamente y se podrá activar el ATM, agendar respaldos, etc
Saludos,
1 note · View note
respadas · 8 years
Text
Error en SAPgui con editor de texto extendido
Para solucionar el error CSapEditorCtrl::GetObject: Object 15 does not exist en las nuevas versiones de SAPgui bastará con descargar e instalar el SAPSCRIPT LEGACY TEXT EDITOR del Marketplace de SAP.
0 notes
respadas · 8 years
Text
Mover archivos antiguos a nueva locación (muy útil para logs)
Si en un sistema tipo unix requerimos mover una gran cantidad de archivos con N días de antigüedad en especifico podemos utilizar el siguiente script:
find /ruta/de/archivos/* -mtime +30 -exec mv {} /ruta/donde/respaldarlos/ \;
Debemos cambiar el parametro  /ruta/de/archivos/* por el directorio donde se encuentran los archivos a revisar y respaldar, por ejemplo, /oracle/R3D/oraarch/* el +30 es la cantidad de días de antigüedad y  /ruta/donde/respaldarlos/ la nueva ruta donde respaldar, por ejemplo, /respaldos/logs_09112015
0 notes
respadas · 9 years
Text
Update target SID in all transports (Sybase)
If someone have configured bad the TMS We need update the target SID for all transports on SAP and with Sybase We can do it with the query:
UPDATE <source SID>.SAPSR3.E070
SET  TARSYSTEM = '<target SID>' WHERE TRKORR  LIKE '<source SID>K%_'
Update (for alld DB’s): When you want change only one transport (released) use the report RDDIT076 enter request number and then change R for D on the Stat column and the target system.
0 notes
respadas · 9 years
Text
Desbloquear o forzar SAP* en Oracle (en *nix)
En ocasiones requerirmos del uso del usuario SAP* en un sistema SAP (AS ABAP) sin embargo este se encuentra bloqueado y no tenemos manera de desbloquearlo a traves de SAP para esto utilizaremos la línea de comandos de Oracle (sqlplus).
Iniciamos sesión en la shell con el usuario ora<sid> y posteriormente nos conectactos como el usuario sysdba al sqlplus
ora<sid> $ sqlplus /nolog
SQL>connect /as sysdba
Ejecutamos un select para localizar el usuario SAP* y si se encuentra bloqueado (si el valor en el UFLAG es mayor a 0 es que esta bloqueado) en un mandante deseado. SQL>select bname, mandt, UFLAG from sapsr3.usr02 where bname='SAP*' and mandt=<mandante>;
Ejecutamos un update para desbloquear el usuario SAP* en el mandante que queremos. SQL>update sapsr3.usr02 set UFLAG=0 where bname='SAP*' and mandt=<mandante>; SQL>commit;
Si aún no podemos ingresar con SAP* debido a un olvido de contraseña podemos proceder a borrarlo para utilizar la contraseña default de SAP* SQL>delete sapsr3.usr02 where bname='SAP*' and mandt=000; SQL>commit;
Cualquier duda pueden dejar un comentario.
0 notes
respadas · 10 years
Quote
If I pay you half that amount, can you complete it in half the time?
(via clientsfromhell)
Me suena, me suena..
2K notes · View notes
respadas · 10 years
Quote
How much space will a 487MB file take up?
(via clientsfromhell)
1K notes · View notes
respadas · 10 years
Text
Problema instalación BO 4.1 en RHEL 5.9 [CheckPatchLevelFailReason]
Intentando instalar SAP BusinessObjects Business Intelligence Suite 4.1 Support Package 1 en un RHEL 5 nos presentamos con el error [CheckPatchLevelFailReason] en la fase de revisión de requisitos del setup, la solución fue sencilla.
Borrar en dunit/product.businessobjects64-4.0-core-32/product.seed.xml el elemento:
<prerequisite id="CheckPatchLevel" description="#prerequisite.CheckPatchLevel.description#" reason="[CheckPatchLevelFailReason]" type="warn"> <condition property="IsFailedPatchLevelCheck" value="0"/> </prerequisite>
Y en el setup.sh:
if [ -f "/etc/redhat-release" ]; then version="`cat /etc/redhat-release | sed 's/.* \([0-9,.]*\) .*/\1/'`" if [ "$version" = "6.0" ]; then glibc="`rpm -qa | grep glibc.*i686 | awk -F- '{ if (NF == 3) split($2,a,"."); if (((a[1] == 2) && (a[2] >= 12)) || ( a[1] > 2)) glibcFound = "true"} END { print glibcFound }'`" if [ "$glibc" = "" ]; then requiredLibs=$requiredLibs" glibc-2.12-1.7.el6.i686 or higher." fi fi fi
Es todo, continuamos con la instalación.
1 note · View note
respadas · 10 years
Quote
Born with tools and skills for make great things, are we using?
0 notes
respadas · 10 years
Link
0 notes
respadas · 10 years
Text
Por fin en github
Comienzo a migrar mi código a github, no sera mi plus pero creo que es la mejor manera (actualmente) de compartirlo, así sea inútil útil y feo.
https://github.com/respadas
0 notes
respadas · 11 years
Text
Filosofía de grsecurity
Me gusta esta filosofía de grsecurity:
• Security cannot be solved in a single layer. • Additional security, if not user friendly, is useless. • You should be able to protect any third-party software you have installed, not only the software that is provided by your distribution. • Humans are often the weakest link in security.
0 notes
respadas · 11 years
Text
SAP SUM stuck in MAIN_NEWBAS/XPRAS_AIMMRG
Another day another play..... at this moment i'm making an update to SAP ERP 6.0 SPS 22 but during downtime in step 5.6 (execution) phase MAIN_NEWBAS/XPRAS_AIMMRG receive a series of errors that in no way to proceed with SUM, the errors are type:
XPRA ERRORS and RETURN CODE in SAPR702XPRA90000008.DG1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 ETP109 version and release : "380.05.19" "738" 1 ETP198 2 EPU126XPost-import methods for change/transport request: "SAPK702XPRA90000008" 4 EPU111    on the application server: "dg1" 2 EPU122XPost-import method "/BOBF/CONF_CTS_AFTER_IMPORT" started for "BOBF" "L", date and time: "20130305043445" 1AETR012XProgram terminated (job: "RDDEXECL", no.: "04344400") 1AEPU320 See job log"RDDEXECL""04344400""DG1" 1 ETP111 exit code           : "12"
As always, the times are short and after defeat another problems during weekend and are very close to goal this can't be happen, I'm scrub, i think! Search in forums, Google, sap notes and nothing, ok, i'm really scrub, next and paining step, send message to SAP support, during the process for create a new message SAP first "ask you" if you have revised notes and playing with SAP Knowledge Base i found the note 1664235 (Investigating errors in XPRAS phase) and after read and follow the "resolution", new errors are displayed, now and are a lot of dumps, all with common error:
The following syntax error occurred in program "CL_SHM_AREA===================CP " in include "CL_SHM_AREA===================CM00V " in line 1: "The kernel module "AB_SHMKMPROPAGATEAREA" is not registered for the implementation of method "_PROPAGATE_AREA" of class "CL_SHM_AREA"."
OK, let's find a solution...... ok there is neither in Google or SAP notes but the word "kernel" shines for me, let's make a try, KERNEL DOWNGRADE!!!! My instance have the last version in branch 7.x (7.38), i downloaded the kernel 7.20 (i consider it more stable than others), decompress, copy  and "startsap r3" .... Instance on host dg1 started, test a SAPlogon connection, all ok Click in button next on SUM.... after a few minutes, SUM continues. Now i'm making the last backup and after finish this post i will try to sleep a little.
Update (01/05/2014): At this time for me the kernel 7.21 it's more stable and repair some old issues.
0 notes
respadas · 11 years
Text
Making a db2 user for SAP database with read-only permissions (*nix)
One more time i need make "magic" for solve request from last minute, in this occasion the requirement it's a user for db2 with read-only permissions, the problem with db2 is the need of explicit GRANT permission for each table in database, SAP have 92000+ and i'm not a db2 expert. The solution comes with some clicks in Google and a bash script line (don't judge it's ugly like all my bash code).
Add user in OS: # useradd -g db<dbsid>adm -s /bin/bash db2read
Add password for the new user: # passwd db2read
Login with administrative user for db2, in SAP regularly it's db2<db2sid>
Connect the user to db2: $ db2 connect to <DBSID>
Grant connect privileges to new db2 user: $ db2 grant connect on database to user db2read
Extract all tables of SAP schema to a file and make the "grant queries": $ db2 -x "select 'grant select on table ' || tabschema || '. ' || tabname || ' to user db2read' from syscat.tables where tabschema = 'SAP<DBSID>'" > grantselect
Read query by query  the file generated and execute: $ COUNT=0 ; while read grant; do TEXT=$(echo $grant | awk '{print $7}'); TEXT2=${grant/$TEXT/\\"$TEXT\\"} ; db2 -x $TEXT2 ; (( COUNT++ )); echo $COUNT $TEXT ; done < grantselect ;
Go for a coffee and other and other and other.... if you want know how many lines (queries) are to be executed check with $ wc -l grantselect
If you know a better way to do it, please say me!!!!
0 notes
respadas · 11 years
Text
Subir y leer documentos en servidor *nix con SAP
En algunas ocasiones sobre todo en lo referente a algunos desarrollos Z requeriremos utilizar layouts que se encuentren en el servidor (esta guia aplica solo para servidores tipo unix) de la instancia SAP para poder realizar cargas masivas en proceso de fondo.
Regularmente se le pediría a un BASIS el estar subiendo estos archivos al servidor y bajando los archivos generados por el desarrollo Z sin embargo en ocasiones es engorroso estar esperando que otras personas finalicen y soliciten estos movimientos, por lo que realice este pequeño manual para que cualquier usuario/funcional pueda subir sus layouts al servidor sin utilizar ninguna otra herramienta mas que el SAPgui y posteriormente acceda a lo generado por el desarrollo Z si así fuera el caso.
SUBIR ARCHIVOS
Ingresar a la transacción SE37
En el campo modulo de funciones escribir la función ARCHIVFILE_CLIENT_TO_SERVER y presionar F8.
Tumblr media
En la siguiente pantalla deberán seleccionar la casilla Mayúsculas/Minúsculas en el campo PATH colocar la ruta completa del layout en el sistema local, por ejemplo, C:\layouts\layout01.txt y en TARGETPATH colocar la ruta /usr/sap/tmp/<mas el nombre del archivo>, por ejemplo, /usr/sap/tmp/layout01.txt, cuando se vaya a realizar la carga en el programa ABAP esta sera la ruta a utilizar para el layout. Nota: se debe escribir siempre en minusculas /usr/sap/tmp.
Tumblr media
Ejecutamos y le presionamos Permitir a la pregunta que nos hace el sistema.
Deberá presentarse una pantalla como la de a continuación y con esto daríamos por finalizada la carga del layout (no debe indicar ningún error).
Tumblr media
LEER ARCHIVOS GENERADOS EN EL SERVIDOR POR EL PROGRAMA ABAP
Dependiendo del desarrollo en ocasiones estos generaran archivos con resultados de la carga masiva en el mismo directorio donde se coloco el layout, para ver el contenido de estos archivos realizamos lo siguiente:
Ingresar a la transacción AL11.
Buscar la linea que dice DIR_PREF en la columna “Nombre parámetro directorio” y hacer doble clic.
Buscar el archivo deseado en la columna File Name y hacer doble clic.
0 notes
respadas · 12 years
Text
Little script for simple db2 database backup with progress bar.
Hello again from somewhere,
 since a few months ago I have had to interact a lot with db2 for laboral reasons.  Personally after "touch" db2 I think it's quite "pretty" the interaction with it. But a partner complains that she can't know the amount of progress without use the command db2 list utilities show detail, and their use may be uncomfortable for non-shell user.
After this little history i wrote an ugly bash script for this purpose (make simple backups and see the amount of progress with the plus of a progress bar :p)
#!/usr/bin/bash # progbardb2.sh # Ugly bash script for make simple db2 backups and see the amount of progress with a progress bar # Author: Ruben Espadas (me [at] respadas [dot] net) # Idea of progress bar taken from ksaver script # License: BSD # April 30, 2012 DB="" DBPATH="" ENDSTR="" PERCENT=0 BAR="" PROMPT=">" LAST=0 if [ $# -lt 2 ] || ([ $# -lt 3 ] && ([ "$1" == "-c" ] || [ "$1" == "--compress" ])) then echo "Usage: $0 [OPTION] DATABASE PATH" echo " -c, --compress compress backup" exit fi if [ "$1" == "-c" ] || [ "$1" == "--compress" ] then DB=$2 DBPATH=$3 ENDSTR="compress" else DB=$1 DBPATH=$2 fi if [ -w $DBPATH ] then DBINST=$(db2 list database directory | grep $DB | grep name | awk '{print $4}') if [ "$DB" != "$DBINST" ] then echo "Database not found" exit fi else echo "I can't write in $DBPATH, check the user, owners dir and permissions" exit fi function progr_bar() { STARTDB=$(db2 backup database $DB to $DBPATH $ENDSTR)& STARTDB=$(echo $STARTDB | awk '{print $8}') if [ "$STARTDB" == "SQLSTATE=57019" ] then echo "The database is currently in use, try again after turn off systems." exit fi write_percent while [ $PERCENT -lt 100 ] do PERCENT=$(db2 list utilities show detail | grep Percentage | awk '{print $5}') if [ -z $PERCENT ] || [ $PERCENT -eq 0 ] then let PERCENT=0 elif [ $LAST -ne $PERCENT ] then write_percent LAST=$PERCENT fi done echo -e " Respaldo finalizado.\n" } function write_percent() { echo -ne "\r\t[ " echo -ne "$BAR$PROMPT ] $PERCENT% " BAR="${BAR}=" } progr_bar
Eviux thanks for your complaints to the shell xD
3 notes · View notes
respadas · 12 years
Photo
Tumblr media
Resume WTF
0 notes