Friday, January 3, 2014

Blocking condition within Tuxedo on the client

The service PostReport could not be sent because of a blocking condition within Tuxedo on the client. Check the message monitor and you can see that most processes are in posting status. Check your process scheduler through psadmin and you can see psdstsrv process is hung.

First thing to NOT do is recreate the process scheduler! I believe I found a blog somewhere that suggessted this which reaaallly should be the very very last resort. 

anyway, simple solution is to bounce the hung process which is PSDSTSRV. this can be done using the Tuxedo comand line of psadmin.

## restart psdstsrv in windows:
Normally the PSDSTSRV.exe process has an ID of 103, you can check this using task manager (Follow the steps here on how to view the process in Task Manager).

Open up psadmin, navigate to Tuxedo command line and enter the following commands to shutdown/boot the process.

shutdown -g BASE -i 103
boot -g BASE -i 103

If psdstsrv wont shutdown, kill the specific process from task manager.

## Restart psdstsrv in UNIX
Basically the same steps but to get the process ID, use the command instead:

ps -ef|grep -i ps|grep -i psdstsrv



Some info you might want to know but is not used here.

Dist status when looking at the table backend:

DISTSTATUS 0 = None
DISTSTATUS 1 = Scheduled (N/A)
DISTSTATUS 2 = Processing
DISTSTATUS 3 = Generated
DISTSTATUS 4 = Unable to Post
DISTSTATUS 5 = Posted
DISTSTATUS 6 = Delete

DISTSTATUS 7 = Posting (stuck).

Thursday, January 2, 2014

Run Appmsgarch process manually

PeopleTools> Integration Broker>
Service Operations Monitor> Monitoring> Monitoring Data Archiving

Friday, December 27, 2013

Enabling Virus Scan for PT 8.52

OK, so we all know that Oracle documents aren't always as detailed, but when you get it, you suddenly realize that it was really as straight forward as what the docs says.

We had that moment when enabling virus scan for our peoplesoft environment. We were looking for the documentations for when you want to use a different version of a virus scanner. Anyway, long story short, the old version of Symantec protection engine has been replaced by Symantec Protection Engine for Cloud services v12. So use this one instead.

Easy steps:

1. Install Symantec Protection Engine for Cloud services v12 - this has been tested to work with PT8.51 and PT8.53.

2.  Update the VirusScan.xml file on your webserver on its two locations:

<ps_home>/webserv/applications/peoplesoft/PORTAL.war/WEB-INF/classes/psft/pt8/virusscan 
and
<ps_home>/webserv/applications/peoplesoft/PSIGW.war/WEB-INF/classes/psft/pt8/virusscan

3. The entry should be exaclty the same as the one provided in Peoplebooks, you only need to update the IP address with the one where you've installed Symantec

http://docs.oracle.com/cd/E26239_01/pt851h3/eng/psbooks/tmcf/book.htm?File=tmcf/htm/tmcf15.htm#2E3D5C96_132F532B140__18BB

4. bounce your servers and clear the cache.

5. test.

log can be seen in your PIA logs

Monday, November 4, 2013

WINDOWS: Add a script to right-click mouse menu

Yup that's right. I'm lazy like that.

I once created a Menu script in windows that sets the PS_HOME and PS_CFG_HOME variables automatically and calls the psadmin executable. This is useful if you have a multiple PS_HOME installation in one windows server (usually the setup for non-production environments.)

Instead of saving the file to my desktop, I added it to the right-click menu of my mouse so I wouldn't have to double click on the file.heh.

Here's how I did it:

Note: You can change the value of those in red font.

1. Open a new notepad and save with a .reg extension.
2. Paste the following lines and edit as appropriate (make sure the script location has double slash):

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\MENU]
@="MENU script"
"Position"="Top"


[HKEY_CLASSES_ROOT\Directory\Background\shell\MENU\command]
@="E:\\MENU\\menu.bat"


3. Save the .reg file then double click on it to add your script.

 

Saturday, November 2, 2013

UNIX: Crontab

*    *    *    *    *  command to be executed
-    -    -    -    -
¦    ¦    ¦    ¦    ¦
¦    ¦    ¦    ¦    ¦
¦    ¦    ¦    ¦    +----- day of week (0 - 7) (0 or 7 are Sunday, or use names)
¦    ¦    ¦    +---------- month (1 - 12)
¦    ¦    +--------------- day of month (1 - 31)
¦    +-------------------- hour (0 - 23)
+------------------------- min (0 - 59)

Friday, November 1, 2013

Oracle Database: How to Know DB Startup time

Another quick information.

In checking when your database was last started, you can run the following command:

select to_char(startup_time, 'DD-MON-YYY HH24:MI:SS') "Startup time" from v$instance;

This is specially helpful when you do not have visibility on the DB side but has sysadm account (which is the ccase for most support guys out there.)

Thursday, October 24, 2013

UNIX Script: Basic command to create/add users and groups

#create a user and set its password
useradd -m user
passwd user


#create a new group in unix
groupadd group

#create a user and add it to a group
useradd -g groupname -m user
passwd user


#add a user to multiple groups
usermod -G group1, group2, group3 user

#other user/group command
userdel
groupdel
groupmod


#Change name of a user (UID) and ownership of its folders (e.g, PS_HOME is owned by user psoft1, rename the user to psoft and PS_HOME ownership will change as well)
usermod -l <New Name> <Old Name>


#Change ownsership of directory and its subdirectories and files
chown -R user /path/to/dir

Wednesday, October 23, 2013

Windows Batch Scripting: Date format manipulation

Just a quick note on date manipulation.

So what does it mean when you see the following in a script:

set /a y=%date:~-4%
set /a d=%date:~07,2%
set /a m=%date:~-10,2%

easy as pie. First you need to know the date format you will be using:

echo %date%
Tue 10/15/2013

Now, here's what our code above means.
Set /a y - Of course, you set the value for y for year.
%date:~-4% - you call on the date as with the echo command earlier. But only display the value starting from -4 up to the last character. The negative value indicates that you should count from the last character of the date value. from here, -4 lands on the number 2. It will then display from that number up to the last which is 2013.

Set /a d - d is for day.
%date:~07,2% - Similar from the above, it calls the date and counts from the positive 7th character. The number 2 then indicates that you should read 2 characters starting from character 7. From our example, the value is 15.

set /a m - m for month, obviously :)
%date:~-10,2% - lastly, as another example, you count from the last digit up to the 10th character. Display 2 digits from the 10th character which is 10.

The example above shows that we can use either a negative or positive values in setting the date value on a variable.

Tuesday, October 15, 2013

Windows Batch Script Date format: Set day of the year

Unfortunately there is no direct way to do so. You would need to perform some computation after parsing the date. Below is the script you can use:

@echo off
setlocal disabledelayedexpansion

set /a y=%date:~-4%
set /a m=%date:~-07,2%
set /a d=%date:~-10,2%

set /a w= %d% +(!(%y% %% 4)-!(%y% %% 100)+!(%y% %% 400))*(!((%m%-3)^&16))
set /a w=(%w%+(%m%-1)*30+2*(!((%m%-7)^&16))-1+((65611044^>^>(2*%m%))^&3))
echo %w%

One thing to note about using SET /A command is that it treats its values as an octal notation. To easily explain this, below is an excerpt from one of my searches in google (forgot where, if you know, please comment below so I can credit appropriately.)

“SET /A has a very unfortunate feature in that any number that has a leading 0 is treated as octal notation. So a value of 08 or 09 is not a valid number for SET /A, and will give the error message that you cited. To get the correct value you must represent the MINS as 8 or 9 (no leading 0). Note that 00 through 07 work fine because both octal and decimal interpretation yield the same value.”

Here is the octal and decimal values:


















Of course, you may simply remove the /A when you only want to get the values for y, m and d. But when using the 08 and 09 value in another date computation (eg. computing for the value of w above), they will still be interpreted as octal because of the SET /A used. To remedy the above issue, you can use:

Before:
set /a m=%date:~-07,2%
set /a d=%date:~-10,2%

Echoing  %m% - %d%  gives you 08 and 09.

After:
REM use the following to remove leading ZERO values:
set /a m=10000%date:~-07,2% %% 10000
set /a d=10000%date:~-10,2% %% 10000

Echoing  %m% - %d%  gives you 8 and 9.

Thursday, October 3, 2013

Create DBLINK for Oracle Database

Easy as pie. Use this template:

create public database link <DB Link name> connect to <User account> identified by <Password> using '<Database SID>';

From Oracle's format in creating dblinks:

CREATE [ SHARED ] [ PUBLIC ] DATABASE LINK dblink
  [ CONNECT TO
    { CURRENT_USER
    | user IDENTIFIED BY password
      [ dblink_authentication ]
    }
  | dblink_authentication
  ]
  [ USING 'connect_string' ]


Or this one:

CREATE PUBLIC DATABASE LINK <INSTANCE><.WORLD> CONNECT TO <USER> IDENTIFIED BY <PASSWORD OF USER TO BE USED> USING '<CONNECT STRING usually INSTANCE>';


To verify your DB link, use:

select distinct db_link, created from dba_db_links where db_link='DB LINK NAME';

Common error when using your dblink is getting the ORA-02069 message. As per the following link:

http://www.oracle-developer.com/oracle-post/81/ORA_02069:_global_names_parameter_must_be_set_to_TRUE

ORA-02069: global_names parameter must be set to TRUE

If you get this error while trying to access a table over the database link.
This error happens when the database parameter global_names is set to TRUE.
When this is the case, the database link need to have the same name as the global name of the remote database (the one you are trying to connect to).

You can find out if global_names is on by using:
SQL> show parameter global_names

Find out the global name of the remote database. Log into the remote database and use:

SQL> select * from global_name;

GLOBAL_NAME
-------------------------------------------------------------------
> DB1.ORACLE-DEVELOPER.COM

Create the database link in the Oracle database appropriately:

SQL> create database link DB1 connect to scott identified by tiger using 'DB1'

Altering the password used by your DBLINK? Here are the steps:

1. Drop databae link:
    drop public database link <DBLINK name>;
    commit;

2. Recreate dblink:
    use any of the commands above.

I've even tried using the TNSNAMES entry - just because, although I am not sure if this has any negative impact. I'm thinking no since using the DB name will also use this entry. One drawback I can think of is the cluttered result of your query when selecting from dba_db_links:

Example -

$tnsping factfinder

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fact-finder.blogspot.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = fact-finder.blogspot.com)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = factfinder) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))))
OK (30 msec)

The command to create the DBLINK is:

create public database link factfinder connect to <user> identified by <password> using '((DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fact-finder.blogspot.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = fact-finder.blogspot.com)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = factfinder) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5))))';

Tuesday, October 1, 2013

How is your PeopleSoft?

Like most peoplesoft practitioners, I am also aware of the seemingly dwindling opportunities we have when it comes to finding new jobs. Of course I'm from a country where we have only a few companies that has peoplesoft, and most of them are BPO/support work, so I do not really have that much visibility on the market.

So I want to know, if your a Peoplesoft practitioner, on what Peopletools and application version are you now? Are you looking to upgrade your version or are you thinking about moving to another platform?

Thursday, September 26, 2013

Renaming Message Queues for Integration Broker in PeopleTools 8.5x

Here's a quick list of steps in renaming your Message Queues for Integration broker. The same steps can be performed when recreating the message queue, simply rename the original one to a another name for backup.

1. Stop/Inactivate the IB Domain.
2. Stop/Pause the queue in queue status page.

3. Archive / Delete all IB messages for this particular queue
        - This is important since it renaming the message queue is not allowed when there are messages under this queue. You may archive or delete all done and cancelled messages under this queue. To archive, use the delivered archiving process for Integration Broker. To delete the queues, use the delivered PSAPMSPURGELIVE.DMS file and append a "where queuename='your queue name'. Now, not all tables have a queuename field and I currently do not have a list of its content, but a sureway of checking is to replace all "delete from" with "select count(*) from" to let you know which fields will be used.

4. Go to service Operation and look for the service operation that this queue is associated with. Normally it has the same name with your queue name. dis-associate this queue name from the service operation by changing the value (including the version) to any other on your list. remember that your domain is currently disabled and we'll replace this with the correct one later on. save

5. Proceed in renaming the queue. Navigate to service administration and rename or delete your queue. Make sure you take a screenshot of it first if your planning to delete and re-create your message queue.
6. Recreate your message queue in the queue page. Note that you need to associate your queue to a service operation for the fields to be created. save
7. Go back to the service operation earlier and rename the queue you changed in step 4. save
8. Go back to queues list and update your queue to make it look as it was before. save

9. Start/Run the new queue in queue status page and make sure the old queue is paused.
10. Start/Activate your IB domain.

Thursday, September 27, 2012

PeopleSoft Integration Broker Changes on newer PeopleTools


I know I said I'll be writing about Oracle VMs and PS templates, but I found this on my drafts folder and thought I should probably move it out here first. It's an old post that never got published, soo.. this is probably irrelevant now too since most people are using PeopleTools versions that are on 8.49 or higher, but just in case some one out there needs Integration Broker changes between 8.47 (and older) and 8.48 (and later), here you go:


Integration Broker's architecture had a major face lift when PeopleTools 8.48 came out. The following lists just some of the changes.

I will be adding more details to this list probably after the long holidays (Holy Week in my country).. I'm just so lazy lately. For now, here's a nifty little table that lists the changes, coutesy of a PDF file from peopletechgroup.com.
(EDIT 1 - Kim 9/2012: This was written at around 4/2012, never gotten around to doing this, guess I'm lazy always, LOL) 

Here's the link to the PDF file.

Just to add, one of the worst changes Oracle made wasa by replacing PUBID with Transaction ID. I'll write more about that sometime this week as well...maybe.
(EDIT 2 - Kim 9/2012: I have this on my drafts folder as well, I'll be posting that some other time. Oh the promises! :))

Thursday, September 20, 2012

Oracle VM and PeopleSoft Templates

So.. lately i've been busy with Oracle VM and making PeopleSoft templates work in Virtual box. it's crazy. Being a tech guy, I prefer creating PS Environments manually. It seems less complicated. It IS less complicated.

I remember seeing this cartoon a while back which shows exactly what Oracle is doing with the PS Template.




Anyway after much fumbling, we finally managed to create an existing PS Environment with matching OEM. We used OVM version 2.2, I'm now fumbling my way to creating another PS environment with OVM version 3.1 (which is completely different from 2.2). Hopefully i can list the steps here so I won't have to go through all the fumbling again when I need to use OVM in the future.

Monday, April 2, 2012

Datamover: Exporting a user and its securities (Roles, etc.)

Using the following Datamover script, you can extract a single user along with its corresponding roles and securities to a flat file:

SET OUTPUT C:\Refresh\USEREXPORT.DAT;
SET LOG C:\Refresh\USEREXPORT.LOG;


EXPORT PSOPRDEFN WHERE OPRID='userid';
EXPORT PSOPRALIAS WHERE OPRID='userid';
EXPORT PSROLEUSER WHERE ROLEUSER='userid';
EXPORT PSUSERATTR WHERE OPRID='userid';
EXPORT PSUSEREMAIL WHERE OPRID='userid';
EXPORT PSUSERPRSNLOPTN WHERE OPRID='userid';
EXPORT PS_ROLEXLATOPR WHERE ROLEUSER='userid';
EXPORT PS_RTE_CNTL_RUSER WHERE ROLEUSER='userid';



The out put would be in the .DAT file you have specified above and you can use this file as your input when importing the user back to the database.



Importing a single user from Backup flat file:


Note: You cannot use a where clause when importing from a flat file (.DAT)
hence, it is not possible to load a single user from backup directly.


Scenario: Your PeopleSoft environment just had a database refresh. The delivered userexport.dms script was used to backup the original user accounts.

Issue: After the refresh, you noticed that a specific user that existed in the original database is missing from the newly refreshed database.

Solution: You may follow the steps below to extract only the missing user account and its securities. In this example, we will be utilizing the script mentioned above.

1. Backup the user accounts in your current database using the userexport.dms script. Make sure that you do not over-write the pre-refresh user backup.
2. Load the pre-refreshed user backup ny running the userimport.dms script.
3. Run the export script above to export the desired user account only.
4. Import the backup created in step 1 to restore the current users.
5. Run the script below to import the user you've extracted in step 3.

SET INPUT C:\location\of\your\backup\in\step3.DAT;
SET LOG C:\location\of\your\logfile.LOG;

SET  UPDATE_DUPS;

IMPORT *;

PS: This script was used on a PeopleTools 8.46 with MS SQL Database environment.

Monday, March 26, 2012

Restarting a single PSAPPSRV process

Is your PeopleSoft Environment experiencing memory leak? The steps below would be usefull when recycling a single PSAPPSRV process, removing the need to bring down the entire application server.


Make sure that you kill and reboot a single PSAPPSRV process at a time!

The steps below is for a UNIX box:

1. Type the command below to check which PSAPPSRV process is eating up alot of memory:
  ps -ef | grep PSAPPSRV
2. Get the number beside hte -i parameter.
3. Navigate to your PSADMIN and go to the tuxedo command line.
4. type the following to kill this PSAPPSRV process:
  shutdown -g APPSRV -i <#>
5. Reboot this PSAPPSRVprocess:
  boot -g APPSRV -i  <#>

==========


The steps below is for Windows server 2008 box:

1. Open task manager.
2. Click on View > Select Columns. Check "command line" and OK as shown below;



3. On your Task Manager, Sort your window by high memory consumption and highlight the top PSAPPSRV.exe process.
4. From the command line tab, select the value next to the -i parameter of this offending PSAPPSRV.exe process.
5. Navigate to your PSADMIN and go to the tuxedo command line.
6. type the following to kill this PSAPPSRV process:
  shutdown -g APPSRV -i <#>
7. Reboot this PSAPPSRVprocess:
  boot -g APPSRV -i  <#>

Sunday, March 25, 2012

Upgrading MicroFocus for COBOL

Requirement: To upgrade the existing Microfocus 4.0SP2 to Microfocus 5.0 WP4. After the upgrade, MS 4.0SP2 Runtime license will still be loaded as this is still being used by an older version of PS (8.47). The compiler will now use MS 5.0, COBOLs compiled on this version can still run with MS 4 as this is backwards compatible. License used is the same with what was previously used for MS 4.


The upgrade was done on a Sun Solaris environment, where there are separate boxes for the application server and the process scheduler. The compiler will be installed on the process scheduler server only, while the runtime license will be installed on both boxes.



Applies toStepsDetails/CommentsCommand
N/AAcquire ULP
( ps-sx-auto.tar )


email licensecodes_ww@oracle.com  with the following details:

Full Company Name:  
CSI:                             
Order:                         
Purchase Order #:

 
Application Server, PSUNX ServerUpload installers to serversupload ps-sx-auto.tar and SX50_WP4_sun_sparc_dev.tar to /opt/software/peoplesoft/thirdparty/Microfocus/MF5.0 of Application Server and PSUNX Server 
PSUNX ServerShutdown mflm_manager if still running sudo su - root
COBDIR=/opt/microfocus/4.0SP2;export COBDIR
cd /opt/microfocus/4.0SP2/mflmf
ps -ef | grep mflm_manager
./lmfgetpv k
 
  To verify if license manager is shutdown ./lmfgetpv
Application Server, PSUNX ServerBack up old installation cd /var
mv mfaslmf mfaslmf.bak.<yyyymmdd>
cd /tmp
mv ULP ULP.bak.<yyymmdd>
cd /opt/microfocus
mv 4.0SP2 4.0SP2.bak.<yyymmdd>
Application Server, PSUNX ServerInstall micro focus net express 5.0NOTE: This installation is also required by the Application Server servers so ULP could be installed. 
Application Server, PSUNX Server Create new $COBDIR/opt/microfocus $ mkdir 5.0WP4
Application Server, PSUNX Server Transfer SX50_WP4_sun_sparc_dev.tar to new $COBDIRcd /opt/software/peoplesoft/thirdparty/Microfocus/MF5.0
cp -pr
SX50_WP4_sun_sparc_dev.tar /opt/microfocus/5.0WP4
Application Server, PSUNX Server


















 Start installation


 
















cd  /opt/microfocus/5.0WP4
tar -xf SX50_WP4_sun_sparc_dev.tar
rm SX50_WP4_sun_sparc_dev.tar

COBDIR=/opt/microfocus/5.0WP4;export COBDIR
# echo $COBDIR
/opt/microfocus/5.0WP4

./install

Do you want to continue (y/n): y

Do you agree to the terms of the License Agreement? (y/n):
y
Please confirm your understanding of the above reference environment details (y/n):
y
Do you want to make use of COBOL and Java working together? (y/n):
n
Would you like to install LMF now? (y/n):
CHOOSE n FOR APPSERVERS, CHOOSE y FOR DB SERVERS
Enter the directory name where you wish to install License Manager
(Press Enter for default directory /opt/microfocus/mflmf) 
/opt/microfocus/5.0WP4/mflmf
do you wish to create it ? (y/n) 
y
Do you want only superuser to be able to access the License Admin System? (y/n)
n
Do you want license manager to be automatically started at boot time? (y/n)
y
Please enter either 32 or 64 to set the system default mode:
64
Do you wish to configure Enterprise Server now? (y/n):
n
Do you want to install XDB? (y/n):
n
Installation completed successfully.
The COBOL system is ready to use.


chmod 750 mflmf
Application Server, PSUNX Server Validate if mflmf and mfaslmf directoried were createdls  /opt/microfocus/5.0WP4/mflmf
ls /var/mfaslmf
Application Server, PSUNX Server Transfer  ps-sx-auto.tar to $COBDIR/ULPcd $COBDIR
mkdir ULP
cd /opt/software/peoplesoft/thirdparty/Microfocus/MF5.0
cp -pr ps-sx-auto.tar
/opt/microfocus/5.0WP4/ULP
Application Server, PSUNX Server Set variablesCOBDIR=/opt/microfocus/5.0WP4;export COBDIR
COBPATH="/opt/microfocus/5.0WP4/ULP:$COBPATH";export  COBPATH
PATH=${COBDIR}/bin:${PATH}; export PATH
LD_LIBRARY_PATH=$COBDIR/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
Application Server, PSUNX Server Install ULP (Load Runtime License)cd /opt/microfocus/5.0WP4/ULP
tar -xf ps-sx-auto.tar
chmod +x p* (Set execute permission on the scripts and programs)
./psauto64
Application Server, PSUNX Server Verify ULP installation

cd $COBDIR/aslmf
./apptrack
(set an access password, before proceeding)

select 1 to list summary of licenses
verify values
select 9 to exit
Application Server, PSUNX Server Re-install 4.0SP2


 --- install 4.0 SP2 before proceeding --
#  DO NOT install LMF from this version of Server Express  #
#  Since we are going to use the LMF that was installed    #
#  from Server Express 5.0 WP4                             #
Application Server, PSUNX Server Verify ULP installation

Run Time versions should show both
COBDIR=/opt/microfocus/5.0WP4;export COBDIR

cd $COBDIR/aslmf
./apptrack
select 1 to list summary of licenses
verify values
select 9 to exit
PSUNX Server Install Development Licenses (compiler license)

The utility mflmcmd is used for initial install of the Server Express Development License
         It only allows one license to be installed.

         The other utilities that can be used to install Development Licenses are mflicense and mflmadm.
         mflicense and mflmadm are the general purpose utilities used for administering
         Server Express Development licenses.

         So after the initial license is installed with mflmcmd, all subsequent license additions
         and deletions will be done with either mflicense or mflmadm

cd to mflmf directory
./mflmcmd

Micro Focus License Manager Command Line Interface
            --------------------------------------------------
            Select the function you require from the list:
            License Install   - Enter 'I'
            I

            Ready to install license
            Enter the Serial Number part of the License Key:
            <enter serial number>
            Enter the License Number part of the License Key:
            <enter license number>
            License added ok
            Note that the license database cannot be moved, copied,
            or restored without reloading the license keys
PSUNX Server Verify ULP installation

A total of 6 lisences will appear when option 1 (licence list) is selected
cd $COBDIR/aslmf
./apptrack (set an access password, before proceeding)
select 2 to list summary of licenses
verify values
select 9 to exit
PSUNX Server Start License managercd to mflmf directory
./mflmman

ps -ef| grep manager (to verify if license manager is running)
review logs and check for errors (MF-LMF.log)
Application Server, PSUNX Server Verify if new version of Cobol 5.0 is working via test cobol compile

NOTE: To test Application Server/PROD servers, transfer the gnt file then run.
make sure LD_LIBRARY_PATH is setup and include 4.0 libraries:
 LD_LIBRARY_PATH=/opt/microfocus/4.0SP2/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
/opt/microfocus/4.0SP2/lib:/opt/microfocus/5.0WP4/lib:/opt/CA/SharedComponents/lib

cd $COBDIR/bin
./cob -Vup $COBDIR/demo/debug/pi.cbl
Go to $COBDIR/bin and check if executable file pi.gnt is created.

Run pi.gnt via
cobrun ./pi.gnt
Application Server, PSUNX Server Verify if version of Cobol 4.0 is still working via test cobol compile

NOTE: To test Application Server/PROD servers, transfer the gnt file then run.
Note: Set up  LD_LIBRARY_PATH and COBDIR and set them to 4.0 directories first.
COBDIR=/opt/microfocus/4.0SP2;export COBDIR
echo $COBDIR
/opt/microfocus/4.0SP2

cd $COBDIR/bin
./cob -Vup $COBDIR/demo/debug/pi.cbl
Go to $COBDIR/bin and check if executable file pi.gnt is created.

Run pi.gnt via ./cobrun pi.gnt

 

Wednesday, March 21, 2012

UNIX commands

#########
List details of user in unix, with more details compared with listusers
adquery user -CpP <username>


#########
search and replace string in vi mode (editor)
Type in the whole thing, where String1 is the string to be replaced, and string2 is the new string.
:%s#<string1>#<string2>#g


#########
FIND

Find a specific string inside a folder and subfolders:
1. This one displays the file name and the line which contains the string:
find . -exec grep "<String>" '{}' \; -print

2. This one returns a cleaner result, with only the filename and location is returned:
find . -type f|xargs grep -ls "<string>"

#########
The FOR loop - Give a variable a default value so it will never be null
##contents below from http://www.ooblick.com/text/sh/

Quasi-variable constructs
The ${VAR} construct is actually a special case of a more general class of constructs:
${VAR:-expression}
Use default value: if VAR is set and non-null, expands to $VAR. Otherwise, expands to expression.
${VAR:=expression}
Set default value: if VAR is set and non-null, expands to $VAR. Otherwise, sets VAR to expression and expands to expression.
${VAR:?[expression]}
If VAR is set and non-null, expands to $VAR. Otherwise, prints expression to standard error and exits with a non-zero exit status.
${VAR:+expression}
If VAR is set and non-null, expands to the empty string. Otherwise, expands to expression.
${#VAR}
Expands to the length of $VAR.

Tuesday, March 20, 2012

Opening ports for new environment

If you have separate boxes for your applicatoin server, process scheduler and webserver, the following ports would needed to be opened to ensure your environment will boot successfully.

Ports that needed to be opened for a new PeopleSoft environment:

APPSRV 1 <--> WEB 1    APPSRV 2 <--> WEB 1
APPSRV 1 <--> WEB 2    APPSRV 2 <--> WEB 2

PSUNX ->  WEB 1
PSUNX -> WEB 2
PSNT -> WEB 1
PSNT -> WEB 2

http/https ports –   APPSRV -> WEB and PSNT/PSUNX -> WEB (means: http port needs to be opened from appsrv going to webserver etc)
WSL, JSL, JRAD, PSDBGSRV ports –   WEB -> APPSRV
REN_HTTP/REN_HTTPS ports –   APPSRV -> WEB