Posts

Showing posts from August, 2012

Use of SIGUSR1 and SIGUSR2 on SAP Kernel

SIGUSR1 and SIGUSR2 are user-defined signals that can be sent to a process to perform the pre-defined actions. SAP has implemented these signals to help increase/decrease trace on the kernel program. The following actions are defined for the SIGUSR1 and SIGUSR2 signals on SAP programs like disp+work, gwrd, msg_server, icman, saprouter etc. 1. SIGUSR1 reduces the trace level by one 2. SIGUSR2 increases the trace level by one and writes the current call stack of the program to the trace file. The stack can then be used to determine which operating system routine the process is currently in. Then switch the trace level downwards with SIGUSR1 as, otherwise, the entire program flow is logged in the trace file and the size of the file increases very quickly . If you send the SIGUSR2 signal to an SAP work process (kill -USR2 <PID of work process>), the signal handler executes the pre-defined funtion for SIGUSR2 and the trace is written to dev_w<N> trace file. The trace is

Unable to View Java System Reports in NWA

If you get a java.lang.NullPointerException while trying to check Java system reports through NetWeaver Administrator (NWA), check if the applications required are running or not. 1. Go to http://<server>:<port>/nwa --> Operation management --> Systems --> Start&Stop --> Java EE Applications 2. Restart/start the following applications     tc~lm~webadmin~performance~provider_ear     tc~lm~webadmin~performance~viewer~wd     tc~lm~webadmin~monitor~state~wd     tc~lm~webadmin~monitor~complib~wd 3. Check SAP notes 1261071 and 1349854 if you are still unable to open the reports.

GRC Spool and Log File Cleanup

Background or ad-hoc jobs for risk analysis generate spool and log file. Unlike ABAP, where you can set reports to clean up job logs and spool files, GRC does not have house-keeping jobs available. You will have to write your own OS scripts to cleanup old logs from the file system. The background job spool files are written to /usr/sap/<SID>/>INST>/j2ee/cluster/server0/virsa/bgJobSpool with name jobid.X.0 and the foreground tasks (with huge object selection) write _tmp.xx.x.0 at the same location. If the file system fills up, the J2EE engine will hang. You need to restart J2EE engine after a disk full situation.

GRC RAR Row-prefetch value for Oracle Risk Analysis

If you are using Oracle database with GRC, you can set Row-prefetch value for Oracle Risk Analysis to tune the performance of Risk Analysis. The parameter uses the row-prefetching feature of Oracle JDBC driver to fetch multiple rows at a time (instead of the default one row) reducing the round trips to be made to the database layer. The extra rows are stored in the buffers and used by the later queries which pick one of the rows that are already placed in the buffer. To set the number of rows to prefetch, navigate to Configuration --> Risk Analysis (left pane) --> Performance Tuning --> Row-prefetch value for Oracle Risk Analysis. A value of 10 is a good starting point.