PeopleSoft DDL & DDL Management



Similar documents
PeopleTools Tables: The Application Repository in the Database

How To Monitor Performance On Peoplesoft.Org

Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC

Oracle Database 11 g Performance Tuning. Recipes. Sam R. Alapati Darl Kuhn Bill Padfield. Apress*

Topics Advanced PL/SQL, Integration with PROIV SuperLayer and use within Glovia

Oracle DBA Course Contents

Oracle Database 10g: Introduction to SQL

W I S E. SQL Server 2008/2008 R2 Advanced DBA Performance & WISE LTD.

Oracle. Brief Course Content This course can be done in modular form as per the detail below. ORA-1 Oracle Database 10g: SQL 4 Weeks 4000/-

Oracle EXAM - 1Z Oracle Database 11g Security Essentials. Buy Full Product.

<Insert Picture Here> Application Change Management and Data Masking

CONFIGURING AND OPERATING STREAMED PROCESSING IN PEOPLESOFT GLOBAL PAYROLL IN PEOPLETOOLS 8.48/9

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

PERFORMANCE TUNING FOR PEOPLESOFT APPLICATIONS

DBMS / Business Intelligence, SQL Server

Database Extension 1.5 ez Publish Extension Manual

All About Oracle Auditing A White Paper February 2013

Safeguard Sensitive Data in EBS: A Look at Oracle Database Vault, Transparent Data Encryption, and Data Masking. Lucy Feng

Microsoft SQL Server for Oracle DBAs Course 40045; 4 Days, Instructor-led

Oracle Enterprise Manager 12c New Capabilities for the DBA. Charlie Garry, Director, Product Management Oracle Server Technologies

Sivakumar Software Engg, Zagro Singapore Pte Ltd .

1 Introduction. 2 Technical overview/insights into FDAs. 1.1 What is what

11. Oracle Recovery Manager Overview and Configuration.

Oracle 11g Database Administration

Oracle SQL. Course Summary. Duration. Objectives

Setting up SQL Translation Framework OBE for Database 12cR1

Backup Types. Backup and Recovery. Categories of Failures. Issues. Logical. Cold. Hot. Physical With. Statement failure

Oracle vs. SQL Server. Simon Pane & Steve Recsky First4 Database Partners Inc. September 20, 2012

ORACLE DATABASE ADMINISTRATOR RESUME

Oracle Database 11g Security Essentials

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

Oracle Database 12c: Introduction to SQL Ed 1.1

Ultimate Guide to Oracle Storage

Oracle 11g DBA Online Course - Smart Mind Online Training, Hyderabad. Oracle 11g DBA Online Training Course Content

ORACLE 11g RDBMS Features: Oracle Total Recall Oracle FLEXCUBE Enterprise Limits and Collateral Management Release 12.1 [December] [2014]

General DBA Best Practices

Oracle Total Recall with Oracle Database 11g Release 2

A basic create statement for a simple student table would look like the following.

Customer evaluation guide Toad for Oracle v12 Database administration

1. This lesson introduces the Performance Tuning course objectives and agenda

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Response Time Analysis

Senior Oracle Developer Call us today to schedule this resource. CORP: (214) CENDIEN

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Implement Streams Release 2. 5 Jours [35 Heures]

PeopleSoft Financials/Supply Chain Management 9.0 to 9.2 (through Update Image 5) Upgrade

Oracle Database 12c: Performance Management and Tuning NEW

Oracle Database: Introduction to SQL

ORACLE DATABASE 11G: COMPLETE

Oracle Designer RIP? A First Look At Oracle Data Modeler

Oracle Database: Introduction to SQL

INSTALLATION INSTRUCTIONS FOR THE STUDENT SAMPLE SCHEMA

SQL Server Training Course Content

Oracle Database: SQL and PL/SQL Fundamentals NEW

php tek 2006 in Orlando Florida Lukas Kahwe Smith

Oracle Database 10g Express

IBM DB2: LUW Performance Tuning and Monitoring for Single and Multiple Partition DBs

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

HP Quality Center. Upgrade Preparation Guide

Data Compression in Blackbaud CRM Databases

Cúram Business Intelligence Reporting Developer Guide

Oracle USF

Oracle Database: SQL and PL/SQL Fundamentals

Database 10g Edition: All possible 10g features, either bundled or available at additional cost.

Oracle Database 10g: Administration Workshop II Release 2

PATROL From a Database Administrator s Perspective

What are the top new features of DB2 10?

Oracle 10g PL/SQL Training

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Performance Tuning DBA Release 2. 5 Jours [35 Heures]

Oracle and Sybase, Concepts and Contrasts

Oracle EXAM - 1Z Oracle Database 11g Release 2: SQL Tuning. Buy Full Product.

COGNOS (R) ENTERPRISE PLANNING SERIES

MS-40074: Microsoft SQL Server 2014 for Oracle DBAs

State of Wisconsin Database Hosting Services Roles and Responsibilities

Oracle Database 11g: New Features for Administrators

AV-004: Administering and Programming with ORACLE

PeopleTools 8.51 PeopleBook: Data Management


Papermule Workflow. Workflow and Asset Management Software. Papermule Ltd

Oracle Database 11g: Performance Tuning DBA Release 2

Expert Oracle. Database Architecture. Techniques and Solutions. 10gr, and 11g Programming. Oracle Database 9/, Second Edition.

Oracle Database: Introduction to SQL

Revolutionized DB2 Test Data Management

MS SQL Performance (Tuning) Best Practices:

Experiment 5.1 How to measure performance of database applications?

Oracle Database 11g SQL

Using Database Diagnostic and Tuning Packs through Oracle Enterprise Manager 12c. Eric Siglin OCM, OCP, CTT+ Senior Oracle DBA

Oracle 1Z0-528 Exam Questions & Answers

Oracle Database Creation for Perceptive Process Design & Enterprise

Oracle(PL/SQL) Training

Oracle Database: SQL and PL/SQL Fundamentals NEW

How To Load Data Into An Org Database Cloud Service - Multitenant Edition

Physical Database Design and Tuning

Response Time Analysis

MyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy

Keep It Simple - Common, Overlooked Performance Tuning Tips. Paul Jackson Hotsos

Transcription:

PeopleSoft DDL & DDL Management by David Kurtz, Go-Faster Consultancy Ltd. Since their takeover of PeopleSoft, Oracle has announced project Fusion, an initiative for a new generation of Oracle Applications building on the best of existing Oracle and PeopleSoft products. This is the third in a series of articles in which I will examine some aspects of PeopleTools, the proprietary technology developed by PeopleSoft, and speculate about Fusion. In my first article 1 about PeopleSoft and PeopleTools I described the PeopleTools tables. These hold most of the on-line application as meta-data that is interpreted as the application executes. Some of the PeopleTools tables correspond to the database catalogue. PeopleTools uses these tables both to specify data structures and later to build DDL statements. When developing a PeopleTools component, the first requirement is to specify the data structures that you will be accessing. These are called records in PeopleTools, and they may correspond to tables or views in the database, or they may also be working storing structures that only exist in memory whilst the application executes. The PeopleTools Application Designer also specifies the indexes that are to be built. The concept is similar to Oracle forms, where you put fields into blocks, except that you have to define the database structures first. One of the useful features of the PeopleTools Application Designer is that it maintains its own data dictionary, and will then generate the DDL required to implement the differences between that and the database catalogue. Thus when you customise an existing table or view, or more significantly when you apply a patch or upgrade to an object that you have already customised, you don t have to manually craft an ALTER TABLE statement, it will be generated for you. An implication of this is that all DDL changes must be made via the Application Designer. If the DBA were simply to make a change directly, then the next time that Application Designer is called upon to rebuild that object it would see the change as a difference to be resolved and the change would be lost. Worse still, this may reintroduce the problem that caused the DBA to make the change in the 1 Oracle Scene, Issue 23, Autumn 2005, p32 also available in the UKOUG library on www.ukoug.org

first place. For example, a DBA may add an index to resolve a performance problem, but Application Designer will drop it when it builds a DDL script for that table. DDL Models I want to look next at how Application Designer builds DDL statements. PeopleTools is delivered with a set of DDL models for each database platform for each of up to 5 DDL statements: CREATE TABLE, CREATE INDEX, CREATE TABLESPACE, ANALYZE TABLE COMPUTE STATISTICS, ANALYZE TABLE ESTIMATE STATISTICS (the ANALYZE models are only available for Oracle and DB2). Each model consists of a string with variables that are substituted to make the DDL command. Variables delimited by square brackets (e.g. [TBNAME]) are generated by PeopleTools code. The user has no control over these. When you create a table, the entire column list is generated by PeopleTools and cannot be intercepted. Additional variables delimited by two asterisks (e.g. **PCTFREE**) can be defined in the DDL model. Default values are also specified, and can then be overridden in the record definition in Application Designer. PeopleSoft delivers some additional variables, the user can choose to add others.

CREATE TABLE and CREATE INDEX are mainly used by Application Designer when building or altering a table or index. DDL models are also embedded in the header of a Data Mover export, and are then used during import. CREATE TABLESPACE can be used by Data Mover when importing data. However, as a DBA I create tablespaces myself. Even the delivered PeopleSoft scripts disable this feature, and so I have never used it! ANALYZE models were introduced in PeopleTools 8.1. Batch programs that truncate and populate tables used for working storage, can cause the optimiser can make a poor choices because the statistics do not match reality. To address this, PeopleSoft introduce two ANALYZE DDL models in PeopleTools 8.1 that either fully compute statistics or estimate them using the default sample size. A new PeopleTools meta-code command %UpdateStats was added to Application Engine that uses these DDL models to build an ANALYZE command. Application Engine batch programs were amended to update statistics when appropriate. Other DDL Not all DDL generated by the Application Designer is based on DDL models. There is no model for CREATE VIEW, the code is generated entirely within Application Designer. A table can be altered either with an ALTER TABLE command, or renamed, recreated and repopulated. The whole of the ALTER table command is generated within Application Designer, and only the CREATE INDEX model is used when a table is recreated. PeopleSoft uses database triggers to assist with synchronisation with mobile devices. These triggers are also generated by Application Designer. Triggers for auditing are generated by an SQR program. Space Management PeopleSoft created a fairly flexible system for generating platform specific DDL. There are various opportunities for the DBA to use this to improve management and performance of the system. Oracle DBAs have to worry about physical storage attributes for objects. For comparison, on SQL Server (as far as I can tell) there are neither the concepts of tablespaces or physical storage attributes. You just create the table.

It is possible to set values for INITIAL and NEXT in the storage clause via Application Designer. However, those of us managing PeopleSoft on Oracle databases will almost certainly be using locally managed tablespaces and will have learnt that the number of extents in an object is not a significant performance issue. Instead it is now much more important to allocate a table to a tablespace with an appropriate extent size, and also to set PCTFREE and PCTUSED to appropriate values. PeopleSoft defaults PCTFREE to 10, and PCTUSED to 40. This value is almost certainly no appropriate for every table in the system. At best, setting this parameters inappropriately for a table will waste space and increase both physical and logical I/Os, at worst may lead to rows chained across blocks, and have to do an extra I/O in order to retrieve a row. Different tables will require different settings depending upon how they are used. Unfortunately PeopleSoft doesn t deliver many overrides for these DDL Model variables, so the DBA needs to learn how the application behaves and set appropriate values. The values must be set in Application Designer, not just in the database. There are other parameters that can, if necessary, easily be added to the DDL Model and maintained within Application Designer, such as CACHE and BUFFER POOL. Statistics When PeopleSoft introduced the two ANALYZE DDL models, Oracle was already recommending that the dbms_stats PL/SQL package should be used instead. These DDL models can be altered to call PL/SQL, but you need to create your own PL/SQL function 2 to split the schema and table names that must be passed to different parameters in dbms_stats. Limitations There are a number of Oracle RDBMS features that is often useful to use in PeopleSoft systems, but which cannot be implemented via DDL Models and so maintained with Application Designer. 2 available from www.psftdba.com

Application Designer cannot generate the DDL for partitions. Although it is possible to create additional variables to hold the PARTITION keyword and clause, it would be very hard to manage, especially if different partitions go into different tablespaces and/or have different storage options. It would be better to manage the few tables that are to be partitioned manually outside Application Designer. Function-based indexes are useful for case-insensitive searches in PeopleSoft (e.g. WHERE UPPER(NAME) LIKE ). However, Application Designer will not let you put the corresponding function into the CREATE INDEX DDL. The list of columns is generated by an internal variable and cannot be intercepted. Index Organised Tables require a primary key constraint be created, and constraints cannot be added to the column list because this is created by a single internal variable. Also, the list of columns in the primary key are in another internal variable using in CREATE INDEX that is not available when the CREATE TABLE is processed. It is possible to customise the create table model so that global temporary tables can be created. The GLOBAL TEMPORARY keyword can be added, and the physical attributes can be masked out as comments. However, the result is messy, and I prefer to manage them manually. The result is that these features are never used in a PeopleSoft system as delivered. It is then only reasonable to introduce them where there is an overriding business case, when the resultant performance benefit outweighs the overhead on manual management. That management overhead includes making sure that the feature is not accidentally lost because Application Designer should not be used to manage that table. For example, it is easy to introduce a functionbased index, but you have to make sure that it doesn t get accidentally dropped by an Application Designer script. Conclusion Automating the process of DDL management removes an opportunity for manual error. You can be confident when applying patches or upgrades to environments that at least the database structures will be correct.

There is some flexibility to permit the DBA to apply appropriate attributes to tables, but this does not go far enough. DDL Models are not sufficiently flexible as to permit some very useful database features. Sometimes database features cannot be introduced via PeopleTools, and a decision has to be made whether their benefits justify the overhead of manual management. Fusion DBAs often complain when they are told that DDL changes for a particular system must be managed via a proprietary tool, such as Application Designer. They want to use the same tools and techniques for all their databases on each platform. PeopleSoft is certified to run on a variety of RDBMS, not just Oracle. Presumably the same will apply to Fusion (we still don t know for certain), and all of these databases have their own management tools. The challenge is how to make this functionality available to both developer and DBA on all certified platforms. PeopleSoft chose a lowest common denominator approach, and did not use any features that were not common to all certified platforms. On Oracle RDBMS, an option would be to make this functionality available to the DBA via OEM. But then what about other database platforms? I don t have an answer to that. Application Designer has evolved to be a complete development environment for PeopleSoft, and is one of the reasons that PeopleSoft developers are acknowledged as been several times more productive that Oracle Applications developers. I would hope to see an integrated development tool for Fusion that will include DDL management, and would also have support for at least the database features discussed in this article. David Kurtz is a performance specialist working Enterprise PeopleSoft applications and Oracle (www.go-faster.co.uk). He is the chair of UKOUG UNIX SIG. He is also the author of PeopleSoft for the Oracle DBA, published by Apress (www.psftdba.com).