1 PeopleSoft for the Oracle DBA Session 627 [email protected] .
-
Upload
barrie-hamilton -
Category
Documents
-
view
227 -
download
5
Transcript of 1 PeopleSoft for the Oracle DBA Session 627 [email protected] .
![Page 2: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/2.jpg)
2
Project Overview
HRMS 7.5
Local Swiss Payroll
PeopleTools 7.59
45000 employees (33000 current)
127Gb Data, 147Gb Total DB size
3-tier clients (200-280 concurrent users)
Web clients (20-40 concurrent users)
HRMS 8
Global Payroll
PeopleTools 8.15
All Users via PIA
![Page 3: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/3.jpg)
3
Technical Overview
HP-UX 11 64-bit
Clustered Servers
HP Service Guard
Oracle 8.0.5
PT 7.59
Windows and Web Clients
Oracle 8.1.7.2
PT 8.15.01
PeopleSoft Internet Architecture
![Page 4: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/4.jpg)
4
System Specifications Development System
•HP V-Class, Model E 9000/800CPU: 8RAM: 12 GB
Quality Assurance System•HP V-Class, Model E 9000/800
CPU: 10/10RAM: 8/8 GB
Production System•HP V-Class, Model E 9000/800
CPU: 20/20RAM: 24/10 GB
![Page 5: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/5.jpg)
5
Challenges
Large HRMS implementation Lots of customisations Payroll is a ‘financial’ batch Oracle bugs Performance Problems
![Page 6: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/6.jpg)
6
DBA Team
Good Administrative Practice Performance Tuning
![Page 7: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/7.jpg)
7
DBA Team
Good Administrative Practice Performance Tuning
• logical structure of the database•SQL tuning• I/O and physical structure•Resource contention•Bugs•New Features in Oracle 8.1•Object Sizing
![Page 8: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/8.jpg)
8
Techniques
Who is logged in and what are they doing?
Specification of the data model How to SQL_TRACE PeopleSoft Where does the code come from? Performance Metrics
![Page 9: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/9.jpg)
9
Who is logged in and what are they doing?
Definition of ‘database’ What happens at login
•PT7.5 -v- PT8
Session Registration•2-tier client•Application Server•Other Batches
![Page 10: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/10.jpg)
10
What happens when you connect to PeopleTools 7.x?
Connect=H75D/PS/
EXECUTE :1 := SQLCQR_LOGINCHECK(:2)
SELECT OWNERID FROM PS.PSDBOWNER WHERE DBNAME = ‘H75D’
SELECT OWNERID,TOOLSREL,TO_CHAR(LASTREFRESHDTTM,'YYYY-
MM-DD HH24:MI:SS'), TO_CHAR(LASTCHANGEDTTM,'YYYY-MM-
DD HH24:MI:SS'), SECURITY_OPTION FROM SYSADM.PSLOCK
SELECT VERSION, OPRTYPE, OPERPSWD, ACCESSID, ACCESSPSWD
FROM SYSADM.PSOPRDEFN WHERE OPRID = ‘PS’
Connect=H75D/SYSADM/
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD
HH24.MI.SS."000000"') FROM PSCLOCK
SELECT VERSION FROM PSLOCK
![Page 11: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/11.jpg)
11
What happens when you connect to PeopleTools 8.1?
Connect=GP81O81/PEOPLE/
SELECT OWNERID FROM PS.PSDBOWNER WHERE DBNAME = 'GP81O81'
SELECT OWNERID, TOOLSREL, TO_CHAR(LASTREFRESHDTTM,'YYYY-
MM-DD HH24:MI:SS'), TO_CHAR(LASTCHANGEDTTM,'YYYY-MM-DD
HH24:MI:SS') FROM SYSADM.PSSTATUS
SELECT VERSION, OPERPSWD, ENCRYPTED, SYMBOLICID, ACCTLOCK
FROM SYSADM.PSOPRDEFN WHERE OPRID = 'PS'
SELECT ACCESSID, ACCESSPSWD, ENCRYPTED FROM
SYSADM.PSACCESSPRFL WHERE SYMBOLICID = 'SYSADM1'
Connect=GP81O81/SYSADM/
SET type=2012 program=pstools.exe
SET type=2 OprId=PS
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD-HH24.MI.SS."000000"')
FROM PSCLOCK
Connect=GP81O81/SYSADM/
![Page 12: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/12.jpg)
12
Session Registration
Problem: Everybody connects to the database as ‘sysadm’.
Oracle provides a PL/SQL package•DBMS_APPLICATION_INFO writes string to
sys.v$session.client_info<Operator ID>,<OS user name>,<machine name>,<domain ID>,<program name>
above is PT8.1 string
•eg.PS,david,GO-FASTER-1,PT81,PSSAMSRV.EXE,
•PeopleSoft uses this package from 7.53 (Cobol from 7.54)
![Page 13: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/13.jpg)
13
Session Registration
Windows Client in 2-tier registers by default (7.53)
Application Server configuration parameterEnableDBMonitoring=1
Cobol (from 7.54)
Not used with SQR(from 8.1x) prcsapi.src
![Page 14: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/14.jpg)
14
Session Registration Trigger
When a process is started by the process scheduler it updates its own status • from 6 (initiated)• to 7(processing) •see this from process monitor
•so, place a trigger on this transition•works with Cobol and SQR•does not work with PS/Query-Crystal,
nVision, DBAgents because their status is updated by different application server process - PSSAMSRV
![Page 15: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/15.jpg)
15
Session Registration Trigger Prepends Process Instance to
client_infocreate or replace trigger psprcsrqst_register
before update of runstatus on psprcsrqst for each row
when (new.runstatus = 7 and old.runstatus != 7
and not new.prcstype IN('Crystal','PSJob','Database Agent','nVision-
ReportBook'))
declare
l_client_info varchar2(64);
begin
sys.dbms_appplication_info.read_client_info(l_client_info);
l_client_info:=SUBSTR(TO_CHAR(:new.prcsinstance)||','||
l_client_info,1,64);
sys.dbms_application_info.set_client_info(l_client_info);
exception when others then null;
end;
/
![Page 16: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/16.jpg)
16
Specification of the Data Model
Two Data Dictionaries Default Indexes User Specified Indexes PT8.1: Platform Specific View
definition
![Page 17: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/17.jpg)
17
Tools Table -v- DB Catalogue
Table Description Oracle Table PeopleTools Table
Data Definition
1 row per table/view DBA_TABLESDBA_VIEWS
PSRECDEFN
1 row per column DBA_TAB_COLUMNS PSRECFIELD
1 row per distinct column name PSDBFIELD
1 row per view DBA_VIEWS PSVIEWTEXT
1 row per synonym DBA_SYNONYMS
1 row per index DBA_INDEXES PSINDEXDEFN
1 row per indexed column DBA_IND_COLUMNS PSKEYDEFN
Security
1 row per oprid DBA_USERS(PeopleTools <=7.x)
PSOPRDEFN
Grant for table access DBA_TAB_PRIVS
![Page 18: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/18.jpg)
18
Keys & Indexing
Implied from Record Definition• Key
• Duplicate
• List (not Tools 8)
• Alternate Search
• Descending
User Specified Constraints Suppressing Index build Sparse Indexing
![Page 19: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/19.jpg)
19
Indexes Implied from Record Definition
Key• Duplicate
List (not indexed in Tools 8) Alternate Search Descending
![Page 20: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/20.jpg)
20
Suppressing Index build
In Application Designer•Tools -> Data Administration -> Indexes -
> Change Record Indexes -> Edit Index
![Page 21: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/21.jpg)
21
User Specified Index
![Page 22: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/22.jpg)
22
Descending Key Index Bug
The following parameter must be added to the init.ora of an Oracle 8.1.x instance
BEFORE you build descending key indexes.
EVENT='10612 trace name context forever, level 1’
_ignore_desc_in_index = TRUE
This takes care of several bugs found related to DESC INDEXES (errant ORA-3113s)
![Page 23: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/23.jpg)
23
Constraints
Unique• Implied by Unique Key Indexes
Mandatory/Not Null Referential Integrity?
• There aren’t any!
![Page 24: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/24.jpg)
24
Temporary Tablespaces
Create tablespace ‘ORATEMP’ Alter tablespace TEMPORARY
• can only contain temporary segment
• cannot contain any other object
• no redo logging
• alter temporary tablespace for all users
Don’t do this to PSTEMP
![Page 25: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/25.jpg)
25
Space Management
DDL models Default -v- Override parameters Feeding back reality
![Page 26: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/26.jpg)
26
DDL Models
System-wide default storage options
![Page 27: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/27.jpg)
27
Parameters
PeopleSoft Parameters•Square Brackets
TBNAME, TBCOLLIST, IDXNAME, IDXCOLLIST, TBSPCNAME
User Parameters•** delimited
Delivered (Oracle) INIT, NEXT, MAXEXT, PCT, INDEXSPC, BITMAP
Other possibilites COMPRESS, PREFIX LENGTH, PCTFREE, PCTUSED, NOLOGGING, BUFFER POOL
![Page 28: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/28.jpg)
28
Default -v- Override parameters
Overrides in application designer
![Page 29: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/29.jpg)
29
DDL Model
PSDDLMODELField Name Type Length Attributes Description
STATEMENT_TYPE Nbr 1 Key Statement Type1 = Table2 = Index3 = Unique Index4 = Tablespace
PLATFORMID Nbr 2 Key Platform ID0 = SQLBase1 = DB22 = Oracle3 = Informix4 = DB2/Unix5 = ALLBASE6 = Sybase7 = Microsoft8 = DB2/400
SIZING_SET Nbr 3 Key Sizing Set
PARMCOUNT Nbr 3 Parameter Count
MODEL_STATEMENT Long 0 Model SQL Statement
![Page 30: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/30.jpg)
30
Default Parameters
PSDDLDEFPARMS
![Page 31: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/31.jpg)
31
Record Parameter Overrides
PSRECDDLPARM
![Page 32: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/32.jpg)
32
Index Parameter Overrides
PSIDXDDLPARM
![Page 33: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/33.jpg)
33
Two Data Dictionaries
Compare•Database Catalogue
USER_TABLES, USER_INDEXES•PeopleTools
PSDDLDEFPARMS, PSRECDDLPARM, PSIDXDDLPARM
![Page 34: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/34.jpg)
34
Retrofitting Sizing into PeopleTools 7.5x Data Dictionary
NOT SUPPORTED BY PEOPLESOFT•Possible to copy the sizing information in
USER_TABLES and USER_INDEXES back into the Tools tables
Why is this useful?•An object is rebuilt during an upgrade•Sizing information is preserved
scripts available from•http://www.go-faster.co.uk
![Page 35: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/35.jpg)
35
Retrofitting Sizing into PeopleTools 8.1x Data Dictionary
NOW SUPPORTED BY PEOPLESOFT
•settables.sqr•setindex.sqr
copies database data dictionary value back into PeopleSoft Data Dictionary
• issues on Oracle Global Temporary tables have NULL storage options
resulting in 0 values in PeopleSoft
![Page 36: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/36.jpg)
36
Limitations of the DDL Model
The following object cannot be created by the DDL Model• Index Organised Tables•Partitions•Global Temporary Tables•Clusters
Maintained manually by the DBA outside of PeopleTools•Structure of column list still inside
PeopleTools
![Page 37: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/37.jpg)
37
Tablespaces with Uniform Extent Size
Attribute of Locally Managed Tablespaces from Oracle 8.1
Possible in prior versions if rely on tablespace default storage option
Every segment same size. Every free space also same size Space allocation algorithm will
naturally use up spaces at bottom of tablespace
Less fragmentation No need to coalesce tablespace
![Page 38: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/38.jpg)
38
Global Temporary Tables New Feature in Oracle 8.1 Definition is persistent Content is private & transient to session
•not suitable for on-line processing due to multi-threaded nature of application server
Reduced Redo Logging•unrecoverable•significant I/O reduction
min overhead 80 bytes/row
No Permanent Tablespace space overhead•physically exist in temporary tablespace.
![Page 39: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/39.jpg)
39
Uses for temporary tables It is better to design a process not to
temporarily store large amounts of data in the database in a permanent object in the first place.
Local Swiss Payroll Financial Batches Global Payroll
•Application engine & Cobol make extensive use of temporary working tables.
No High Water Mark issues• table created fresh for every session/transaction
Even faster truncate
![Page 40: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/40.jpg)
40
What is Partitioning?
Logically,•a partitioned table is a still a single table
Physically,•each partition is a separate table.• in a range partitioned table, the partition
in which a row is placed is determined by the value of one or more columns.
Local Index• is partitioned on the same logical basis as
the table.
![Page 41: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/41.jpg)
41
How should Partitioning used in GP?
Largest Result tables range each partitioned on EMPLID to match GP streaming• 1 stream : 1 partition
• Thus each stream references one partition in each result table.
• Only 1 interested transaction per block
• Indexes ‘locally’ partitioned
Partitioning really designed for DSS systems. Only efficient for large tables.• GP_RSLT_ACUM, GP_RSLT_ERN_DED,
• GP_RSLT_PIN, GP_RSLT_PI_DATA
• GP_PYE_PRC_STAT, GP_PYE_SEG_STAT
![Page 42: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/42.jpg)
42
SQL Tracing
Client Batches (AE, SQR) Reports (Crystal, nVision, PS/Query) Tracing with Triggers Where does the code come from
![Page 43: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/43.jpg)
43
SQL Optimisation
SQL_TRACE = TRUE; Embed command Trigger on processes via process
scheduler• PSPRCSRQST
Set trace in session• 2-tier client is multithreaded
• Small Private Application server
![Page 44: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/44.jpg)
44
SQL_TRACE = TRUE;
Initialisation Parameter
TIMED_STATISTICS = TRUE In current session
ALTER SESSION SET SQL_TRACE=TRUE; In another session
EXECUTE sys.dbms_system.set_sql_trace_in_session (<sid>,<serial#>,TRUE);
![Page 45: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/45.jpg)
45
Enabling Client Tracing
![Page 46: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/46.jpg)
46
Typical Trace Output
1-2285 0.861 Cur#1 RC=0 Dur=0.000 COM Stmt=SELECT
VERSION, FIELDVALUE, TO_CHAR(EFFDT,'YYYY-MM-DD'),
EFF_STATUS, XLATLONGNAME, XLATSHORTNAME,
TO_CHAR(LASTUPDDTTM,'YYYY-MM-DD-HH24.MI.SS."000000"'),
LASTUPDOPRID, FIELDNAME, LANGUAGE_CD, EFFDT FROM XLATTABLE
WHERE FIELDNAME = :1 AND LANGUAGE_CD = :2 ORDER BY
FIELDNAME, LANGUAGE_CD, FIELDVALUE, EFFDT
1-2286 0.000 Cur#1 RC=0 Dur=0.000 Bind-1 type=2
length=6 value=ACTION
1-2287 0.000 Cur#1 RC=0 Dur=0.000 Bind-2 type=2
length=3 value=ENG
1-2288 0.111 Cur#1 RC=0 Dur=0.000 COM Stmt=SELECT
VERSION FROM PSLOCK
![Page 47: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/47.jpg)
47
SQLCLEANUP.EXESELECT VERSION,
FIELDVALUE,
TO_CHAR( EFFDT,
'YYYY-MM-DD' ),
EFF_STATUS,
XLATLONGNAME,
XLATSHORTNAME,
TO_CHAR( LASTUPDDTTM,
'YYYY-MM-DD-HH24.MI.SS."000000"' ),
LASTUPDOPRID,
FIELDNAME,
LANGUAGE_CD,
EFFDT
FROM XLATTABLE
WHERE FIELDNAME = :1
AND LANGUAGE_CD = :2
ORDER BY FIELDNAME, LANGUAGE_CD, FIELDVALUE, EFFDT
\
ACTION,ENG
/
![Page 48: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/48.jpg)
48
Application Engine / SQR
What you see in the code is what you get•All PS programs can be traced
![Page 49: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/49.jpg)
49
Trigger for via process scheduler
PSPRCSRQST
create or replace trigger sysadm.set_tracebefore update of runstatus on sysadm.psprcsrqstfor each rowwhen (new.runstatus = 7 and old.runstatus != 7 and NOT new.prcstype IN('Crystal','PSJob', 'Database Agent','nVision-ReportBook') and ...)
)begin sys.dbms_session.set_sql_trace(true);end;/
![Page 50: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/50.jpg)
50
How developers can enable SQL_TRACE
Check the box Only the next execution of this
process is traced • then the box will be unchecked
Log of traced executions
![Page 51: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/51.jpg)
51
Then what happens?
SQL trace is enabled by a trigger When the process terminates, the
trace file is processed with TKPROF Two additional files produced
• i) statements sorted by elapsed execution time
• ii) statements sorted by elapsed fetch time
Top 10 Statements only Execution plans
![Page 52: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/52.jpg)
52
![Page 53: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/53.jpg)
53
Set trace in session
2-tier client is multithreaded Small Private Application server
• EXECUTE sys.dbms_system.set_sql_trace_in_session (<sid>,<serial#>,TRUE);
![Page 54: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/54.jpg)
54
Where does the code come from? Application Engine
•no bind variables - literal values
PS/Query• table aliases A, B, C, A1, B1 …
Panel Processor•mostly upper case SQL
PeopleCode (scroll functions)•upper case select and from clause• lower case where clause with litteral values
SQR •mixed case with bind variable :1, :2 …• three character table aliases
![Page 55: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/55.jpg)
55
Performance Metrics Process Scheduler Table - PSPRCSRQST Trigger to capture history into an archive table
CREATE OR REPLACE TRIGGER SYSADM.psprcsrqst_archive
before delete on SYSADM.psprcsrqst
for each row
begin
insert into SYSADM.ps_prcsrqstarch
(PRCSINSTANCE
, ...
) values
(:new.PRCSINSTANCE
, ...
);
EXCEPTION WHEN OTHERS THEN NULL;
end;
/
![Page 56: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/56.jpg)
56
Summary Identified Sessions Synchronised sizing information in
dictionaries Global Temporary Tables Partitioned Tables Trace individual processes Identify where the SQL comes from Performance Tuning Control index creation without altering
application Performance Metrics/History
![Page 57: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/57.jpg)
57
Questions?
![Page 58: 1 PeopleSoft for the Oracle DBA Session 627 david.kurtz@go-faster.co.uk .](https://reader035.fdocuments.in/reader035/viewer/2022062314/56649dbb5503460f94aac8a5/html5/thumbnails/58.jpg)
58
And there’s more
Configuring Global Payroll for Optimal Performance
Session 527•Wednesday 10.30 - 11.30
Round Table Discussion session 626•Wednesday 15.30 - 16.30•Discuss some areas in more detail.