peoplesoft for the dba

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

Upload: theo

Post on 11-Jan-2016

48 views

Category:

Documents


0 download

DESCRIPTION

PeopleSoft for the DBA. David Kurtz Go-Faster Consultancy Ltd. [email protected] www.go-faster.co.uk. DBA Issues. Connectivity Two Data Dictionaries Keys & Indexing Tablespaces (Oracle) Space Management (Oracle) SQL Optimisation Rollback Segments (Oracle) Backup Considerations - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PeopleSoft for the DBA

1

PeopleSoft for the DBADavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk

Page 2: PeopleSoft for the DBA

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: PeopleSoft for the DBA

3

Connectivity

• What happens when you connect

• Usage of the word ‘database’

• Security

• Tracing

• PS/Query, Crystal & ODBC

Page 4: PeopleSoft for the DBA

4

What happens when you connect?

• 2-tier Connection

Page 5: PeopleSoft for the DBA

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: PeopleSoft for the DBA

6

What happens when you connect?

• 3-tier Connection

Page 7: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

11

Tracing

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

Page 12: PeopleSoft for the DBA

12

PS/Query, Crystal & ODBC

• PS ODBC driver– Only defined

PS/Queries can be seen

Page 13: PeopleSoft for the DBA

13

Two Data Dictionaries

• Database Data Dictionary

• PeopleSoft Data Dictionary

• DDDAudit

• SYSAudit

Page 14: PeopleSoft for the DBA

14

Tools Table -v- DB Catalogue

Page 15: PeopleSoft for the DBA

15

Audit Reports

• DDDAUDIT– Compares data dictionaries (not columns)

• SYSAUDIT– Referential Integrity of Tools Tables

• Remedies in PeopleBooks

Page 16: PeopleSoft for the DBA

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: PeopleSoft for the DBA

17

Implied from Record Definition

• Key– Duplicate

• List (not Tools 8)• Alternate Search

Page 18: PeopleSoft for the DBA

18

Field Attributes

Page 19: PeopleSoft for the DBA

19

Key (Duplicate)

Page 20: PeopleSoft for the DBA

20

Alternate Search

Page 21: PeopleSoft for the DBA

21

List (not Tools 8)

Page 22: PeopleSoft for the DBA

22

Descending Keys

Page 23: PeopleSoft for the DBA

23

Search Dialogue

SELECT DISTINCT DEPTID, DESCR, COMPANY, LOCATION

FROM PS_DEPT_TBL

WHERE DEPTID LIKE ‘10%’

ORDER BY COMPANY, DEPTID

Page 24: PeopleSoft for the DBA

24

Search Dialogue

Page 25: PeopleSoft for the DBA

25

User Specified

Page 26: PeopleSoft for the DBA

26

Constraints

• Unique– Implied by Unique Key Indexes

• Mandatory/Not Null• Referential Integrity?

– There aren’t any!

Page 27: PeopleSoft for the DBA

27

Suppressing Index build

Page 28: PeopleSoft for the DBA

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: PeopleSoft for the DBA

29

Tablespaces (Oracle)

• Installation Scripts• Temporary Tablespaces

Page 30: PeopleSoft for the DBA

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: PeopleSoft for the DBA

31

Space Management (Oracle/DB2)

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

Page 32: PeopleSoft for the DBA

32

DDL Models

• System-wide default storage options

Page 33: PeopleSoft for the DBA

33

Parameters

• PeopleSoft Parameters– Square Brackets

• TBNAME, TBCOLLIST, IDXNAME, IDXCOLLIST, TBSPCNAME

• User Parameters– ** delimited

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

Page 34: PeopleSoft for the DBA

34

Default -v- Override parameters

• Overrides in application designer

Page 35: PeopleSoft for the DBA

35

How is the DDL/Overrides stored?

• Space Model

• Default Parameters

• Record & Index Parameter Overrides

Page 36: PeopleSoft for the DBA

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: PeopleSoft for the DBA

37

Default Parameters

• PSDDLDEFPARMS

Page 38: PeopleSoft for the DBA

38

Record Parameter Overrides

• PSRECDDLPARM

Page 39: PeopleSoft for the DBA

39

Index Parameter Overrides

• PSIDXDDLPARM

Page 40: PeopleSoft for the DBA

40

Two Data Dictionaries

• Compare– Database Catalogue

• USER_TABLES, USER_INDEXES

– PeopleTools• PSDDLDEFPARMS, PSRECDDLPARM,

PSIDXDDLPARM

Page 41: PeopleSoft for the DBA

41

SQL Optimisation

• Tracing– Extract SQLcleanup.exe

– replay

• Mass Change/AE/Cobol• SQR

Page 42: PeopleSoft for the DBA

42

Enabling Tracing

Page 43: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

45

Mass Change/AE/SQR

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

Page 46: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

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: PeopleSoft for the DBA

50

Backup Consideration

• Connected Processes– Application Server

– Process Scheduler

– Batch Programs

– 2-tier users

Page 51: PeopleSoft for the DBA

51

Performance Metrics

• Process Scheduler Table– PSPRCSRQST

• Trigger to capture history

Page 52: PeopleSoft for the DBA

52

PeopleSoft for the DBADavid KurtzGo-Faster Consultancy Ltd.

[email protected]

www.go-faster.co.uk