IBM Books

Administration Guide


Determining Problems with rah on UNIX-Based Platforms

Note:The information in this section applies to UNIX-based platforms only.
Here are suggestions on how to handle some problems that you may encounter when you are running rah:

  1. rah hangs (or takes a very long time)

    This problem may be caused because:

  2. You have received messages such as:

    Either one of the machines does not have the ID running rah correctly defined in its .hosts file, or the ID running rah does not have one of the machines correctly defined in its .rhosts file.

  3. When running commands in parallel using background rshells, although the commands run and complete within the expected elapsed time at the machines, rah takes a long time to detect this and put up the shell prompt.

    The ID running rah does not have one of the machines correctly defined in its .rhosts file.

  4. Although rah runs fine when run from the shell command line, if you run rah remotely using rsh, for example,
      rsh somewher -l $USER db2_kill
    
    rah never completes.

    This is normal. rah starts background monitoring processes, which continue to run after it has exited. Those processes will normally persist until all processes associated with the command you ran have themselves terminated. In the case of db2_kill, this means termination of all database managers. You can terminate the monitoring processes by finding the process whose command is rahwait>or and kill <process_id>. Do not specify a signal number. Instead, use the default (15).

  5. The output from rah is not displayed correctly, or rah incorrectly reports that $RAHBUFNAME does not exist, when multiple commands of rah were issued under the same $RAHUSER.

    This is because multiple concurrent executions of rah are trying to use the same buffer file (for example, $RAHBUFDIR/$RAHBUFNAME) for buffering the outputs. To prevent this problem, use a different $RAHBUFNAME for each concurrent rah command, for example in the following ksh:

      export RAHBUFNAME=rahout
      rah ";$command_1" &
      export RAHBUFNAME=rah2out
      rah ";$command_2" &
    

    or use a method that makes the shell choose a unique name automatically such as:

      RAHBUFNAME=rahout.$$ db2_all "....."
    

    Whatever method you use, you must ensure you clean up the buffer files at some point if disk space is limited. rah does not erase a buffer file at the end of execution, although it will erase and then re-use an existing file the next time you specify the same buffer file.

  6. You entered
      rah '"print from ()'
    

    and received the message:

      ksh: syntax error at line 1 : `(' unexpected
    

    Prerequisites for the substitution of () and ## are:

    For a performance tip when running commands in parallel, use | rather than |&, and use || rather than ||& or ; unless you truly need the function provided by &. Specifying & requires more rsh commands and therefore degrades performance.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]

[ DB2 List of Books | Search the DB2 Books ]