How to find which temporary table instance used.
How to find which tempory table instance is allocated to a process ?
How to find which tempory table instance is Used/Allocated to a process Instance in peoplesoft ?
It is very useful if we can view the data in the temp table once process ran to Error/No Success / Success.
Usually Peoplesoft starts allocating the temp table instance from 4 (Where Online temp table instance count in the psoptions table is 3) and allocate in order for execution of AE in Parallel.
If the same record is used in the other applicaiton engine programs as well it will be difficult to predict which temp table will be allocated to an Process execution (Process Instance).
Following are ways to find the temp table instance used by a process instance.
1) When process is running - In Process monitor Process Instance - Details > View locks. we can view the locks on the table. It will contain allocated temp table instance.
2) When Process ran to No Success Or Error Or Cancelled the temp table instance allocated to that Process instance will not released so that it can be by other process we can release temp table in the following component.
PeopleTools > Applicaiton Engine > Manage Abends
3) When process has ran to Success and if you need to find the temp table instance used by that process instance you can query record PS_AETEMPTBLMGR
It will give you the Process instance , RECNAME , Temp table instance allocated to that process.
Temporary Table processing failure during allocation phase.
Facing the following error ?
Temporary Table processing failure during allocation phase.
Description: The Application abended due to a problem encountered during the internal housekeeping of Temporary Tables.
The possible failure points are as follows:
C++ memory allocation for adding new temp tables to the existing internal array.
The reason for this error will be mainly due to temp tables which are not built. The no.of instances mentioned in the AE Program properties is more than the actual Physical number of the temp tables in present in the database. During the allocation phase it allocates the next temp table which not existed physically in the data base and will cause the above all problem.
To find the no.of the temp table instances that will be built query this following record
pstemptblcntvw. This will include the table no.of instance count across all the application engine and online temp table instance.
Missing temp table instance can be found by the following query
SELECT r.recname , n.n instance , c.temptblinstances +o.temptblinstances temptblinstances FROM pstemptblcntvw c , psrecdefn r , (SELECT rownum-1 n
FROM psrecdefn WHERE rownum <= 100) n , psoptions o WHERE r.recname = c.recname AND n.n <= c.temptblinstances+o.temptblinstances AND NOT EXISTS( SELECT 'x' FROM user_tables t WHERE t.table_name = DECODE(r.sqltablename, ' ', 'PS_'||r.recname, r.sqltablename) ||DECODE(n.n,0,'',n.n) ) ORDER BY 1,2
%Updatestats not working PeopleSoft
%Updatestats - No Performance change ? %Updatestats - No improvement.
PeopleSoft Application Engine skips %UpdateStats in the following circumstances.
-
A commit is not allowed, as in within an Application Engine program called from PeopleCode.
-
The program issues a non-select SQL statement since the last commit occurred.
In such a situation, data is likely to have changed.
-
You are deferring commits in a Select/Fetch loop in a restartable program.
PeopleSoft Application Engine skips %UpdateStats even if the previous condition is false.
Activating %UpdateStats
%UpdateStats can be disabled by setting the DbFlags application server domain parameter.
This parameter has two values that apply to %UpdateStats:
-
0 – enable %UpdateStats.
-
1 – disable %UpdateStats.
%UpdateStats is enabled by default for NT/2000 and z/OS Process Schedulers.
Enabling/Disabling %UpdateStats for Batch Processing
To enable/disable %UpdateStats for batch processing:
-
Initialize the PSADMIN program on Unix System Services to administer the Process Scheduler PSOS390.
-
Select either Configure a Process Scheduler Server or Edit a Process Scheduler Configuration File.
-
If you select the first option, set the value for DbFlags to 0 to enable or 1 to disable %UpdateStats.
-
If you select the second option, locate the related section in the file and change DbFlags to 0 to enable and 1 to disable %UpdateStats.
-
To fully enable %UpdateStats for COBOL to run on the mainframe (Server PSOS390), you need to modify the program PSPTSQLRT. Note that several lines are delivered commented out in the program.
RunAeAsync failed - PSAESRV
Recently faced an issue in one of the Process Scheduler, PSAESRV service was dying within few seconds the PRCS was started.
Error Found in LOGS: RunAeAsync parameter data validation failed..
Solution:
The problem was with Process definition for one AE program that had been modified to include the trace info. When this was done, the user by mistake selected override from the parameter list drop down instead of append. The result was that the whole parameter list line was replaced with only the trace info, so the program could not run & the program was in the initiated state, this invalid parameter list was causing the above issue.
Once this process was identified & canceled the PSAESRV services was running without any issue.
Tools Version: Version 8.49
Difference Between DBMS_STAT and ANALYZE
The advantage of DBMS_STAT is
- easier to automate
- can analyze external tables.
- can gather system statistics ( 9i onwards )
- DBMS_STATS gathers statistics only for cost-based optimization; it does
not
gather other statistics. For example, the table statistics gathered by
DBMS_STATS include the number of rows, number of blocks currently containing
data, and average row length but not the number of chained rows, average
free space, or number of unused data blocks.
ANALYZE calculates global statistics for partitioned tables and indexes
instead
of gathering them directly. This can lead to inaccuracies for some
statistics,
such as the number of distinct values. DBMS_Stats won't do that.
People code has a meta tag that can be used to update the stats on the record which will improve the performance of the record.
For Oracle Database.
%UpdateStats - It will expand to DBMS_STATS.GATHER_STATS. This can be used in the Application Engine and COBAL
%UpdateStats(record name ,[HIGH/LOW])
Default is LOW.
pecifying LOW produces the statement
execute DBMS_STATS.GATHER_TABLE_STATS (ownname=> 'PT8468908', tabname=>'PSSTATUS', estimate_percent=>20, method_opt=> 'FOR ALL INDEXED COLUMNS SIZE 1',cascade=>TRUE)
Specifying HIGH produces the statement
execute DBMS_STATS.GATHER_TABLE_STATS (ownname=> 'PT848908', tabname=>'PSSTATUS', estimate_percent=> dbms_stats.auto_sample_size, method_opt=> 'FOR ALL INDEXED COLUMNS SIZE 1',cascade=>TRUE)
Oracle has an implicit commit after the %UpdateStats statement executes.
PeopleSoft Component Versions
Below post will help you determine the versions of Various components in PeopleSoft...
People Tools 1. Change directory to $PS_HOME/appserv 2. Run the following command to check the peopletools version $ ./psadmin –v Note: PS_HOME – Where the tools is installed… |
Tuxedo 1. Run the following command to check the TUXEDO version tmadmin -v Alternate Method 1. Login into the Box. 2. Change directory to $TUXDIR/udataobj 3. Check the lic.txt for tuxedo version. |
Weblogic 1. Change directory to $BEAHOME/wl* 2. Check file registry.xml for weblogic version Note: BEAHOME – Where the weblogic is installed… |
Jrockit 1. Change directory to $BEAHOME/wl*/jrockit*/jre/bin 2. Run the following command to get the Jrockit version $ ./java –version Note: BEAHOME – Where the weblogic is installed… |
JRE 1. Change directory to $PS_HOME/jre/bin 2. Run the following command to get the JRE version $ ./java –version Note: PS_HOME – Where the tools is installed… |
Note: This might not be applicable for few version of the components...
PeopleSoft Timeout Settings
Sharing Some of Timeout Settings PeopleSoft 8.4x here...
## WEB SERVER
session-timeout [web.xml]: Determines the time period that can elapse before the web server (WebLogic or WebSphere) will remove the HttpSession.
## APPLICATION SERVER
JOLT Listener / Client Cleanup Timeout [psappsrv.cfg]: The inactive interval permitted for the server-side JoltSession.
JOLT Listener / Init Timeout [psappsrv.cfg]: The amount of time allowed for the JSL process to start.
Workstation Listener / Client Cleanup Timeout [psappsrv.cfg]:The inactive interval permitted for the server-side Workstation Listener Session.
Workstation Listener / Init Timeout [psappsrv.cfg]: The amount of time allowed for the WSL process to start.
Service Timeout for each server process [psappsrv.cfg]: The time period permitted for the service to run in the process in question.
## WEB PROFILE
Inactivity Warning: Specify the number of seconds the portal should wait before warning users that their browser session is about to expire.
Inactivity Logout: Specify the value in seconds of the inactivity timeout interval that applies to the PeopleSoft application for which the user is currently authenticated.
PeopleSoft Ping
The PeopleSoft Ping feature collects timestamps by sending a specific page to different tiers of the PeopleSoft system, starting at the browser, then going to the web server, the application server, the database and back. The timestamps that are collected are total time elapsed for the round trip, and arrival and departure time at each of the tiers.
PeopleTools -> Utilities -> Peoplesoft Ping
CA Showing the SID correctly but the description is wrong...
Sometimes when we configure CA, we see that CA Showing the SID correctly but the description is wrong...in such case to ensure we can check the following link in PIA..
PeopleTools -> Utilities -> PeopleTools Options
Environment Long & Short Name will be displayed here, CA displays the same value shown here when we configure CA while applying patches by giving the Access ID & User ID details...