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.