604: PeopleSoft for the Oracle DBA

Slides:



Advertisements
Similar presentations
Focusing Your Oracle Database Tuning Efforts For PeopleSoft Applications Bobby Durrett U. S. Foodservice, Inc.
Advertisements

Yukon – What is New Rajesh Gala. Yukon – What is new.NET Framework Programming Data Types Exception Handling Batches Databases Database Engine Administration.
CHAPTER 4 Tablespaces and Datafiles. Introduction After installing the binaries, creating a database, and configuring your environment, the next logical.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Overview of performance tuning strategies Oracle Performance Tuning Allan Young June 2008.
Go-Faster Consultancy Ltd.1 Experiences of Global Temporary Tables in Oracle 8.1 David Kurtz Go-Faster Consultancy Ltd.
The Architecture of Oracle
Creating Tables. 2 home back first prev next last What Will I Learn? List and provide an example of each of the number, character, and date data types.
1 PeopleSoft for the DBA David Kurtz Go-Faster Consultancy Ltd.
An introduction to SQL*Trace, TKPROF and Execution Plans
Manipulating Data Schedule: Timing Topic 60 minutes Lecture
17 Copyright © 2005, Oracle. All rights reserved. Performing Flashback.
1 Tuning with Oracle’s SQL Trace David Kurtz Go-Faster Consultancy Ltd.
Loading & organising data. Objectives Loading data using direct-load insert Loading data into oracle tables using SQL*Loader conventional and direct paths.
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 2 Overview of Database Administrator (DBA) Tools.
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
Let’s try Oracle. Accessing Oracle The Oracle system, like the SQL Server system, is client / server. For SQL Server, –the client is the Query Analyser.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 28 Database Systems I The Relational Data Model.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4 SQL: Data Definition, Constraints, and Basic Queries and Updates.
Fundamentals, Design, and Implementation, 9/e Chapter 11 Managing Databases with SQL Server 2000.
1 - Oracle Server Architecture Overview
Harvard University Oracle Database Administration Session 2 System Level.
Report Distribution Report Distribution in PeopleTools 8.4 Doug Ostler & Eric Knapp 7264.
Harvard University Oracle Database Administration Session 5 Data Storage.
A Guide to MySQL 3. 2 Objectives Start MySQL and learn how to use the MySQL Reference Manual Create a database Change (activate) a database Create tables.
Working with SQL and PL/SQL/ Session 1 / 1 of 27 SQL Server Architecture.
1 Tuning PL/SQL procedures using DBMS_PROFILER 20-August 2009 Tim Gorman Evergreen Database Technologies, Inc. Northern California Oracle.
Adapted from Afyouni, Database Security and Auditing DB Auditing Examples (Ch. 9) Dr. Mario Guimaraes.
1 PeopleSoft for the Oracle DBA Session 627
ORACLE ONLINE TRAINING Contact our Support Team : SOFTNSOL India: Skype id : softnsoltrainings id:
Module 9: Managing Schema Objects. Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing.
Creating Test Environments Technology SIG Open Mic February 2011.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 7-1 David M. Kroenke’s Chapter Seven: SQL for Database Construction and.
ASP.NET Programming with C# and SQL Server First Edition
CSE314 Database Systems Lecture 4 Basic SQL Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
The Relational Model. Review Why use a DBMS? OS provides RAM and disk.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Database Technical Session By: Prof. Adarsh Patel.
CS 3630 Database Design and Implementation. Your Oracle Account UserName is the same as your UWP username Followed Not case sensitive Initial.
Introduction to SEQUEL. What is SEQUEL? Acronym for Structural English Query Language Acronym for Structural English Query Language Standard language.
The protection of the DB against intentional or unintentional threats using computer-based or non- computer-based controls. Database Security – Part 2.
Oracle Tuning Ashok Kapur Hawkeye Technology, Inc.
9 Storage Structure and Relationships. 9-2 Objectives Listing the different segment types and their uses Controlling the use of extents by segments Stating.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 12 Understanding database managers on z/OS.
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 Chapter Overview Performing Configuration Tasks Setting Up Additional Features Performing Maintenance Tasks.
Managing users and security Akhtar Ali. Aims Understand and manage profiles Understand and manage users Understand and manage privileges Understand and.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
Week 4 Lecture 2 Advanced Table Management. Learning Objectives  Create tables with large object (LOB) columns and tables that are index-organized 
D Copyright © Oracle Corporation, All rights reserved. Loading Data into a Database.
Oracle 10g Database Administrator: Implementation and Administration Chapter 5 Basic Storage Concepts and Settings.
Starting with Oracle SQL Plus. Today in the lab… Connect to SQL Plus – your schema. Set up two tables. Find the tables in the catalog. Insert four rows.
3 Copyright © 2007, Oracle. All rights reserved. Using the RMAN Recovery Catalog.
1 11g NEW FEATURES ByVIJAY. 2 AGENDA  RESULT CACHE  INVISIBLE INDEXES  READ ONLY TABLES  DDL WAIT OPTION  ADDING COLUMN TO A TABLE WITH DEFAULT VALUE.
ADVANCED SQL.  The SQL ORDER BY Keyword  The ORDER BY keyword is used to sort the result-set by one or more columns.  The ORDER BY keyword sorts the.
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
I NTRODUCTION OF W EEK 2  Assignment Discussion  Due this week:  1-1 (Exam Proctor): everyone including in TLC  1-2 (SQL Review): review SQL  Review.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS. M.Sc. and B.Sc. of Information Technology Engineering Senior Lecturer in University of Somalia,
Oracle Database Architectural Components
1 Copyright © 2005, Oracle. All rights reserved. Oracle Database Administration: Overview.
2 Copyright © 2009, Oracle. All rights reserved. Managing Schema Objects.
Oracle 10g Database Administrator: Implementation and Administration
Introduction of Week 3 Assignment Discussion
DATABASE MANAGEMENT SYSTEM
SQL OVERVIEW DEFINING A SCHEMA
Microsoft SQL Server 2014 for Oracle DBAs Module 7
Contents Preface I Introduction Lesson Objectives I-2
Database administration
An Overview of GoldenGate Replication
Presentation transcript:

604: PeopleSoft for the Oracle DBA

2 Project Overview  HRMS 7.5  Local Swiss Payroll  PeopleTools 7.59  employees (33000 current)  127Gb Data, 147Gb Total DB size  3-tier clients ( concurrent users)  Web clients (20-40 concurrent users)  Upgrading to HR8 + GP

3 Technical Overview  HP-UX bit  Clustered Servers  HP Service Guard  Oracle >  Multi-Processor Tuxedo Domains  Windows and Web Clients

4 QA Production Development Hardware Configuration

5 System Specifications  Development System  HP V-Class, Model E 9000/800 CPU:8 RAM:12 GB  Quality Assurance System  HP V-Class, Model E 9000/800 CPU:10/10 RAM:8/8 GB  Production System  HP V-Class, Model E 9000/800 CPU:20/20 RAM:24/10 GB

6 EMC Storage Arrays  Storage EMC R1256 disks R2158 disks R3 84 disks Total498 disks x 18 GB = 8.7 TB

7 PS 7.5 PS 8 DEVPQUAL UPGR8 HOTL PROD HOTL ENG? PLAY DEVP8 EXP8 MIGR QUAL8PROD8 M I G R DEMO Database Upgrade Path

8 Challenges  Large HRMS implementation  Lots of customisations  Payroll is a ‘financial’ batch  Oracle bugs  Performance Problems

9 DBA Team  Good Administrative Practice  Performance Tuning

10 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

11 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

12 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

13 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

14 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/

15 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,,,,  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)

16 Session Registration  Windows Client in 2-tier registers by default (7.53)  Application Server configuration parameter EnableDBMonitoring=1  Cobol (from 7.54)  Not used with SQR So we wrote a trigger

17 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

18 Session Registration Trigger  Prepends Process Instance to client_info create 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 select client_info into l_client_info from v$session where sid = (select sid from v$mystat where rownum = 1); 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; /

19 Specification of the Data Model  Two Data Dictionaries  Default Indexes  User Specified Indexes  PT8.1: Platform Specific View definition

20 Tools Table -v- DB Catalogue

21 Keys & Indexing  Implied from Record Definition  Key  Duplicate  List (not Tools 8)  Alternate Search  Descending  User Specified  Constraints  Suppressing Index build  Sparse Indexing

22 Indexes Implied from Record Definition  Key  Duplicate  List (not indexed in Tools 8)  Alternate Search  Descending

23 Suppressing Index build  In Application Designer  Tools -> Data Administration -> Indexes -> Change Record Indexes -> Edit Index

24 User Specified Index

25 Descending Key Index Bug  The following parameter must be added to the init.ora of an Oracle 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)

26 Constraints  Unique  Implied by Unique Key Indexes  Mandatory/Not Null  Referential Integrity?  There aren’t any!

27 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

28 Space Management  DDL models  Default -v- Override parameters  Feeding back reality

29 DDL Models  System-wide default storage options

30 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

31 Default -v- Override parameters  Overrides in application designer

32 DDL Model  PSDDLMODEL

33 Default Parameters  PSDDLDEFPARMS

34 Record Parameter Overrides  PSRECDDLPARM

35 Index Parameter Overrides  PSIDXDDLPARM

36 Two Data Dictionaries  Compare  Database Catalogue  USER_TABLES, USER_INDEXES  PeopleTools  PSDDLDEFPARMS, PSRECDDLPARM, PSIDXDDLPARM

37 Retrofitting Sizing into PeopleTools 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 bundled with presentation or available from 

38 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

39 Global Temporary Tables  New Feature in Oracle 8.1  Reduced Redo Logging  40%-50% I/O reduction  unrecoverable  Definition is persistent  Content is private & transient to session  not suitable for on-line processing  Useful for temporary tables  Local Swiss Payroll  Financial Batches  No High Water Mark issues  Even faster truncate

40 SQL Tracing  Client  Batches (AE, SQR)  Reports (Crystal, nVision, PS/Query)  Tracing with Triggers  Where does the code come from

41 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

42 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 (,,TRUE);

43 Enabling Client Tracing

44 Typical Trace Output (PT7.x) 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 Cur#1 RC=0 Dur=0.000 Bind-1 type=2 length=6 value=ACTION Cur#1 RC=0 Dur=0.000 Bind-2 type=2 length=3 value=ENG Cur#1 RC=0 Dur=0.000 COM Stmt=SELECT VERSION FROM PSLOCK

45 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 /

46 Mass Change/AE/SQR  What you see in the code is what you get  All PS programs can be traced

47 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', 'Database Agent','nVision-ReportBook') and...) ) begin sys.dbms_session.set_sql_trace(true); end; /

48 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

49 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

50 Processed Trace Files on Web  3 files per process,.log,.exeela,.fchela

51

52 Set trace in session  2-tier client is multithreaded  Small Private Application server  EXECUTE sys.dbms_system.set_sql_trace_in_session (,,TRUE);

53 Where does the code come from (PeopleTools 7.x)?  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

54 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; /

55 Summary  Identified Sessions  Synchronised sizing information in dictionaries  Trace individual processes  Identify where the SQL comes from  Performance Tuning  Control index creation without altering application  Performance Metrics/History

56 Questions?

604: PeopleSoft for the Oracle DBA