Thursday, May 1, 2014

Tablespace error while migrating objects from Peoplesoft domain with Server Server DB to Oracle using PS tools

Issues : Error while building custom records migrated from domain with Sql server as backend to other domain with oracle db in app designer

Error : Table space name is required for this platform(76,44)


Solution :
Error was obvious as we had migrated the custom records from Peoplesoft domain having sql server as backend to new domain with Oracle.
As Sql server does not support tablespace whereas Oracle does so it expected table space to be assigned to records while building them.
To resolve it we had to update DDLSPACENAME field with PSDEFAULT tablespace (which is mostly a default tablespace for sysadm user but it can vary) in PSRECTBLSPC against all custom records which are needed to be built.
Usually delivered records are database independant hence they do have corresponding tablespace assigned to them in PSRECTBLSPC hence this issue is not applicable for delivered records.

Same issue is expected when you migrate the records using data mover.
You are likely to get similar tablespace error when you will be performing import of exported custom records data.
in that case it is advisable to update the PSRECTBLSPC table in source before performing export of data.





Friday, March 28, 2014

TableSpace issue while adding new record definition in App Designer

Issue : TableSpace dialog box gets popped up while trying to save Record containing subrecord, Field etc. where backend is Sql Server.



Solution : Disable Platform compatibility mode under PeopleTools->PeopleTools Options and Retry

Platform Compatibility Mode
Enables you to add the capability to set a database compatibility mode as an overall database setting, forcing developers to create applications by using all platforms as the least common denominator. This option enables developers, who create applications for multi-platform deployment, to catch platform-specific issues at design time rather than during testing.

Note. This option is used mainly by PeopleSoft development teams that need to develop applications to run on all supported database platforms. To support numerous database platforms, PeopleSoft needs to have a tablespace for each physical table record definition.

If platform compatibility is enabled for a database, the system forces developers to enter a tablespace name when saving a record definition regardless of the current platform. If this option is disabled, you are only prompted for a tablespace name if you are developing on a platform that utilizes tablespaces. This prevents table record definitions being added to the database without a tablespace name.

Tuesday, January 28, 2014

Find PeopleSoft navigation by Component name

SELECT a.PORTAL_NAME || '->' || f.PORTAL_LABEL || '->' || e.PORTAL_LABEL
|| '->' || d.PORTAL_LABEL || '->' || c.PORTAL_LABEL || '->' || b.PORTAL_LABEL
|| '->' || a.PORTAL_LABEL FROM PSPRSMDEFN a
LEFT JOIN PSPRSMDEFN  b ON b.PORTAL_NAME = a.PORTAL_NAME
AND b.PORTAL_OBJNAME = a.PORTAL_PRNTOBJNAME
LEFT JOIN PSPRSMDEFN  c ON c.PORTAL_NAME = b.PORTAL_NAME
AND c.PORTAL_OBJNAME  = b.PORTAL_PRNTOBJNAME
LEFT JOIN PSPRSMDEFN  d ON d.PORTAL_NAME = c.PORTAL_NAME
AND d.PORTAL_OBJNAME  = c.PORTAL_PRNTOBJNAME
LEFT JOIN PSPRSMDEFN  e ON e.PORTAL_NAME = d.PORTAL_NAME
AND e.PORTAL_OBJNAME  = d.PORTAL_PRNTOBJNAME
LEFT JOIN PSPRSMDEFN  f ON f.PORTAL_NAME = e.PORTAL_NAME
AND f.PORTAL_OBJNAME = e.PORTAL_PRNTOBJNAME
WHERE a.PORTAL_REFTYPE = 'C'
AND a.PORTAL_URI_SEG2 = "EnterComponentName";

Tuesday, December 24, 2013

OpenSSH keys setup for password less authentication for ssh, sftp, scp etc.

Make OpenSSH keys for password less authentication for ssh, sftp, scp etc.

Create OpenSSH keys as a user.

1. Please Log in to source server (SOURCE1) as the user (pniraj) you will be using the keys for.
2. Check to see if there is a public key there already:
SOURCE1>$/home/pniraj>cd .ssh
SOURCE1>$/home/pniraj/.ssh>ls -al
total 48
drwx------   2 pniraj   pnirajgrp        256 Mar 21 23:50 ./
drwxr-xr-x  11 pniraj   pnirajgrp       8192 Mar 21 13:39 ../
-rw-r--r--   1 pniraj   pnirajgrp        796 Mar 22 10:04 authorized_keys
-rw-------   1 pniraj   pnirajgrp       1671 Mar 21 23:50 id_rsa
-rw-r-----   1 pniraj   pnirajgrp        399 Mar 21 23:50 id_rsa.pub
-rw-r--r--   1 pniraj   pnirajgrp       2014 Mar 22 09:44 known_hosts

Important Note: if files id_rsa, id_rsa.pub exists then do not generate new keys

3. Only if the .ssh directory does not exist, or if the the file id_rsa and id_rsa.pub do not exist, then type “ssh-keygen” and accept the defaults. No need to type a password.

SOURCE1>$/home/pniraj> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pniraj/.ssh/id_rsa):
Created directory '/home/pniraj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pniraj/.ssh/id_rsa.
Your public key has been saved in /home/pniraj/.ssh/id_rsa.pub.
The key fingerprint is:
0f:21:c9:70:be:9a:36:fa:e1:04:4a:ea:5e:6f:98:63

4. This will create your key files
SOURCE1>$ ls -l
total 24
-rw-------   1 pniraj staff          1671 Feb 24 15:40 id_rsa
-rw-r--r--   1 pniraj staff           398 Feb 24 15:40 id_rsa.pub

5. Use cat to get your public key.  Note: this is a single line, may not look like it, but it is and has to be.

/home/pniraj>$cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4XPgwlGdU5WBkNwUw2TzESY1jw9brCO33h5Lh306c5U/HGXHmM9ReKs9Cwqm5BAX2+qYNjxWAKSXb2+O18zrcGTY+gDWc/XaKovmCsHEeOq8JIteW6yf2BrKo0OfX4I8cPNgY2xHyplD86GOis026d0zxA6KJz6EZf1zllXzG+IVapkemc/QeLRiE89GMKqnwKZieez69Y+6PpT5KwQTomaXWjCRBQgpsEiIhOfAFs8q1TxibUbppoeM3jMj5M0sWG52Q== pniraj@SOURCE1

6. This text has to be copied in to a file called authorized_keys in the users ~/.ssh directory on the target server TARGET1.

7. Connect to the target server TARGET1 as the same user pniraj.
SOURCE1> ssh TARGET1
The authenticity of host 'TARGET1 (10.6.5.92)' can't be established.
RSA key fingerprint is 63:fe:10:d1:7a:43:65:e0:35:cf:eb:79:41:45:a4:e7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'TARGET1,10.6.5.92' (RSA) to the list of known hosts.
pniraj@TARGET1's password: (type in the users password here)

8. Again test to see if a public key exists:
TARGET1>$cd .ssh
TARGET1>$ls -al
total 48
drwx------   2 pniraj   pniraj        256 Mar 21 23:50 ./
drwxr-xr-x  11 pniraj   pniraj       8192 Mar 21 13:39 ../
-rw-------   1 pniraj   pniraj       1671 Mar 21 23:50 id_rsa
-rw-r-----   1 pniraj   pniraj        399 Mar 21 23:50 id_rsa.pub
-rw-r--r--   1 pniraj   pniraj       2014 Mar 22 09:44 known_hosts

9. Again only if the .ssh directory does not exist, or if the the file id_rsa and id_rsa.pub do not exist, then type “ssh-keygen” and accept the defaults. No need to type a password.

10. Change directory to ~/.ssh
TARGET1>$ cd ~/.ssh
TARGET1>$ pwd
TARGET1>$/home/pniraj/.ssh

11. Cat the id_rsa.pub file to get the public key from SOURCE1 server
Paste that key in the authorized_keys file from step 5 on Target TARGET1 server. Be sure that it is all on one line and there are no blanks lines following the key. The rule is one key per line.
SOURCE1>cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4G8HtHKwRSN2dWYv9/lpUBNjPrR7Pw2BJ5Mxraq2Pa3mZsLzO6pXSq/tBVN/s9upEe0T8LIZJJ9M40FR0RDncB5yXwW6T+dML+1bIlcag31o8OMqBS1+6VR
+sONgnWYSFiIJ2RyVHcZVd4GIDhSFdTb4/qNZ804is4rNS2AkRvo30VvhB3QVTFuGOO1rdBNnBv8WqhwvYmgFKQJQtcNEQGepKYrvp8U7PjrEJjhGvUdX+TBl1l3saYJub7UB42cAM+INpaZeIscT/Ujtgj3l727O3jPx7ed7STsNb/WshrKc2+N6R/UF74tkpdAzzAG4t4WXvA4iSdqeS98olTsAjQ== pniraj@SOURCE1

TARGET1>vi authorized_keys
(you can use your favorite editor here, when done you should be able to see the new key in the file cut and paste in the key from `cat id_pub.rsa)

TARGET1>cat authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6I0tmsbDh7o7uDDvg/IQYODVT48xEfh1LKQULiPq4CpXknMF+nDDm6Yb63z6jF6rPrQkUIOLCQzWh7erR2JvdWjH94UBQrsoAGJJKuEp9lnedOd7OPG17Ao3n+BXsk4AsaeehJTuZV4iKPq0qRSGbdNNrCaYzkv== pniraj@ABCD2
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxAX0SBOYI30xo46Mutf1r/Izv8oaDMaBKjP+DU03krZsvVrQ220ttkQGwdsTxn0/NmYgTrw+n01PYOsBgygiPplTaf+8K5CrEJJpYDQ34Fmsc9z+H7bR9/ciWGhFElVF65fu0v+QjBAiocheokYWnfAo24GEkJtHd3v/BA/ITNbxL9zCONA+C9RcQ== pniraj@TARGET1
ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAQEA4G8HtHKwRSN2dWYv9/lpUBNjPrR7Pw2BJ5Mxraq2Pa3mZsLzO6pXSq/tBVN/s9upEe0T8LIZJJ9M40FR0RDncB5yXwW6T+dML+1bIlcag31o8OMqBS1+6VR
+INpaZeIscT/Ujtgj3l72N6R/UF74tkpdAzzAG4t4WXvA4iSdqeS98olTsAjQ== pniraj@SOURCE1

12. Save the authorized_keys file

13. OpenSSH is very picky about permissions of files and directories.  Make sure that the  authorized_keys file has the correct permissions:
TARGET1>$chmod 644 authorized_keys
Make sure .ssh directory has correct permissions
TARGET1>$ls -ald .ssh
drwx--S---   2 pniraj   pniraj        256 Mar 22 02:38 .ssh
TARGET1>$chmod 0700 .ssh
TARGET1>$ls -ald .ssh
drwx------   2 pniraj   pniraj        256 Mar 22 02:38 .ssh
Finally make sure the users home directory has the proper permissions
TARGET1>$pwd
/home1/dmlprd173/pniraj
TARGET1>$ls -ald .
drwxr-sr-x   4 pniraj   pniraj       4096 Mar 23 11:32 .
TARGET1>$chmod 0755 /home1/dmlprd173/pniraj
TARGET1>$ls -ald .
drwxr-xr-x   4 pniraj   pniraj       4096 Mar 23 11:32 .

Logout of the TARGET1 server.

14. Now, back on the source server,  login as the same user pniraj, type “ssh TARGET1”. You will be asked to verify the identity of the server since it is the

first time connecting using openssh, answer yes to the question, you should only have to do this only once.

SOURCE1> ssh TARGET1
The authenticity of host 'TARGET1 (10.6.5.92)' can't be established.
RSA key fingerprint is 63:fe:10:d1:7a:43:65:e0:35:cf:eb:79:41:45:a4:e7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'TARGET1,10.6.5.92' (RSA) to the list of known hosts.

$ That's all you can connect to TARGET1 server from SOURCE1 server without entering a password now on.
If you want to make the reverse password less connectivity(TARGET1 to SOURCE1) then just add TARGET1 server's public key to SOURCE1 server's authorized_keys file.

15. That’s all. Repeat for any additional hosts.

Saturday, May 4, 2013

Report posting issue for longer output files

Issue : Process completes successfully but fails to post the output files having filename length more than 80 chars. Other processes have no issue in posting reports.(PT8.52 , WL10gR3)


Error : No specific errors were reported other than few usual java exceptions in weblogic & stderr logs.

Solution : One of our processes whose output files were like
(ctl_CD_PAY_LEND_NIRAJ_2012_5_12_12_25_65SYN7453623_Input_file_COO18_PAYMENT1.csv.ctl
i.e. the length of filenames is pretty longer and turned out to be the real cause of this error.

on analysis It is found that the output filename size exceeds the default limit of 80 characters required in the PeopleSoft Delivered table PS_CDM_FILE_LIST.

desc PS_CDM_FILE_LIST
Name             Null?    Type
---------------- -------- ---------
PRCSINSTANCE     NOT NULL NUMBER(38)
CONTENTID        NOT NULL NUMBER(15)
FILENAME         NOT NULL VARCHAR2(80)
CDM_FILE_TYPE    NOT NULL VARCHAR2(10)
FILE_SIZE        NOT NULL NUMBER(10)
DTTM_CREATED              TIMESTAMP(6)

Hence for that particular Process Instance# none of the output files could get posted.

Suggestion:
Either developers should specify filename length lesser than allowable length
or
As a last option increase limit specified in delivered table PS_CDM_FILE_LIST.

Note : the later option has not been tested.

Thursday, December 27, 2012

PS Integration Broker's backend tables


PS IB Gateway Tables

PSGATEWAY
PSCONN
PSNODECONPROP
PSCONNPROP
PSCONNPROPIDVW
PSCONPROPNAMEVW
PSCONPROPVALVW
PSCONPROPDATAVW

IB Routings Tables

PSIBRTNGDEFN
PSRTNGDFNCONPRP
PSRTNGDFNPARMVW
PSRTNGDFNPROP
PSRTNGDFNPARM
PSIBRTNGDEFN

IB Services

PSAUTHWS
PSSERVICE
PSIBWSDL
PSOPRVERDFN
PSIBMSGSERV_VW
PSIBRTNGSERV_VW
PSOPERATION
PSSERVICEOPR_VW
PSOPRVERDFNPARM
PSOPERATIONAC
PSHUBNODEVW
PSIBRTNGDEFN
PSRTNGDFNPARM
PSRTNGDFNCONPRP
PSOPRGENRTGPARM0

IB Queues

PSQUEUEDEFN
PSOPRVERDFN
PSOPRVERDFNPARM
PSSRVQUEUE_VW

IB Message Defs

PSMSGVER
PSMSGDEFN
PSMSGPARTS
PSMSGPARTS_VW
PSOPRVERDFNM_VW

IB Nodes

PSMSGNODEDEFN
PSNODECONPROP
PSNODEURITEXT
PSIBRTNGDEFN
PSNODEPROP
PSMSGATTR

IB Message Schemas

PSIBMSGSCHEMA
PSIBSCMADFN
PSIBSCMADATA

IB Connectors

PSCONN

IB Messages

PSCONPROPVALVW
PSCONNPROPIDVW
PSNODEVW
PS_AMM_ARCH_PUB
PSAUTHWS_VW
PSAUTHWS_VW1
PSAUTHWS_VW2
PSIBUSERCOMP

PSCONTNAMEVW
PSCODESETGROUP
PSCONNGATEWAYVW
PSCONNIDVW;

IB Handlers

PSOPRHDLR;

Monday, November 19, 2012

PSOFT : Steps to Apply application update(Patch/Bundle/MP) using Change Assistant with ScreenShots.

1. Stop PSEMAgents(if running) on Unix and NT servers.



    Similarly Stop Agents on NT

2.  Clear Cache

To Clean up the PSEMHUB data you also need to ensure that you delete data from all the Agents and the Peers, you cannot just delete data from the PSEMHUB server.

You need to perform this cleanup on all Agents, Change Assistant (CA), Viewer and HUB, that  will reinitialize everything for you. 

Make sure you stop the Agents, CA, Viewer, HUB before you delete these files or directories. After that you can restart them.    

I) For Agents, Viewer and Change Assistant:

Delete the files in the following directories,  under PS_HOME\PSEMAgent for Agents, under PS_HOME\PSEMViewer for the Viewer and under the Change Assistant directory for Change Assistant.

envmetadata/PersistentStorage/
envmetadata/scratchpad
envmetadata/data/ids/
envmetadata/transactions/ (if it exists)
envmetadata/data/search-results.xml (just for Agents and CA)

II) For HUB

Delete the files in the following directories under PS_HOME\webserv\peoplesoft\applications\peoplesoft\PSEMHUB

if your domain name is not 'peoplesoft' then change the above directory accordingly.

PSEMHUB\envmetadata\scratchpad\
PSEMHUB\envmetadata\PersistentStorage\
PSEMHUB\envmetadata\transactions\ (if it exists)
PSEMHUB\envmetadata\data\*.* (files and directories.don't delete the data directory itself)

III) Repeat the same procedure to delete cache files in NT servers for CA and PSEMHUB

3. Configure CA & Start Agents on Unix & NT.

Before starting with Change Assistant edit the Configuration. Properties file at below locations accordingly.

(Note : Enter  App server & web server port
Keep default agent port same : 5283
Enter drive letter for windowsdrivestocrawl & path for unixdrivestocrawl where you have PS_HOME installed. Keep rest of the values intact)
@ PSEMAgents =>$PS_HOME\PSEMAgent\envmetadata\config
@ PSEMViewer =>$PS_HOME\PSEMViewer\envmetadata\config
@ PSEMHUB=>
$PS_HOME\webserv\<domain>\applications\peoplesoft\PSEMHUB.war\envmetadata\config
@Change Assistant =>
C:\Program Files\PeopleSoft\Change Assistant\envmetadata\config

Start the PSEMagent @ $PS_HOME\PSEMAgent

 


You check the status of all running PSEMAgents for this domain at below link:
http://AppServer:httpPort/PSEMHUB/hub

( If Agents don’t start well then below are fixes :
  You may get this error :
  ERROR main EMF_CATEGORY - Error while connecting to 'http://ftc-avpsfapp204:8060/PSEMHUB/hub'.
  ERROR main EMF_CATEGORY - Error: Internal Exception: - Error registering peer
  ERROR main EMF_CATEGORY - Error while connecting to server - retrying attempt 105
  Then try these fixes

  1. Update PSOPTIONS set GUID=’ ‘ and then bounce apps/webserver and try again
  Or
  2. This could be due to corrupted PIA/Hub installation or a corrupted Weblogic installation.
      So you can reinstall PIA / Psemehub or reinstall Weblogic and then try )
  
4.  Create new directories as below & Place MPs zip file downloaded from oracle support site inside download folder.(if you extract zip file contents then CA may not be able to identify .xml info files).











5. Make changes in Tools->Options as below
(select “Perform Application update->check the box for enable server processing” to be able to modify Remote agent fields and then select apply application update back again)

 

6. Goto Environment Management Tab and enter host, http port.
Ping and view.

 
  
You should get such output. If you dont get Yes for all 4 components then go and check the configuration.properties files for drives to crawl.



7. Click on Tools->Apply Change packages































9. Click on Validate Now:


10.

Start Executing individual steps now





25. Check Change assistance guidance manual on Oracle support for help on CA operations.

26. Once all steps are completed. 
Clear application Server & Web server cache. Bring up all PS components.

Note : To check latest applied updates check PS_MAINTENANCE_LOG table.

MP/Patch/Bundle applied successfully…Congrats!!!

-------------------------------------------------------------------------------