1 peoplesoft for the dba david kurtz go-faster consultancy ltd. [email protected]

52
1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go- faster.co.uk www.go- faster.co.uk

Upload: patience-kearney

Post on 01-Apr-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

1

PeopleSoft for the DBADavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk

Page 2: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

2

DBA Issues

• Connectivity• Two Data Dictionaries• Keys & Indexing• Tablespaces (Oracle)• Space Management (Oracle)• SQL Optimisation• Rollback Segments (Oracle)• Backup Considerations• Performance Metrics

Page 3: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

3

Connectivity

• What happens when you connect

• Usage of the word ‘database’

• Security

• Tracing

• PS/Query, Crystal & ODBC

Page 4: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

4

What happens when you connect?

• 2-tier Connection

Page 5: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

5

What happens when you connect?

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 PSCLOCKSELECT VERSION FROM PSLOCK

Page 6: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

6

What happens when you connect?

• 3-tier Connection

Page 7: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

7

What happens when you connect?

Connect=H75D/PS/COM Stmt=EXECUTE :1 := SQLCQR_LOGINCHECK(:2)Bind-1 type=18 length=2 value=0Bind-2 type=2 length=254 value=Stmt=SELECT OWNERID FROM PS.PSDBOWNER WHERE DBNAME = :1Bind-1 type=2 length=4 value=H75DStmt=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

Stmt=SELECT VERSION, OPRTYPE, OPERPSWD, ACCESSID, ACCESSPSWD FROM SYSADM.PSOPRDEFN WHERE OPRID = :1

Bind-1 type=2 length=2 value=PSDisconnectConnect=H75D/SYSADM/Stmt=SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24.MI.SS."000000"') FROM

PSCLOCK

Page 8: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

8

Usage 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

Page 9: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

9

Usage 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

Page 10: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

10

Security

• PS database usually owned ‘sysadm’ or ‘sa’ – = root, sys, system– The password to this account is the key to

the kingdom.

Page 11: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

11

Tracing

• Tracing administered via configuration manager– i.e.. via registry

Page 12: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

12

PS/Query, Crystal & ODBC

• PS ODBC driver– Only defined

PS/Queries can be seen

Page 13: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

13

Two Data Dictionaries

• Database Data Dictionary

• PeopleSoft Data Dictionary

• DDDAudit

• SYSAudit

Page 14: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

14

Tools Table -v- DB Catalogue

Page 15: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

15

Audit Reports

• DDDAUDIT– Compares data dictionaries (not columns)

• SYSAUDIT– Referential Integrity of Tools Tables

• Remedies in PeopleBooks

Page 16: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

16

Keys & Indexing

• Implied from Record Definition– Key

– Duplicate

– List (not Tools 8)

– Alternate Search

– Descending

• User Specified

• Constraints

• Suppressing Index build

• Sparse Indexing

Page 17: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

17

Implied from Record Definition

• Key– Duplicate

• List (not Tools 8)• Alternate Search

Page 18: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

18

Field Attributes

Page 19: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

19

Key (Duplicate)

Page 20: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

20

Alternate Search

Page 21: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

21

List (not Tools 8)

Page 22: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

22

Descending Keys

Page 23: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

23

Search Dialogue

SELECT DISTINCT DEPTID, DESCR, COMPANY, LOCATION

FROM PS_DEPT_TBL

WHERE DEPTID LIKE ‘10%’

ORDER BY COMPANY, DEPTID

Page 24: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

24

Search Dialogue

Page 25: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

25

User Specified

Page 26: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

26

Constraints

• Unique– Implied by Unique Key Indexes

• Mandatory/Not Null• Referential Integrity?

– There aren’t any!

Page 27: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

27

Suppressing Index build

Page 28: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

28

Sparse Indexing (Oracle)

Not Required Data Required

PS SQL Type PS SQL

Blank Not Null CHAR No Blanks Not Null

(Initialises DB with Space)

Zero Not Null NUMERIC No Zero Not Null

(Initialises DB with Zero)

No Date Null DATE Valid Date Not Null

Blank Null LONG VAR No Blanks Not Null

• Dates can be NULL

Page 29: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

29

Tablespaces (Oracle)

• Installation Scripts• Temporary Tablespaces

Page 30: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

30

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 31: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

31

Space Management (Oracle/DB2)

• DDL models• Default -v- Override parameters• Feeding back reality

Page 32: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

32

DDL Models

• System-wide default storage options

Page 33: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

33

Parameters

• PeopleSoft Parameters– Square Brackets

• TBNAME, TBCOLLIST, IDXNAME, IDXCOLLIST, TBSPCNAME

• User Parameters– ** delimited

• Delivered (Oracle) INIT, NEXT, MAXEXT, PCT, INDEXSPC

Page 34: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

34

Default -v- Override parameters

• Overrides in application designer

Page 35: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

35

How is the DDL/Overrides stored?

• Space Model

• Default Parameters

• Record & Index Parameter Overrides

Page 36: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

36

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 37: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

37

Default Parameters

• PSDDLDEFPARMS

Page 38: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

38

Record Parameter Overrides

• PSRECDDLPARM

Page 39: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

39

Index Parameter Overrides

• PSIDXDDLPARM

Page 40: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

40

Two Data Dictionaries

• Compare– Database Catalogue

• USER_TABLES, USER_INDEXES

– PeopleTools• PSDDLDEFPARMS, PSRECDDLPARM,

PSIDXDDLPARM

Page 41: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

41

SQL Optimisation

• Tracing– Extract SQLcleanup.exe

– replay

• Mass Change/AE/Cobol• SQR

Page 42: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

42

Enabling Tracing

Page 43: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

43

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 44: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

44

SQLCLEANUP.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

/

Page 45: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

45

Mass Change/AE/SQR

• What you see in the code is what you get– All PS programs can be traced

Page 46: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

46

SQL 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

Page 47: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

47

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 48: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

48

Trigger 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;

/

Page 49: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

49

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 50: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

50

Backup Consideration

• Connected Processes– Application Server

– Process Scheduler

– Batch Programs

– 2-tier users

Page 51: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

51

Performance Metrics

• Process Scheduler Table– PSPRCSRQST

• Trigger to capture history

Page 52: 1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd. david@go-faster.co.uk

52

PeopleSoft for the DBADavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk