Monday, October 15, 2012


There are those times in my life when I have too much to do in a short period of time and all my brain wants to do is sputter. I swear I can feel sparks spewing from my head just at that spot where those small crimpy birthday hats sit.

Tonight is one of those nights. I need to reply to messages from work about an issue that came up on a deployment, type up the notes from a school meeting I went to last week, and figure out how to get the kid to read the material that is due tomorrow.

Life was so simple a couple of years ago. I could sit and watch football on TV without interruptions or having the thought that at any point my enjoyment would be interrupted by work or family. Responsibility seems so cool when you are coming out of High School. Now it feels like a huge burden weighing me down and smushing me into the ground like some gigantic sledge hammer that I accidentally slipped under.

SAP Java

For the third time this year deploying components into a SAP system has failed due to an issue with what is called the P4 port. Which would be okay if we actually knew about the failure when it happened. In our cases, the deployment failed but the tool (in this case it's got the self explanatory acronym 'JSPM') happily continued without issuing any kind of errors. Two days later, we notice some of the applications are failing and upon further inspection find that some of the patches were not deployed. A look through the JSPM logs shows that the tool tried to deploy the components across the 'P4' port, failed, and yet issued the statement (this is recorded in the log) that the deployment was successful. Dang I hate it when an issue we reported in May is still around in October. Somebody get those guys in Sofia some coffee. Time to dig out the code and fix some issues. Bonus points for making the issue go away by December.

Monday, January 23, 2012

System Migration Preparation Steps

For bigger projects like system migrations, I've found that many of the steps are similar across different projects. This is my quick list of items that will need to be considered when migrating a system to a new box:

  1. SAP system profiles
  2. User environment scripts (in the home directory)
  3. Unix services files
  4. Printers/Spool settings
  5. Storage partitions
  6. adm and ora accounts
  7. crontab based events
In SAP, there are also these steps to be considered
  1. RFC's that need to be changed/restored
  2. Certificates that will need to be exchanged/updated
  3. Partner profiles that need to be updated
  4. Logon groups
  5. Update background jobs (remove server specific settings)
  6. Identify any AL11 directories that need to be updated
  7. Note any saprouter settings that may need updating
  8. Updates needed for SLD updates
Another thing I like to do is complete a full check of the current system to capture any non-fatal errors that appear. This helps determine if a problem in a migrated system is a known issue or one that needs to be resolved. 

Other settings I like to record and logs to capture for reference include:
  • Settings in SCOT (domain name etc.)
  • SAPLicense screen
  • Settings in the system change options
  • Settings in STMS
  • Snapshot of current logs
  • Certificates settings in STRUST and SNC0
  • SDCCN 

This is just my cheat-sheet of steps for the preparation phase. Next will be the steps that need to be complete just prior to a migration.

Monday, January 9, 2012

Questions for Basis Candidates

At my last few jobs I was asked to help screen candidates for an open Basis position. These are some of the questions I used to see which of the candidates was serious (who took the time to find out about the company before coming in for the interview) and gauge their level of Basis knowledge.
  • What do you like most about Basis work?
  • Why do you want to leave your current position?
  • What Databases have you worked with and what was the largest (in TB)?
  • What background hav
  • What do you know about our company?
  • e you had with system recoveries and DR methodology?
  • Provide us with your background on system and client copies? How was this done? How long did it take? Did you use any specific methods or software?
  • Have you had any experience with clustering (Unix/Windows)?
  • Approach or philosophy to system tuning (ABAP and Java)? What tools would you use to monitor these?
  • Experience acting as a tutor and the development of documentation?
Other Criteria to consider:
  • How would this person fit within the current team?
  • Does this person show a tendency to share information?
  • Has the person received adequate training to complete the job tasks?
  • Is the person well versed in project management or compliance reporting requirements?

Starting a VNC Session

These are some basic steps I follow when I need to setup a VNC Server session on a
system so I can use the VNC client (useful for running programs like SAPINST remotely).

Log into the server and execute the command ‘vncserver’

Record the server and the port echoed by the command above (example:
Issue this command to make the xwindows session available from any incoming connection:
xhost + (note on some systems you may need to issue the command: ‘vncconfig -iconic -nowin&’
first to keep the vnc session resident on the system)

SAP BASIS - My Oracle Parameters Cheat Sheet

These are steps for checking and updating the oracle parameters against

SAP’s recommendations.

I. First, check the current parameters against these SAP Notes:




Generally, the parameter file is stored here:


II. Make a backup copy of the current spfile with these steps:

Log into the system as the adm account and run this command to enter

Oracle: sqlplus / as sysdba

Within SQLPlus, create the backup with this command:

create pfile=’/tmp/spfile_’ from spfile;

Type ‘exit’ to leave SQLPlus

III. Create a script to apply the needed updates.

Here is an example (note that yours will be different):

ALTER SYSTEM SET "_optim_peek_user_binds"=false SCOPE=SPFILE;

ALTER SYSTEM SET "_push_join_predicate"=false SCOPE=SPFILE;

ALTER SYSTEM SET "_table_lookup_prefetch_size" = 0 SCOPE=SPFILE;

ALTER SYSTEM SET "_bloom_filter_enabled" = false SCOPE=SPFILE;

ALTER SYSTEM SET "_fix_control" = '4728348:OFF' SCOPE=SPFILE;

ALTER SYSTEM SET "_in_memory_undo" = false SCOPE=SPFILE;

ALTER SYSTEM SET "_index_join_enabled" = false SCOPE=SPFILE;

ALTER SYSTEM SET "_optimizer_mjc_enabled" = false SCOPE=SPFILE;

ALTER SYSTEM SET "_sort_elimination_cost_ratio" = 10 SCOPE=SPFILE;

ALTER SYSTEM SET EVENT='10027 trace name context forever, level 1',

'10028 trace name context forever, level 1',

'10081 trace name context forever, level 1',

'10183 trace name context forever, level 1',

'10191 trace name context forever, level 1'

comment='Recommended by SAP NOTE 830576' SCOPE=SPFILE;

For expediency, I have generally just cut and paste this into the Oracle session.

This can also be directed into SQL plus.

IV. Verifying the Parameters Against SAP’s Recommendations

Open the text file in SAP Note 1171650

Log into the SAP system, run transaction SE38, and execute program RSORADJV

In the text box, enter the text from SAP Note 1171650 and execute the program.

Review the recommendations to ensure all parameters match the requirements.

[Note: blog copied from my self hosted site (it runs on FreeBSD at]