Title: PeopleSoft for the DBA
1PeopleSoft for the DBA
- David Kurtz
- Go-Faster Consultancy Ltd.
- david_at_go-faster.co.uk
- www.go-faster.co.uk
2DBA Issues
- Connectivity
- Two Data Dictionaries
- Keys Indexing
- Tablespaces (Oracle)
- Space Management (Oracle)
- SQL Optimisation
- Rollback Segments (Oracle)
- Backup Considerations
- Performance Metrics
3Connectivity
- What happens when you connect
- Usage of the word database
- Security
- Tracing
- PS/Query, Crystal ODBC
4What happens when you connect?
5What happens when you connect?
- ConnectH75D/PS/
- EXECUTE 1 SQLCQR_LOGINCHECK(2)
- SELECT OWNERID FROM PS.PSDBOWNER WHERE DBNAME
H75D - SELECT OWNERID,TOOLSREL,TO_CHAR(LASTREFRESHDTTM,'Y
YYY-MM-DD HH24MISS'), TO_CHAR(LASTCHANGEDTTM,'YY
YY-MM-DD HH24MISS'), SECURITY_OPTION FROM
SYSADM.PSLOCK - SELECT VERSION, OPRTYPE, OPERPSWD, ACCESSID,
ACCESSPSWD FROM SYSADM.PSOPRDEFN WHERE OPRID
PS - ConnectH75D/SYSADM/
- SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD
HH24.MI.SS."000000"') FROM PSCLOCK - SELECT VERSION FROM PSLOCK
6What happens when you connect?
7What happens when you connect?
- ConnectH75D/PS/
- COM StmtEXECUTE 1 SQLCQR_LOGINCHECK(2)
- Bind-1 type18 length2 value0
- Bind-2 type2 length254 value
- StmtSELECT OWNERID FROM PS.PSDBOWNER WHERE
DBNAME 1 - Bind-1 type2 length4 valueH75D
- StmtSELECT OWNERID,TOOLSREL,TO_CHAR(LASTREFRESHDT
TM,'YYYY-MM-DD HH24MISS'), TO_CHAR(LASTCHANGEDTT
M,'YYYY-MM-DD HH24MISS'), SECURITY_OPTION FROM
SYSADM.PSLOCK - StmtSELECT VERSION, OPRTYPE, OPERPSWD, ACCESSID,
ACCESSPSWD FROM SYSADM.PSOPRDEFN WHERE OPRID 1 - Bind-1 type2 length2 valuePS
- Disconnect
- ConnectH75D/SYSADM/
- StmtSELECT TO_CHAR(SYSDATE,'YYYY-MM-DD
HH24.MI.SS."000000"') FROM PSCLOCK
8Usage of the word database
- It is possible to have many PeopleSoft
databases in a single Oracle database - Each PeopleSoft database resides in a single
schema. - Different PS databases have different schema.
- Not recommended for Oracle - Users in common
between databases must have same passwords
9Usage of the word database
- It is possible to have many PeopleSoft
databases in a single SQL Server - Limited to one SQL Server per NT machine.
- Different databases can exist in different SQL
Server databases within the same sever. - Same problem with users in common, they must
share the same password
10Security
- PS database usually owned sysadm or sa
- root, sys, system
- The password to this account is the key to the
kingdom.
11Tracing
- Tracing administered via configuration manager
- i.e.. via registry
12PS/Query, Crystal ODBC
- PS ODBC driver
- Only defined PS/Queries can be seen
13Two Data Dictionaries
- Database Data Dictionary
- PeopleSoft Data Dictionary
- DDDAudit
- SYSAudit
14Tools Table -v- DB Catalogue
15Audit Reports
- DDDAUDIT
- Compares data dictionaries (not columns)
- SYSAUDIT
- Referential Integrity of Tools Tables
- Remedies in PeopleBooks
16Keys Indexing
- Implied from Record Definition
- Key
- Duplicate
- List (not Tools 8)
- Alternate Search
- Descending
- User Specified
- Constraints
- Suppressing Index build
- Sparse Indexing
17Implied from Record Definition
- Key
- Duplicate
- List (not Tools 8)
- Alternate Search
18Field Attributes
19Key (Duplicate)
20Alternate Search
21List (not Tools 8)
22Descending Keys
23Search Dialogue
- SELECT DISTINCT DEPTID, DESCR, COMPANY, LOCATION
- FROM PS_DEPT_TBL
- WHERE DEPTID LIKE 10
- ORDER BY COMPANY, DEPTID
24Search Dialogue
25User Specified
26Constraints
- Unique
- Implied by Unique Key Indexes
- Mandatory/Not Null
- Referential Integrity?
- There arent any!
27Suppressing Index build
28Sparse Indexing (Oracle)
29Tablespaces (Oracle)
- Installation Scripts
- Temporary Tablespaces
30Temporary 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
- Dont do this to PSTEMP
31Space Management (Oracle/DB2)
- DDL models
- Default -v- Override parameters
- Feeding back reality
32DDL Models
- System-wide default storage options
33Parameters
- PeopleSoft Parameters
- Square Brackets
- TBNAME, TBCOLLIST, IDXNAME, IDXCOLLIST, TBSPCNAME
- User Parameters
- delimited
- Delivered (Oracle) INIT, NEXT, MAXEXT, PCT,
INDEXSPC
34Default -v- Override parameters
- Overrides in application designer
35How is the DDL/Overrides stored?
- Space Model
- Default Parameters
- Record Index Parameter Overrides
36DDL Model
37Default Parameters
38Record Parameter Overrides
39Index Parameter Overrides
40Two Data Dictionaries
- Compare
- Database Catalogue
- USER_TABLES, USER_INDEXES
- PeopleTools
- PSDDLDEFPARMS, PSRECDDLPARM, PSIDXDDLPARM
41SQL Optimisation
- Tracing
- Extract SQLcleanup.exe
- replay
- Mass Change/AE/Cobol
- SQR
42Enabling Tracing
43Typical Trace Output
- 1-2285 0.861 Cur1 RC0 Dur0.000 COM
StmtSELECT 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 Cur1 RC0 Dur0.000
Bind-1 type2 length6 valueACTION - 1-2287 0.000 Cur1 RC0 Dur0.000
Bind-2 type2 length3 valueENG - 1-2288 0.111 Cur1 RC0 Dur0.000 COM
StmtSELECT VERSION FROM PSLOCK
44SQLCLEANUP.EXE
- 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 - \
- ACTION,ENG
45Mass Change/AE/SQR
- What you see in the code is what you get
- All PS programs can be traced
46SQL Optimisation (Oracle)
- 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
47SQL_TRACE TRUE
- Initialisation Parameter
- TIMED_STATISTICS TRUE
- In current session
- ALTER SESSION SET SQL_TRACETRUE
- In another session
- EXECUTE sys.dbms_system.set_sql_trace_in_session
(ltsidgt,ltserialgt,TRUE)
48Trigger for via process scheduler
- PSPRCSRQST
- create or replace trigger sysadm.set_trace
- before update of runstatus on sysadm.psprcsrqst
- for each row
- when (new.runstatus 7 and old.runstatus ! 7
and NOT new.prcstype IN(Crystal, PSJob) - )
- begin
- sys.dbms_session.set_sql_trace(true)
- end
- /
49Set trace in session
- 2-tier client is multithreaded
- Small Private Application server
- EXECUTE sys.dbms_system.set_sql_trace_in_session
(ltsidgt,ltserialgt,TRUE)
50Backup Consideration
- Connected Processes
- Application Server
- Process Scheduler
- Batch Programs
- 2-tier users
51Performance Metrics
- Process Scheduler Table
- PSPRCSRQST
- Trigger to capture history
52PeopleSoft for the DBA
- David Kurtz
- Go-Faster Consultancy Ltd.
- david_at_go-faster.co.uk
- www.go-faster.co.uk