8.55 tools upgrade cache issue

After upgrading to peopletools 8.55, our application engine started failing with a variety of cache error messages.It is a tricky scenario given our setup which is as follows:

  • The failing psae process are triggered via command line using ksh wrapper script with psae commands
  • Upgrade from 8.53 to 8.55 tools version
  • Filesystem is being shared between 2 Linux servers running multiple process  scheduler instance

Took as multiple cache parameters change in the process scheduler before identifying the issue. Turns out that the compatibility with the SAN filesystem is the culprit and has something to do with the filesystem locking mechanism for SAN v3

Errors messages

  • Meta-SQL error at or near position 177 
  • PSPAL: Abort: Unexpected signal received
  • errorno = 2-No such file or directory
  • errorno = 116-Stale file handle
  • errorno = 10-No child processes

 

 

Advertisements

Linux memory script

Below is a simple script to check the total memory and cpu used by process

MY_USER=`id -u -n`
MY_HOST=`hostname`
> /tmp/my_mem_$MY_HOST.txt
echo `date` >> /tmp/my_mem_$MY_HOST.txt
ps -e -o rss,vsz,pcpu,user,args | grep $MY_USER > /tmp/$MY_HOST_prcs.txt
cat /tmp/$MY_HOST_prcs.txt | awk ‘{a=$1;b=$2;c=$3;x=x+a;y=y+b;z=z+c;ma=x/1024;mb=y/1024;{printf(”   Resident memory size is:   %s MB\n   CPU for Processes:        %s %%\n   Virtual memory size is:    %s MB\n”,ma,z,mb)}}’  | tail -3 >> /tmp/my_mem_$MY_HOST.txt
cat /tmp/my_mem_$MY_HOST.txt

which will report the total memory and virtual memory used together with CPU % by the particular user.

Mon Jul 25 01:45:40 EDT 2016
Resident memory size is:   12664.8 MB
CPU for Processes:        19.4 %
Virtual memory size is:    49755.9 MB

Can be modified and place inside a loop for monitoring.

 EPM tools

We are currently maintaining a number of servers for our EPM applications. When you are dealing with tons of servers, it is important to keep an inventory to keep track of the software component installed and the associated environment and servers. 

Since i’m a fan of automation, i created a tool for our inventory with Excel as my usual weapon of choice. The attached video contains the demo of the tool. Feature such as automated login and integration to Linux servers, sqlplus and nt servers are not included due to security reason

System integration

Like many enterprise application. Many companies are very much liberal in the installation and deployment guide that they normally published specially for products requiring large scale installations and integrations. After all, it is hard to account for multiple scenarios that can take place on the implementing side of the fence. Due dilligence should be made and fingers cross the approach you’ve chosen works! At the end of the day, you can’t test every possible scenario anyway.

software versions

From time to time we need to determine the version of the software when performing upgrades and patching, i’m compiling the list of command line to determine the software in unix for easy reference

1. version of tuxedo installed

export TUXDIR=<location of tuxedo installation>

. $TUXDIR/tux.env

$TUXDIR/bin/tmadmin -v

2. version of java

export JAVADIR=<location of java installation>

$JAVADIR/java -version

3. version of peopletools 

. $PS_HOME/psconfig.sh

psadmin -v

4. version of oracle client

tnsping

6. Weblogic version

WL_HOME=<weblogic installation>

$WL_HOME/server/lib/java -cp weblogic.jar weblogic.version

sqr vs pssqr

someone ask me the other day how to run a peoplesoft sqr process via unix command line. I would say it is pretty much straight forward as i’ve made many unix interface script to trigger sqr process. Although i must admit sometimes it is confusing given that PeopleSoft allows execution of sqr via the sqr command and the wrapper pssqr. Below are some comparison on how to use both command to execute your sqrs:

pssqr Command Line Parameters

pssqr -CT <databasetype> -CD <databasename> -CA <AccessID> -CAP <AccessPwd> -RP <sqrprogramname> -R <runcontrolid> -I <process instance> -OP <outputdest> -CO <userid> -OT <outputtype> -OF <outputformat>

sqr command line parameters

sqr <sqrdir>/<sqrfile> <dbuser>/<dbpassword>@<database> “-o<outputdir>/<outputfile>” -xb -xi -zif<sqrdir>/pssqr.unx <database> <process instance> <userid> <runcontrolid>

are you all set once you pass the listed parameters? not yet! there are environment variables which needs to be set before you can actually run the binary, this are:

PS_HOME
PS_SERVER_CFG
TUXCONFIG(for sqr command line only)

now you should be able to execute the sqr via command line. It is important to keep in mind the number characters that is allowed in the unix command line, the best practice is to use variables or file that can be used by the command. You can use the below example

sample 1

echo “-CT ORACLE -CD DEMO -CA PS -CAP PS -RP PSSQR -R PSSQRRNCTL -I 1 -OP /tmp/PSSQR.lis -CO VP1 -OT 6 -OF 2 -LG ENG “>/tmp/mysqr.cmd
. psconfig.sh
export PS_HOME=/app/psoft
export PS_SERVER_CFG=${PS_HOME}/appserv/prcs/DEMO/psprcs.cfg
export PS_SERVDIR=${PS_HOME}/appserv/prcs/DEMO
export SQR_OUT=${PS_HOME}/bin
${PS_HOME}/bin/pssqr /tmp/mysqr.cmd

sample 2

export PS_DBNAME=DEMO
export PS_HOME=/app/psoft
export TUXCONFIG=${PS_HOME}/appserv/prcs/DEMO/PSTUXCFG
export PS_SERVER_CFG=${PS_HOME}
export PROG=${PS_HOME}/sqr/glsgtd01.sqr
export DB=sysadm/sysadm@${PS_DBNAME}
$PROG $DB “-o/tmp/PSSQR.out” -xb -xi “-i/PSSQR.lis/,$PS_SERVER_CFG/sqr/,” -zif$PS_SERVER_CFG/sqr/pssqr.unx “-f/tmp/PSSQRRNCTL.lis” DEMO 1 VP1 PSSQRRNCTL

working with nonVirtualbox environment for PUM

1. Unzip the .ova file to show the contained .ovf and .vmdk files

2. download the OVFTool to convert the ovf to vmx
ovftool -tt=vmx –lax <ova file> <vmx file>

3. OVFTool complained about unsupported devices(like sound card,etc)
so used the <Item ovf:required=”false”> tag for these devices.

4. On trying to upload the .vmx file using vmware standalone convertor
tool, .vmx was missing some critical references to scsi device and the
named .vmdk file – looked at a different server working .vmx file on
hand and substituted a few lines where needed to get the image to
load. Final edited .vmx file looked like listing at page bottom the
below for our setup.

annotation = “Madrona 4.0 Ubuntu 12.04 Server VM”
config.version = “8”
displayname = “Madrona 4.0 Ubuntu 12.04 Server VM”
ethernet0.addressType = “generated”
ethernet0.connectionType = “bridged”
ethernet0.present = “true”
ethernet0.startConnected = “true”
ethernet0.virtualDev = “e1000”
floppy0.present = “false”
guestos = “ubuntu”
ide1:0.autodetect = “true”
ide1:0.deviceType = “atapi-cdrom”
ide1:0.fileName = “auto detect”
ide1:0.present = “true”
ide1:0.startConnected = “true”
scsi0.present = “TRUE”
scsi0.virtualDev = “lsilogic”
scsi0:0.present = “TRUE”
scsi0:0.fileName = “madrona_virtual_v3-disk1.vmdk”
lsilogic.noDriver = “FALSE”
memsize = “512”
mks.enable3d = “TRUE”
numvcpus = “1”
pciBridge0.present = “TRUE”
pciBridge4.functions = “8”
pciBridge4.present = “TRUE”
pciBridge4.virtualDev = “pcieRootPort”
pciBridge5.functions = “8”
pciBridge5.present = “TRUE”
pciBridge5.virtualDev = “pcieRootPort”
pciBridge6.functions = “8”
pciBridge6.present = “TRUE”
pciBridge6.virtualDev = “pcieRootPort”
pciBridge7.functions = “8”
pciBridge7.present = “TRUE”
pciBridge7.virtualDev = “pcieRootPort”
svga.autodetect = “true”
usb.present = “true”
virtualhw.version = “7”
vmci0.present = “TRUE”

Weblogic: password reset for console admin account

For times when you need to login to your webserver console but forgot the passwords, before doing a full install below are the steps to perform password reset

1. Backup the security directory
cd //webserv/
tar -cvf security.tar security

2. Delete the authenticator file
cd //webserv//security
rm -rf DefaultAuthenticatorInit.ldift

3. Set environment variables
cd //webserv//bin
. ./setEnv.sh

4. Reset the password
java weblogic.security.utils.AdminAccount operator password //webserv//security

5. Update the boot.properties file with the new password
vi //webserv//servers/PIA/security/boot.properties

username=

password=

6. Cleanup ldap directory
rm -rf //webserv//servers/PIA/data/ldap/*

7. Bounce your weblogic instance.

Remote PeopleSoft Admin via windows

Remote PeopleSoft Admin

As discussed on my previous post, I created a tool that allows me to manage PeopleSoft environment remotely. The concept applies if you are using a Windows workstation and your peoplesoft application server, process scheduler and weblogic(8.52 up only) are installed in a unix/linux server. Details of the tools here:

https://pinoyitgeek.wordpress.com/2013/07/28/peoplesoft-troubleshooter/

To begin the configuration, you will require a windows ssh client. I’m using plink which is a free windows ssh client. You can download plink here:

http://pngu.mgh.harvard.edu/~purcell/plink/

Here an example on how to check the status of your environment:

  1. create a text file with the following content, save as mypsadmin.txt

mypsadmin

The content of the text file simple performs the following:

hostname display the name of the server

. /pshome/psconfig.sh execute the psconfig.sh file to setup the peoplesoft environment variables. Replace with the actual PSHOME of your environment

psadmin –p status –d PSDMOHR the command line option to display the status of the peoplesoft process scheduler called PSDMOHR, replace with your Database/peoplesoft Domain

2. perform ssh connection to your unix/linux server and execute the file created in step 1 on the server

plink

Replace the following values accordingly

Admin – account which owns the peoplesoft installation on the server

Peoplesoft.com – server hosting the process scheduler instance

Password – password of the admin account

Test and let me know how it goes.

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 http://lmgtfy.com/?q=unix+cheat+sheet . 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: http://www.cygwin.com/
  3. With smartphones being a trend, there are some apps that you can download too

Android

https://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&ved=0CEcQFjAB&url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.jpsecurenet.unixlinuxcommands%26hl%3Den&ei=mKTwUZijGsi5rgea7YFI&usg=AFQjCNE0GYhAiIIP-4rYNBbjeRpspRJg0A&sig2=6bvudp_vDocvtVqBZBu73g&bvm=bv.49784469,d.bmk

iOS

http://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCsQFjAA&url=http%3A%2F%2Fappfinder.lisisoft.com%2Fipad-iphone-apps%2Funix-terminal-emulator.html&ei=x6XwUdGzOITtrAf7z4HACw&usg=AFQjCNHJ_ilXb5w8qrHLMgvAgzGgOx4_RA&sig2=HO9lpAGEvsM_DR1LxU0pyw