Progress System Tables

Slides:



Advertisements
Similar presentations
1 Tuning Your Application Rob Marshall Principal Solutions Consultant, Progress Software Session 131.
Advertisements

What’s New in Progress OpenEdge 11
DB-7: OpenEdge® Database Performance Tuning
DB-03: A Tour of the OpenEdge™ RDBMS Storage Architecture Richard Banville Technical Fellow.
Strength. Strategy. Stability. The Application Profiler.
What’s that user doing? Rich Banville / Richard Shulman June 7, 2011 The OpenEdge Statement Cache.
Some More Database Performance Knobs North American PUG Challenge
T OP N P ERFORMANCE T IPS Adam Backman Partner, White Star Software.
DB-13: Database Health Checks How to tell if you’re heading for The Wall Richard Shulman Principal Support Engineer.
1 How Healthy is Your Progress System? ( Progess DB Best Practices) Dan Foreman BravePoint, Inc.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
TEMP-TABLE Performance Tuning & Other Important Stuff
Advanced Databases Basic Database Administration Guide to Oracle 10g 1.
ObjectStore Martin Wasiak. ObjectStore Overview Object-oriented database system Can use normal C++ code to access tuples Easily add persistence to existing.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
New Generation of OpenEdge ® RDBMS Advanced Storage Architecture II Tomáš Kučera Principal Solution Engineer / EMEA Power Team.
MOVE-4: Upgrading Your Database to OpenEdge® 10 Gus Björklund Wizard, Vice President Technology.
1 PUG Challenge Americas 2015 Click to edit Master title style PUG Challenge USA 2015 Top Performance Enhancers & Destroyers Presented by: Dan Foreman.
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Module 8: Server Management. Overview Server-level and instance-level resources such as memory and processes Database-level resources such as logical.
DB-13: Understanding VSTs By Paul Guggenheim. Copyright © 2005 Paul Guggenheim & Associates 2 DB-13: Understanding VSTs 2 About PGA  Working in Progress.
Birth, Death, Infinity Gus Björklund. Progress. Dan Foreman. BravePoint. PUG Challenge Americas, 9-12 June 2013.
Database Storage Considerations Adam Backman White Star Software DB-05:
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Top Performance Enhancers Top Performance Killers in Progress Dan Foreman Progress Expert
Module 7: Fundamentals of Administering Windows Server 2008.
Strength. Strategy. Stability.. Progress Performance Monitoring and Tuning Dan Foreman Progress Expert BravePoint BravePoint
Physical Database Design Chapter 6. Physical Design and implementation 1.Translate global logical data model for target DBMS  1.1Design base relations.
MySQL. Dept. of Computing Science, University of Aberdeen2 In this lecture you will learn The main subsystems in MySQL architecture The different storage.
© Dennis Shasha, Philippe Bonnet – 2013 Communicating with the Outside.
The protection of the DB against intentional or unintentional threats using computer-based or non- computer-based controls. Database Security – Part 2.
OPS-1: DBA How Healthy is Your Database Today? Libor LaubacherRuanne Cluer Principal Tech Support Engineer.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
SQLRX – SQL Server Administration – Tips From the Trenches SQL Server Administration – Tips From the Trenches Troubleshooting Reports of Sudden Slowdowns.
© 2006 Cisco Systems, Inc. All rights reserved.1 Connection 7.0 Serviceability Reports Todd Blaisdell.
Advanced JSP, Taglibs and Struts
ESRI User Conference 2004 ArcSDE. Some Nuggets Setup Performance Distribution Geodatabase History.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Visual Basic for Application - Microsoft Access 2003 Finishing the application.
Using Progress® Analytical Tools Adam Backman White Star Software DONE-05:
Preface 1Performance Tuning Methodology: A Review Course Structure 1-2 Lesson Objective 1-3 Concepts 1-4 Determining the Worst Bottleneck 1-5 Understanding.
20 Copyright © 2008, Oracle. All rights reserved. Cache Management.
for all Hyperion video tutorial/Training/Certification/Material Essbase Optimization Techniques by Amit.
Oracle Business Intelligence Foundation – Testing and Deploying OBI Repository.
21 Copyright © 2008, Oracle. All rights reserved. Enabling Usage Tracking.
1 Michigan Progress Users Group 2015 Strength. Strategy. Stability. Identifying Performance Issues in Progress Code and Queries.
Dynamicpartnerconnections.com Development for performance Oleksandr Katrusha, Program manager
Database Planning Database Design Normalization.
What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently and safely. Provide.
SQL Advanced Monitoring Using DMV, Extended Events and Service Broker Javier Villegas – DBA | MCP | MCTS.
3 Copyright © 2006, Oracle. All rights reserved. Designing and Developing for Performance.
Bigtable A Distributed Storage System for Structured Data.
Oracle Database Architectural Components
Introduction to OpenEdge Change Data Capture
Jonathan Walpole Computer Science Portland State University
Module 11: File Structure
CS422 Principles of Database Systems Course Overview
Informatica PowerCenter Performance Tuning Tips
Top Performance Enhancers & Destroyers
Query Tuning without Production Data
Walking Through A Database Health Check
Progress System Tables
Turbo-Charged Transaction Logs
Instructor 彭智勇 武汉大学软件工程国家重点实验室 电话:
Efficient Coding and Indexing
Database administration
Inside the Database Engine
Presentation transcript:

Progress System Tables Dan Foreman BravePoint, Inc. Email: danf@prodb.com BravePoint

Introduction - Dan Foreman Progress User since 1984 (V2.1) Presenter at lots of Progress conferences dating back to 1990 BravePoint

Introduction - Dan Foreman Author of: Progress Performance Tuning Guide Progress Database Admin Guide Progress Virtual System Tables Pro D&L - Dump/Load with short down time no matter how large the Database is ProMonitor – DB monitoring tool (uses VSTs) ProCheck – Monitor AppServers & WebSpeed BravePoint

What are Virtual System Tables Virtual System tables (VSTs) provide access to Database Shared Memory data that was previously only accessible through promon It’s possible to customize the user interface Accessible Locally or Remotely via the 4GL or SQL BravePoint

What are Virtual System Tables VSTs are Schema Tables They do not interfere with Application tables and Indexes VSTs are not part of the empty Database in V8 Enable with proutil <db> -C enablevst Are part of the V9/V10/V11 empty Database Are visible in the Dictionary (must view ‘Hidden’ tables) BravePoint

What are Virtual System Tables Some new tables and fields are not in the “native” empty DB unless: proutil –C updatevst is run Example: New VST fields added in V10.2B SP6 The feature must be enabled: Auditing: proutil enableauditing TDE Multi-Tenancy BravePoint

What are Virtual System Tables VSTs in the Standard empty DB V8.2 30 tables V8.3 35 tables V9.0-V9.1C 39 tables V9.1D 42 tables V10 45 tables V10.1B 47 tables BravePoint

What are Virtual System Tables promon can lag behind VSTs; Examples: _TableStat & _IndexStat (V8.3) _AreaStatus (V9 and later) Conversely VSTs can lag behind also: _Startup BravePoint

Resource Impact of VSTs There is no performance penalty for accessing VSTs with 2 exceptions that will be covered later VSTs take up no additional disk space except for the VST schema VSTs take up a small amount of memory to cache the additional schema Except –tablerangesize & -indexrangesize can increase DB Shared Memory by a surprising amount BravePoint

VST Implementation Whenever a record is requested, the table is checked to see if it’s a VST table. VST tables have table numbers between -16385 to -32768. The check is simple arithmetic which takes place regardless of whether VSTs have been enabled or not BravePoint

VST Implementation If a requested record is a VST record, the fields are populated from shared memory structures instead of from a database record BravePoint

VST Basics Each VST has one, unique index on the ‘Id’ field which is a ‘virtual’ RECID Each VST record is numbered starting at 1 and continues sequentially (some exceptions) It is not possible to add new indexes or triggers to VSTs BravePoint

VST Basics Some VST Record Counts are controlled by startup parameters _connect -n & -Mn _LockReq -n & -Mn _UserIO -n & -Mn _UserLock -n & -Mn _UserStatus -n & -Mn _Trans -n _Servers -Mn _Lock -L BravePoint

VST Basics The tables on the last slide are pre-populated at Database Broker startup time The empty slots have “?” values To avoid displaying the empty slots: FOR EACH _connect WHERE _connect-usr <> ? The <> operator is not a performance problem since VSTs are not really ‘indexed’ BravePoint

Which Database If a Client is connected to multiple Databases, the VST Statistics will be based upon the Current Working Database BravePoint

Updatable VSTs _Startup-spin -spin _Startup-APWQTime -pwqdelay _Startup-APWSTime -pwsdelay _Startup-APWBuffs -pwscan _Startup-APWMaxWrites -pwwmax _Startup- BravePoint

Updateable in V10.2B SP6 _Startup._Startup-LRU-Skips _Startup._Startup-NmsgWait _Startup._Startup-Pefetch-Delay _Startup._Startup-Prefetch-Factor _Startup._Startup-Prefetch-Num-Recs _Startup._Startup-Prefetch-Priority BravePoint

Updatable VSTs _MyConnect-NumSeqBuffers Added in V9 Same as –Bp parameter Number of Sequential Read Buffers Makes it possible to run a large report with a less severe impact on the -B Buffer Cache Example on the next slide BravePoint

Updatable VSTs DO FOR _MyConnect TRANSACTION : FIND FIRST _MyConnect. _myconnect-numseqbuffers = 32. END. RUN killer_report.p. _myconnect-numseqbuffers = 0. BravePoint

Updatable VSTs _StatBase._TableBase _StatBase._IndexBase V9 and later Used to set the window size of Tables and Indexes monitored using the _TableStat and _IndexStat VSTs or to reset (zero out) the statistics by moving the “window” up and then down BravePoint

Table & Index I/O VSTs Note that _TableStat and _IndexStat are available in V8.3 and very helpful for Storage Area Planning Use _IndexStat to identify unused indexes; COMPILE/XREF is only good for finding indexes that are defined but not used in the code; COMPILE/XREF is useless for Dynamic Queries BravePoint

VST Problems Potential Performance Killers _Block ( V8, useless in V9/V10/V11 ) _Lock ( FOR EACH _lock WHILE … ) _UserLock ( DO loops of 512 iterations ) Too Much Data for One Screen _Block-block x(1024) _UserLock-* Several arrays of 512 Missing Data _DBStatus BravePoint

VST Problems Storage VSTs are defined as INTEGERs which limits the maximum value to about 2 billion – prior to V10.1B Poorly documented (see my System Table Guide for better documentation) Stale Data _Lock (total # of records) compared to _DbStatus-NumLocks BravePoint

System Tables - MetaSchema _File _Field _Index _Index-Field _File-Trig _Field-Trig _Db _Sequence BravePoint

System Tables - Other SQL Auditing Encryption Multi-Tenancy Authentication (GRANTs & REVOKEs) Views Constraints Query Optimizer statistics Auditing Encryption Multi-Tenancy BravePoint

Usefulness VSTs are useful for two types of Progress users Application Developers Database Administrators Who else is there? BravePoint

For Developers Can view the lock status for an individual record _Lock VST shows all active locks and who has the lock We can easily find the Table name of the record being locked by doing a join to the _File table _Trans VST shows all active transactions BravePoint

For Developers Deadly Embrace (Deadlock) Detection _Connect “Delinquent” Active Transactions that grow the BI File to an abnormally large size _Trans BravePoint

For Developers Improve code efficiency by measuring: User DB Accesses, Reads, etc. Reads, Writes, Creates, Deletes by Table _TableStat Unused indexes; Logical Scatter Factor _IndexStat BravePoint

For Developers Name & attributes of a Field find _file “customer” no-lock. for each _field of _file no-lock : display _field-name _data-type _format _extent. end. BravePoint

DBAs - Tables of interest Monitoring the BI High Water Mark _DbStatus._dbstatus-bisize Available in V8.3 and later V8: BI Size in Bytes V9 & later: BI Size divided by BI Block Size BravePoint

DBAs - Tables of interest Monitoring Database Size promon doesn’t have the correct data Each Storage Area has a separate High Water Mark _AreaStatus _AreaStatus-AreaName _AreaStatus-HiWater _AreaStatus-TotBlocks _AreaStatus-LastExtent _AreaStatus-Extents BravePoint

DBAs - Tables of Interest Record Fragmentation _Record._Record-RecRead _Record._Record-FragRead dbanalys/tabanalys only shows how many Fragments exist, not how often the Fragments are accessed BravePoint

DBAs - Tables of Interest What Client is running what Program _Connect-Cache* Also Line# for 4GL Code Or SQL Statement Since V10.1C What Tables is a Client Hitting _UserTableStat Since V10.1B BravePoint

For More Information Progress System Tables Guide 200+ pages Covers V8 through V11 Covers VSTs and System Tables Has lots of undocumented information BravePoint

ProMonitor Written using (mostly) VSTs Source Code provided for most Programs Threshold Alerts warn of problems Monitor an unlimited number of DBs Monitors more than just VST Statistics Session Temp File I/O Client Memory Utilization DB Log File Monitoring DB Fragmentation/Scatter Monitoring AppServers, WebSpeed, AdminServer, etc BravePoint

Conclusion Questions? Dan Foreman danf@prodb.com www.BravePoint.com