stuff that matters to me this week 0728

sim card hack

oracle and arm plans for java

dslr features

speeding up the intenet

dslr and android phone

deliberate mistakes to progress

java as a service

women in tech,2817,2422200,00.asp?utm_medium=referral&utm_source=pulsenews

how we learn new skills

oracle vs the solaris support




Peoplesoft troubleshooter

This is my very own “swiss knife” as PeopleSoft admin. It allows me to simplify most of my day to day task.

peoplesoft troubleshooter

The Design

I’ve created one spreadsheet which contains the details of my peoplesoft environment, I will use this later on to query for information relevant to the peoplesoft environment, something like:

Environment DB
URL Appserver

I then defined what commands I would like to be available and come up with the following:

  • Server – Login, ping, tracert, nslookup
  • Database – Login, tnsping
  • Application Server – Check status, shutdown, startup
  • Process Scheduler – Check status, shutdown, startup
  • Weblogic Server – Check status, shutdown, startup
  • URL- launch peoplesoft online using IE, check if the PIA is up or down.

I’ve created another spreadsheet for the commands that I defined. As I want this command to be a dropdown menu, the trick that I used is the excel list which create a dropdown like menu automatically. I added in this spreadsheet the directory and location of the binary that I will be using for my tool

Finally, I created the interface for the tool(see above screenshot) with dropdown menu for the list of command and map them to the environment. A “go” button was included which will trigger the required macro to execute the command. Example for Server, I first select what type of command to execute like ping then select from the list of server. When I press go it will call my macro which performs the following:

  • Get the value from row/column for the command then get the value from the row/column of environment
  • Determine the type of command to execute via macro
  • Execute the command against the environment selected
  • If additional information is required to perform the command, query the environment spreadsheet.

The Tools

The peoplesoft troubleshooter is not created from scratch. It is just a simplification of existing tools and serves as interface. Below are the tools used

  1. Putty – I connect to servers using putty. This client can be configured with server profile and single sign-on if you are familiar with SSH.
  2. Cygwin – SSH client I use for windows
  3. Sqlplus – database client
  4. Excel – my favorite tools for VBA.
  5. psadmin – Peoplesoft admin tools, I’ve discussed the usage and option for this tools in the following blog entry

In progress

Other options that I will be integrating in the my peoplesoft troubleshooter

  • Filetranfer – simplify copy of files to and from server including logs,etc
  • Maintenace – logs/cache deletion
  • Appdesigner – I have my peoplesoft migrator so maybe I will just integrate this to that tool.

How about you? What do you think I should add to this tool?

unix for begginers

  1. You can search for cheatsheet that are available online. Maybe you are busy or just plain lazy so just click the following link . I prefer the pdf version as they are concise, you can also post a printed copy on your desk
  2. After downloading the cheatsheet, it is best if you can play around with the commands. If you have sandbox or development environment and you feel confident in running the commands then you can login to your unix server. the approach that has lesser risk is to use emulators, Cygwin is the most popular emulator that you can use. Go to:
  3. With smartphones being a trend, there are some apps that you can download too



Peoplesoft Capacity optimization: min-max instance

While PeopleSoft includes template that you can use to define your environment: development, production, etc. There are a few considerations that you need to take into account especially if you need to maintain multiple domains on a single server.

  1. What is your overall server memory and cpu capacity
  2. The memory utilization by each server process during startup.
  3. Additional memory that will be utilized by spawned process

The following services have minimum and maximum number of instance that can be setup to ensure that you don’t max out the server memory and cpu capacity. Notice how the instance increases/decreases based on the template provided by PeopleSoft for a production or development instance

Application Server(psappsrv.cfg) PSAPPSRV






Process Scheduler(psprcs.cfg) (max only)






I find unix top useful in determining the above values and computing for the memory usage per environment. You can use the following example to compute for memory usage:

Say PSAPPSRV uses 1MB of memory(verify using your top result), this will mean that if you setup your min value as 7 and max value as 10 then you require

  • 7MB during startup
  • 3MB allocated for spawned process

Total of 10MB for the PSAPPSRV alone, do the same for the remaining services configured of your domain to give you idea on how much your domain is utilizing.

Do you have similar steps? are you doing something different? share on the comment

unix disk storage management

1. df command is useful to display the disk storage capacity and usage in the server.

df -ahk

a display all disk storage available in your server
h display in human readable format
k block size

2. du command can recursively check the file disk usage in a given directory

df -ashk

a display all files
h display in human readable format
k block size
s summarize

for more information around df and du, type man df or du

useful links:

Troubleshooting PeopleSoft SMTP

Setup and troubleshooting will require you to update the following files for your peoplesoft environment or database:

Application server(psappserv.cfg)

Process scheduler(psprcs.cfg)

Below shows the section with configured SMTP and logging enabled

SMTP configure

Steps to Enable SMTP logging

  1. Open the config files(psappserv.cfg or psprcs.cfg)
  2. Search for string SMTPTrace
  3. Change the value to 1, default is 0

Steps to Configure SMTP

  1. Open the config files(psappserv.cfg or psprcs.cfg)
  2. Go to the SMTP Settings section
  3. Update the following section of your config file (check with your local admin for the default SMTP server used)




Command line options for SMTP

SMTP Commands
HELO sendinghostname This command initiates the SMTP conversation. The host   connecting to the remote SMTP server identifies itself by it’s fully   qualified DNS host name.
EHLO sendinghostname An alternative command for starting the conversation. This   states that the sending server wants to use the extended SMTP (ESMTP)   protocol.
MAIL From:<source email address> This is the start of an email message. The source email address   is what will appear in the “From:” field of the message.
RCPT To:<destination email address> This identifies the receipient of the email message. This   command can be repeated multiple times for a given message in order to   deliver a single message to multiple receipients.
SIZE=numberofbytes The size command tells the remote sendmail system the size of   the attached message in bytes. If ommited, mail readers and delivery agents   will try to determine the size of a message based on indicators such as them   being terminated by a “.” on a line by themselves and headers being   sent on a line separated from body text by a blank line. But these methods   get confused when you have headers or header like information embedded in   messages, attachements, etc.
DATA This command signifies that a stream of data, ie the email   message body, will follow. The stream of data is terminated by a   “.” on a line by itself.
QUIT This terminates an SMTP connection. Multiple email messages can   be transfered during a single TCP/IP connection. This allows for more   efficient transfer of email. To start another email message in the same   session, simply issue another “MAIL” command.
VRFY username This command will request that the receiving SMTP server verify   that a given email username is valid. The SMTP server will reply with the   login name of the user. This feature can be turned off in sendmail because   allowing it can be a security hole. VRFY commands can be used to probe for   login names on a system. See the security section below for information about   turning off this feature.
EXPN aliasname EXPN is similar to VRFY, except that when used with a   distribution list, it will list all users on that list. This can be a bigger   problem than the “VRFY” command since sites often have an alias   such as “all”.
Subject: Email header lines are not SMTP commands per se. They are sent   in the DATA stream for a message. Header lines appear on a line by   themselves, and are seperated from the body of a message by a blank line.

Testing SMTP(Command Line)

  1. Connect to the SMTP server,replace <mailserver> with the one use in the configuration file

telnet <mailserver> 25

You should see something like this as a response:

220 <mailserver> ESMTP 6si6253627yxg.6

  1. Perform server shakeout, replace <mailserver> with the one use in the configuration file

HELO <mailserver>

  1. Set mail sender, replace <emailsender> and use the same email address used in the configuration file

MAIL FROM: <emailsender>

  1. Set mail recipient, replace <emailreciever> with your email address

RCPT TO: <emailreciever>

  1. Type email content



Testing SMTP using sendmail

SMTP test

How to tame your psadmin utility

As a PeopleSoft Admin I have the following wishlist that should be added to the psadmin utility:

  1. Smartphone app – simplifying everything given that smartphone is now a mainstream
  2. Remote control – for administering as well as monitoring Application Server, Process Scheduler and PIA without server login
  3. Web based console – for administering as well as monitoring Application Server, Process Scheduler and PIA without server login
  4. Integrate PIA in psadmin utility – This is already available in the 8.51 tools and higher
  5. Cluster Admin – administer group of peoplesoft instance using a single command

It is safe to assume that Oracle may have think about this stuff as well and solution may be out there but since the solution may not be readily available just like in my case, there are some automation project that you can implement.

First, let’s look at the activity/task:

  1. Administering covers monitoring the environment, bounce(shutdown and startup) and maintenance(cache clear, space and logs management)
  2. I’m maintaining average of 30 environments, multiply 30 by 4 will be the task or activity that I need to perform

How can I maximize effort? The above list only covers basic task, we also need to perform troubleshooting and tuning which should be the focus of PeopleSoft Admin. So I have to classify the automation process as follows:

Module A: check the status of the services; I prefer to check the service rather than the instance as this insures that the application is stable. There are instances that the domain or environments are up and running but some of the services died and causes the environment to be unstable

Monitor status of all services running then send notification email if the environment is down and there are no ongoing maintenance to the environment

Module B: Maintenance processing to clear the cache and logs

Module C: perform the shutdown of the environment using psadmin command line utility(see previous post).

Shutdown Application Server

Shutdown Process Scheduler

Shutdown Web/PIA

Use Module A to check if the shutdown is successful

Use Module B to cleanup cache and logs

Module D: startup of the environment using psadmin command line utility

Startup Application Server

Startup Process Scheduler

Startup Web/PIA

Use Module A to check if the shutdown is successful

Module E: menu based wrapper which gives user options/selection on how to manage environment

Below is the mockup of the automated tools

PS cool

psadmin utility

I’m glad that Oracle finally made the much needed integration of the web (PIA) server to the psadmin utility. I know its years late but I only got my hands on recently as part of  our upgrade from 8.51 to 8.53 PeopleTools. Here is a quick comparison

8.51 8.52/8.53

PeopleSoft Server Administration


1) Application Server

2) Process Scheduler

3) Search Server

4) Service Setup

5) Replicate Config Home

q) Quit

Command to execute (1-5, q):


PeopleSoft Server Administration


Config Home:  D:\PT_SERVER\8.52


1) Application Server

2) Process Scheduler

3) Search Server

4) Web (PIA) Server

5) Switch Config Home

6) Service Setup

7) Replicate Config Home

q) Quit


Command to execute (1-7, q):

The PIA is a good addition to simplify managing environment. During my 8.4x days, managing PIA involves familiarity of weblogic/websphere command line, change directory and log monitoring to ensure that the PIA started correctly and your peoplesoft environment are accessible online.

Most PS admins create a wrapper script/batch file consolidating the above task. The wrapper script/batch file then gets integrated into scheduling tools such as Control-m, cron, etc. This is quite important especially when implementing scheduled maintenance for your application.

The key to simplifying the task also lies in the familiarity with the following commandlines(I’m using 8.53 as example):

Application Server

Command Example Result of the Example
boot psadmin -c boot -d PSDMO Boots an application server domain named   PSDMO.
parallelboot psadmin -c parallelboot -d PSDMO Boots an application server domain named   PSDMO, using the parallel boot option.
configure psadmin -c configure -d PSDMO Reloads the domain configuration for the   PSDMO domain.
pslist psadmin -c pslist -d PSDMO Displays the processes that have been booted   for the PSDMO domain. This includes the system process ID for each process.
shutdown psadmin -c shutdown -d PSDMO Shuts down the PSDMO application server   domain, by using a normal shutdown method.

In a normal shutdown, the domain waits for   users to complete their tasks and turns away new requests before terminating   all of the processes in the domain.

shutdown! psadmin -c shutdown! -d PSDMO Shuts down the PSDMO application server   domain by using a forced shutdown method.

In a forced shutdown, the domain immediately   terminates all of the processes in the domain.

sstatus psadmin -c sstatus -d PSDMO Displays the Tuxedo processes and PeopleSoft   server processes that are currently running in the PSDMO application server   domain.
cstatus psadmin -c cstatus -d PSDMO Displays the currently connected users in   the PSDMO application server domain.
qstatus psadmin -c qstatus -d PSDMO Displays status information about the   individual queues for each server process in the PSDMO application server   domain.
preload psadmin -c preload -d PSDMO Preloads the server cache for the PSDMO   domain.
cleanipc psadmin -c cleanipc -d PSDMO Cleans the IPC resources for the PSDMO   domain.
purge psadmin -c purge -d PSDMO Purges the cache for the PSDMO domain.
import psadmin -c import


\psappsrv.cfg` -n NEWSRVR

Imports a domain configuration.

See PSADMIN command line help for all   possible options.


Process Scheduler

Command Example Result of the Example
start psadmin -p start -d psdmo Starts a Process Scheduler.
stop psadmin -p stop -d psdmo Stops a Process Scheduler.
configure psadmin -p configure -d psdmo Configures a Process Scheduler.
status psadmin -p status -d psdmo Displays the status of a Process Scheduler.
cleanipc psadmin -p cleanipc -d psdmo Cleans the IPC resources for specified   domain
kill psadmin -p kill -d psdmo Kills the domain (similar to forced   shutdown).


PeopleSoft Internet Architecture

Command Example Result of the Example
start psadmin -w start -d peoplesoft Starts the peoplesoft domain.
shutdown psadmin -w shutdown -d peoplesoft Stops the peoplesoft domain.
shutdown! psadmin -w shutdown! -d peoplesoft Performs a forced shutdown of the peoplesoft   domain.
status psadmin -w status -d peoplesoft Displays the status of the domain (started,   stopped, and so on).
remove psadmin -w remove -d peoplesoft Deletes the domain.


Miscellaneous commands

Command Description
psadmin -h Displays command help and syntax.
psadmin -v Displays the PSADMIN version number, as in Version   8.53.
psadmin -env Displays your current environment variables.
psadmin -defaultps_cfg_home Displays the current PS_CFG_HOME environment   variable.
psadmin -replicate -ch <source PS_CFG_HOME> Replicates a PS_CFG_HOME and its configured   domains to a new location, where they can be started without manual   reconfiguration.





here’s a quick 1 liner that you can use to perform some of your housekeeping task in Unix/Linux:

find .<directory> -name “<filename>” -type f -mtime +<number in days> -ls -exec gzip {} \;


find ./ -name “*.txt” -type f -mtime +30 -ls -exec gzip {} \;

The above example will:

  • search any files under the current directory and subdirectory
  • if it is older than 30 days and with txt extension, display the file info then gzip the file.

for more information about find command, type:

man find

or you can visit the following