progress openedge database administration guide and reference

of 742 /742
Progress Database Administration Guide and Reference

Author: bap-rang

Post on 20-Aug-2015

3.150 views

Category:

Technology


21 download

Embed Size (px)

TRANSCRIPT

  1. 1. ProgressDatabase AdministrationGuide and Reference
  2. 2. 2002 Progress Software Corporation. All rights reserved.Progresssoftware products are copyrighted and all rights are reserved by Progress Software Corporation. This manual is alsocopyrighted and all rights are reserved. This manual may not, in whole or in part, be copied, photocopied, translated, or reducedto any electronic medium or machine-readable form without prior consent, in writing, from Progress Software Corporation.The information in this manual is subject to change without notice, and Progress Software Corporation assumes no responsibilityfor any errors that may appear in this document.The references in this manual to specific platforms supported are subject to change.Progress, Powered by Progress, Progress Fast Track, Progress Profiles, Partners in Progress, Partners en Progress, Progress enPartners, Progress in Progress, P.I.P., Progress Results, ProVision, ProCare, ProtoSpeed, SmartBeans, SpeedScript, andWebSpeed are registered trademarks of Progress Software Corporation in the U.S. and other countries. A Data Center of YourVery Own, Allegrix, Apptivity, AppsAlive, AppServer, ASPen, ASP-in-a-Box, Empowerment Center, Fathom, Future Proof,IntelliStream, OpenEdge, PeerDirect, POSSE, POSSENET, Progress Dynamics, Progress Software Developers Network,SectorAlliance, SmartObjects and WebClient are trademarks or service marks of Progress Software Corporation in the U.S. andother countries.SonicMQ is a registered trademark of Sonic Software Corporation in the U.S. and other countries.Vermont Views is a registered trademark of Vermont Creative Software in the U.S. and other countries.Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.Any other trademarks and/or service marks contained herein are the property of their respective owners.Progress Software Corporation acknowledges the use of Raster Imaging Technology copyrighted by Snowbound Software 1993-1997, the IBM XML Parser for Java Edition, and software developed by the Apache Software Foundation (http://www.apache.org/). IBM Corporation 1998-1999. All rights reserved. U.S. Government Users Restricted Rights Use, duplication or disclosurerestricted by GSA ADP Schedule Contract with IBM Corp.Progress is a registered trademark of Progress Software Corporation and is used by IBM Corporation in the mark Progress/400under license. Progress/400 AND 400are trademarks of IBM Corporation and are used by Progress Software Corporationunder license.The implementation of the MD5 Message-Digest Algorithm used by Progress Software Corporation in certain of its products isderived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.Product Code: 4590Item Number: 89434;V9.1DMay 2002
  3. 3. ContentsPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiPurpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiAudience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiOrganization of This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiPart I Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiiiPart II Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxivPart III Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvHow To Use This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviTypographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviSyntax Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviiExample Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiProgress Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxivOther Useful Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviGetting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviDevelopment Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviiReporting Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxviii4GL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxixDatabase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlDataServers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xlSQL-89/Open Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliSQL-92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliDeployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliiWebSpeed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliiReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xliii1. The Progress Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.1 Progress Database Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.1.1 Other Database-related Files . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 Storage Design Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  4. 4. Contentsiv1.2.1 Storage Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.2 Extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.2.3 Storage Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3 Determining Configuration Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.1 System Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.2 Connection Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.3 Database Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101.3.4 Database Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101.4 Operating System Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121.5 Multi-threaded Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131.6 Multi-tier and Cluster Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141.7 Self-service and Network Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1151.8 Relative- and Absolute-path Databases . . . . . . . . . . . . . . . . . . . . . . . . . 1152. Administrative Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1 Block Size Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.1 Guidelines For Choosing Storage Area Locations . . . . . . . . . . 232.2 Calculating Database Disk Requirements . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Storing Database Extents On Raw Partitions . . . . . . . . . . . . . . . . . . . . . 273. Progress Database Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1 Database Block Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2 Number and Size Of Storage Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3 Maximum Number Of Records Per Block . . . . . . . . . . . . . . . . . . . . . . . . 353.4 Table and Index Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.5 Number Of Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.6 Maximum Size Of the Primary Recovery (BI) Area . . . . . . . . . . . . . . . . . 363.7 Maximum Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.8 Number Of Connections Per Database . . . . . . . . . . . . . . . . . . . . . . . . . . 373.9 Number Of Simultaneous Transactions Per Database . . . . . . . . . . . . . . 373.10 Size Of Database Buffer Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.11 Progress Database Name Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.12 Applicable Operating System Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.13 Data Types and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3104. Creating and Deleting Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.1 Ways To Create a Progress Database . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2 Creating a Database With PROSTRCT CREATE . . . . . . . . . . . . . . . . . . 424.2.1 Creating a Structure Description File . . . . . . . . . . . . . . . . . . . 434.2.2 Create a Database Structure Extent . . . . . . . . . . . . . . . . . . . . 4104.2.3 Adding Schema To a Void Database . . . . . . . . . . . . . . . . . . . . 4114.3 Creating a Database With the PRODB Utility . . . . . . . . . . . . . . . . . . . . . 4124.4 Creating a Database With the Data Administration Tool . . . . . . . . . . . . . 4144.5 Migrating Version 8 Databases To Version 9 Databases . . . . . . . . . . . . 415
  5. 5. Contentsv4.5.1 Converting a Single-volume Version 8 Database WithPROCOPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4164.5.2 Converting a Single-volume Version 8 Database WithPROREST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4174.5.3 Converting a Single-volume Version 8 Database WithPROSTRCT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4184.5.4 Converting a Version 8 Database To Version 9. . . . . . . . . . . . 4184.6 Using the Schema Mover After Conversion . . . . . . . . . . . . . . . . . . . . . . 4194.7 Copying a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4224.8 AutoConvert Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4244.9 Deleting a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4245. Starting Up and Shutting Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.1 The Progress Explorer Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.1 AdminServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.2 Progress Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525.1.3 Command-line Configuration Utilities . . . . . . . . . . . . . . . . . . . 535.1.4 Using the DBMAN Command-Line Utility . . . . . . . . . . . . . . . . 545.2 Starting a Server Or Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2.1 Using the PROSERVE Command . . . . . . . . . . . . . . . . . . . . . . 555.2.2 Specifying International Character Sets . . . . . . . . . . . . . . . . . 565.2.3 Network Addressing With Progress (- S and -H) . . . . . . . . . . 575.2.4 Starting Network Brokers and Servers. . . . . . . . . . . . . . . . . . . 575.2.5 Starting Multiple Brokers Using the Same Protocol . . . . . . . . 585.2.6 Accessing a Server Behind a Firewall . . . . . . . . . . . . . . . . . . . 595.3 Starting and Stopping Background Writers . . . . . . . . . . . . . . . . . . . . . . 5105.3.1 Starting and Stopping an APW . . . . . . . . . . . . . . . . . . . . . . . . 5105.3.2 Starting and Stopping a BIW . . . . . . . . . . . . . . . . . . . . . . . . . . 5115.3.3 Starting and Stopping an AIW . . . . . . . . . . . . . . . . . . . . . . . . . 5115.4 Stopping a Server Or Broker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5125.4.1 PROSHUT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5125.4.2 PROMON Shut Down Database Option . . . . . . . . . . . . . . . . . 5156. Backup and Recovery Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.1 Identifying Files For Back Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626.2 Determining the Type Of Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636.2.1 Incremental Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646.2.2 Online Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656.2.3 Offline Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.3 Choosing Backup Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666.4 Creating a Backup Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.4.1 Database Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676.4.2 Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686.4.3 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
  6. 6. Contentsvi6.4.4 Unscheduled Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.5 Developing a Recovery Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.5.1 Lost Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6106.5.2 Duration Of Offline Applications . . . . . . . . . . . . . . . . . . . . . . . . 6106.5.3 Time Needed For Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . 6116.5.4 Distributed Transactions Occurring Inconsistently . . . . . . . . . . 6126.6 Recovery Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6137. Backing Up a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717.1 Performing a Progress Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727.1.1 Performing an Online Full Backup With PROBKUP . . . . . . . . . 737.1.2 Progress Backup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757.1.3 Testing Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767.1.4 Archiving Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787.2 Performing an Offline Progress Backup . . . . . . . . . . . . . . . . . . . . . . . . . 797.3 Performing an Online Progress Backup . . . . . . . . . . . . . . . . . . . . . . . . . 7107.4 Using Database Quiet Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7117.5 Performing a Non-Progress Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7137.6 Database Backup Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7147.6.1 UNIX Incremental Backup Example . . . . . . . . . . . . . . . . . . . . . 7147.6.2 Windows Full Backup Example. . . . . . . . . . . . . . . . . . . . . . . . . 7177.6.3 Incremental Backup Example . . . . . . . . . . . . . . . . . . . . . . . . . . 7207.7 Verifying a Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7237.8 CRC Codes and Redundancy In Backup Recovery . . . . . . . . . . . . . . . . 7247.8.1 CRC Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7247.8.2 Error-correction Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7257.9 Restoring a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7257.9.1 Using the PROREST Utility To Restore a Database . . . . . . . . 7267.9.2 Important Rules For Restoring Backups . . . . . . . . . . . . . . . . . . 7277.9.3 Obtaining Storage Area Descriptions Using PROREST . . . . . 7287.9.4 Database Restore Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 7298. Recovering a Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818.1 Introduction To Recovery Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . 828.1.1 Crash Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838.1.2 Roll-forward Recovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848.1.3 Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868.2 File Locations That Ensure Safe Recovery . . . . . . . . . . . . . . . . . . . . . . . 868.3 Sample Recovery Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878.3.1 Example 1: Low Availability Requirements . . . . . . . . . . . . . . . . 878.3.2 Example 2: Moderate Availability Requirements . . . . . . . . . . . 888.3.3 Example 3: Moderate-to-High Availability Requirements . . . . . 898.3.4 Example 4: High Availability Requirements . . . . . . . . . . . . . . . 8108.3.5 Sample Recovery Scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . 811
  7. 7. Contentsvii8.4 After-imaging and Roll-forward Recovery Commands . . . . . . . . . . . . . . 8168.5 Recovering From System Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8178.5.1 System Crash While Running RFUTIL ROLL FORWARD. . . . 8178.5.2 System Crash While Running Other Utilities . . . . . . . . . . . . . . 8178.5.3 System Crash While Backing Up the Database. . . . . . . . . . . . 8188.5.4 System Crash While Database Is Up. . . . . . . . . . . . . . . . . . . . 8188.6 Recovering From Media Failures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8188.6.1 Loss Of the DB Files, BI Files, Or Both . . . . . . . . . . . . . . . . . . 8198.6.2 Loss Of the AI File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8198.6.3 Loss Of Database Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8208.6.4 Loss Of Transaction Log File . . . . . . . . . . . . . . . . . . . . . . . . . 8218.7 Recovering From a Full Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8218.7.1 After-image Area Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8228.7.2 Control Or Primary Recovery Area Disk . . . . . . . . . . . . . . . . . 8228.7.3 Transaction Log File Disk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8238.8 Truncating the BI File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8248.9 Recovering From a Crash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8248.10 Recovering From a Lost Or Damaged Control Area . . . . . . . . . . . . . . . 8258.11 Unlocking Damaged Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8268.12 Dumping Tables From a Damaged Database . . . . . . . . . . . . . . . . . . . . 8278.13 Forcing Access To a Damaged Database With the -F Parameter . . . . . 8289. Maintaining Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919.1 The Progress Structure Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929.2 Progress Structure Statistics Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929.3 Progress Structure List Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939.4 Progress Structure Add Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959.4.1 PROSTRCT ADD and Pathnames . . . . . . . . . . . . . . . . . . . . . 969.4.2 Adding Extents to Existing Storage Areas . . . . . . . . . . . . . . 979.5 Progress Structure Remove Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989.6 Maintaining Indexes and Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999.6.1 Moving Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999.6.2 Moving Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9119.6.3 Compacting Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9119.7 Using Virtual System Tables To Obtain Status Of Administration Utilities 91210. Maintaining Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10110.1 Establishing a Progress User ID and Password . . . . . . . . . . . . . . . . . . 10210.1.1 Progress User ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10210.1.2 Progress Password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10210.1.3 Validating a Progress User ID and Password . . . . . . . . . . . . . 10310.2 Establishing Authentication For Your Progress Database . . . . . . . . . . . 10310.2.1 4GL Tables Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10310.2.2 SQL-92 Tables Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
  8. 8. Contentsviii10.2.3 Both 4GL and SQL-92 Tables. . . . . . . . . . . . . . . . . . . . . . . . . . 10410.3 Connection Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10510.3.1 Designating a Security Administrator . . . . . . . . . . . . . . . . . . . . 10510.3.2 Adding a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10710.3.3 Deleting a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10910.3.4 Changing a Password. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10910.4 Running a User Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101010.5 Schema Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101110.5.1 Freezing and Unfreezing a Table . . . . . . . . . . . . . . . . . . . . . . . 101210.6 Operating Systems and Database Security . . . . . . . . . . . . . . . . . . . . . . 101211. After-Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11111.1 After-image Areas and Extents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11211.2 Estimating After-imaging Disk Space Requirements . . . . . . . . . . . . . . . . 11311.3 Creating After-image Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11411.4 Enabling After-imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11511.5 Managing After-imaging Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11611.5.1 Monitoring AI File Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11611.5.2 Switching To a New AI File . . . . . . . . . . . . . . . . . . . . . . . . . . . 11711.5.3 Archiving an AI File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11811.6 Performing Roll-forward Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111211.7 Disabling After-imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111312. Using Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12112.1 Distributed Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12212.2 How The Database Engine Implements Two-phase Commit . . . . . . . . . 12312.2.1 Two-phase Commit and Roll-forward Recovery . . . . . . . . . . . . 12612.3 Enabling Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12712.3.1 Modifying the Database Nickname and Priority . . . . . . . . . . . . 12812.3.2 Transaction Log Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12912.4 Detecting Limbo Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121012.5 Resolving Limbo Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121112.5.1 Resolving Limbo Transactions With the Database In Use . . . . 121112.5.2 Resolving Limbo Transactions With the Database Shut Down. 121512.5.3 Resolving Limbo Transaction Scenarios. . . . . . . . . . . . . . . . . . 121712.6 Deactivating Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121912.7 Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121913. Dumping and Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13113.1 Overview Of Dumping and Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13213.1.1 Dump and Load Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . 13313.2 Dumping 4GL Database Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13313.2.1 Definition File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13413.2.2 Dumping 4GL Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
  9. 9. Contentsix13.2.3 Creating an Incremental 4GL Data Definitions File . . . . . . . . . 13713.2.4 Dumping Sequence Definitions . . . . . . . . . . . . . . . . . . . . . . . . 13813.2.5 Dumping Auto-connect Records . . . . . . . . . . . . . . . . . . . . . . . 13913.3 Dumping Database Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13913.3.1 Dumping Table Contents With PROUTIL. . . . . . . . . . . . . . . . . 131013.3.2 Dumping Field Contents With PROUTIL . . . . . . . . . . . . . . . . . 131213.3.3 Dumping Table Contents With a Data Tool . . . . . . . . . . . . . . . 131413.3.4 Contents File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131513.3.5 Dumping Sequence Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 131713.3.6 Dumping User Table Contents. . . . . . . . . . . . . . . . . . . . . . . . . 131713.3.7 Dumping an SQL View Files Contents . . . . . . . . . . . . . . . . . . 131813.4 Loading Database Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131813.4.1 Loading Table Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131813.4.2 Loading Updated 4GL Data Definitions . . . . . . . . . . . . . . . . . . 131913.5 Loading Database Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132013.5.1 Loading Table Contents With the PROUTIL Command. . . . . . 132113.5.2 Loading Table Contents With a Data Tool . . . . . . . . . . . . . . . . 132213.5.3 Loading User Table Contents . . . . . . . . . . . . . . . . . . . . . . . . . 132313.5.4 Loading an SQL View File Contents . . . . . . . . . . . . . . . . . . . . 132413.5.5 Loading Sequence Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132413.6 Bulk Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132513.6.1 Creating a Bulk Loader Description File. . . . . . . . . . . . . . . . . . 132513.6.2 Modifying a Bulk Loader Description File . . . . . . . . . . . . . . . . 132613.6.3 Loading Table Contents With the Bulk Loader Qualifier . . . . . 132713.7 Reconstructing Bad Load Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133013.8 Specialized Dump and Load Techniques . . . . . . . . . . . . . . . . . . . . . . . . 133013.8.1 Creating a Starting Version Of a Database . . . . . . . . . . . . . . . 133013.8.2 Using a Constant Table In Multiple Databases . . . . . . . . . . . . 133213.8.3 Economizing Disk Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133213.8.4 Optimizing Data For Sequential Access. . . . . . . . . . . . . . . . . . 133313.8.5 Optimizing Data For Random Access . . . . . . . . . . . . . . . . . . . 133413.8.6 Using No-integrity Mode Bulk Data Loading . . . . . . . . . . . . . . 133613.8.7 Using 4GL Tools To Save Space By Deactivating Indexes . . . 133614. Managing Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14114.1 Introduction To Performance Managing . . . . . . . . . . . . . . . . . . . . . . . . . 14214.2 Tools For Monitoring Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14314.2.1 PROMON Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14314.2.2 Virtual System Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14314.2.3 NT Performance Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14314.3 Server Performance Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14414.4 CPU Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14514.4.1 Idle CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14514.4.2 Unproductive CPU Processing. . . . . . . . . . . . . . . . . . . . . . . . . 145
  10. 10. Contentsx14.5 Disk I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14614.5.1 Database I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14614.5.2 Before-image I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141814.5.3 After-image I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142714.5.4 Direct I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143014.6 Memory Utilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143114.6.1 Monitoring Memory Utilization. . . . . . . . . . . . . . . . . . . . . . . . . . 143114.6.2 Controlling Memory Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143214.7 Operating System Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143314.7.1 Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143314.7.2 Semaphores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143414.7.3 Spin Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143714.7.4 File Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143714.8 Database Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143714.8.1 Analyzing Database Fragmentation . . . . . . . . . . . . . . . . . . . . . 143714.8.2 Eliminating Database Fragmentation . . . . . . . . . . . . . . . . . . . . 143914.9 Index Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143914.9.1 Analyzing Index Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144014.9.2 Compacting Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144114.9.3 Rebuilding Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144214.10 Virtual System Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144715. Replicating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15115.1 Replication Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15215.1.1 Trigger-based Replication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15215.1.2 Log-based Site Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15215.2 Replication Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15215.2.1 Synchronous Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15215.2.2 Asynchronous Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15315.2.3 Database Ownership Models . . . . . . . . . . . . . . . . . . . . . . . . . . 15315.3 Implementing Log-based Site Replication . . . . . . . . . . . . . . . . . . . . . . . . 15715.3.1 Log-based Replication Procedure. . . . . . . . . . . . . . . . . . . . . . . 15716. Using the Event Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16116.1 Progress Version 9 Event Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16216.2 Managing the Event Log File Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16216.3 Event Logging On Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16216.3.1 Managing Progress Events On Windows . . . . . . . . . . . . . . . . . 16316.3.2 Understanding the Event Log Components . . . . . . . . . . . . . . . 16416.3.3 The Event Log and the Registry . . . . . . . . . . . . . . . . . . . . . . . . 16717. Startup and Shutdown Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17117.1 Startup Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17217.2 Database Startup and Shutdown Commands . . . . . . . . . . . . . . . . . . . . . 173
  11. 11. ContentsxiPROAIW Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174PROAPW Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175PROBIW Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176PROQUIET Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177PROSERVE Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179PROSHUT Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1711PROWDOG Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171518. Database Startup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18118.1 Issuing Startup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18218.2 Database Server Performance Parameters . . . . . . . . . . . . . . . . . . . . . . 18218.3 Database Server-type Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18418.4 Database Server Internationalization Parameters . . . . . . . . . . . . . . . . . 18418.5 Database Server Statistics Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 18518.6 Database Server Network Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 18618.7 Startup Parameter Usage Categories . . . . . . . . . . . . . . . . . . . . . . . . . . 18818.8 Alphabetical Listing Of Database Startup Parameters . . . . . . . . . . . . . . 18818.8.1 AdminServer Port (-adminport) . . . . . . . . . . . . . . . . . . . . . . . . 18818.8.2 After-image Buffers (-aibufs) . . . . . . . . . . . . . . . . . . . . . . . . . . 18918.8.3 After-image Stall (-aistall) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181018.8.4 Blocks In Database Buffers (-B). . . . . . . . . . . . . . . . . . . . . . . . 181018.8.5 Base Index (-baseindex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181118.8.6 Base Table (-basetable). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181218.8.7 Before-image Buffers (-bibufs) . . . . . . . . . . . . . . . . . . . . . . . . 181318.8.8 Threshold Stall (-bistall) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181318.8.9 Recovery Log Threshold (-bithold). . . . . . . . . . . . . . . . . . . . . . 181418.8.10 SQL-92 Server Java Classpath (-classpath) . . . . . . . . . . . . . . 181418.8.11 Conversion Map (-convmap) . . . . . . . . . . . . . . . . . . . . . . . . . . 181518.8.12 Case Table (-cpcase). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181518.8.13 Collation Table (-cpcoll) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181618.8.14 Internal Code Page (-cpinternal) . . . . . . . . . . . . . . . . . . . . . . . 181718.8.15 Log File Code Page (-cplog) . . . . . . . . . . . . . . . . . . . . . . . . . . 181818.8.16 Print Code Page (-cpprint) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181818.8.17 R-code In Code Page (-cprcodein) . . . . . . . . . . . . . . . . . . . . . 181918.8.18 Stream Code Page (-cpstream) . . . . . . . . . . . . . . . . . . . . . . . 182018.8.19 Terminal Code Page (-cpterm). . . . . . . . . . . . . . . . . . . . . . . . . 182118.8.20 Direct I/O (-directio) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182118.8.21 Event Level (-evtlevel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182218.8.22 Before-image Cluster Age (-G) . . . . . . . . . . . . . . . . . . . . . . . . 182318.8.23 Group Delay (-groupdelay) . . . . . . . . . . . . . . . . . . . . . . . . . . . 182318.8.24 Host Name (-H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182418.8.25 Hash Table Entries (-hash) . . . . . . . . . . . . . . . . . . . . . . . . . . . 182418.8.26 No Crash Protection (-i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182518.8.27 Index Range Size (-indexrangesize) . . . . . . . . . . . . . . . . . . . . 1826
  12. 12. Contentsxii18.8.28 Lock Table Entries (-L) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182618.8.29 Auto Server (-m1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182718.8.30 Manual Server (-m2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182818.8.31 Secondary Login Broker (-m3) . . . . . . . . . . . . . . . . . . . . . . . . . 182818.8.32 Maximum Clients Per Server (-Ma) . . . . . . . . . . . . . . . . . . . . . 182918.8.33 Maximum Dynamic Server (-maxport) . . . . . . . . . . . . . . . . . . . 182918.8.34 Delayed BI File Write (-Mf) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183018.8.35 Minimum Clients Per Server (-Mi). . . . . . . . . . . . . . . . . . . . . . . 183118.8.36 Minimum Dynamic Server (-minport) . . . . . . . . . . . . . . . . . . . . 183218.8.37 Maximum Servers (-Mn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183218.8.38 Servers Per Protocol (-Mp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183318.8.39 Maximum Servers Per Broker (-Mpb) . . . . . . . . . . . . . . . . . . . . 183318.8.40 VLM Page Table Entry Optimization (-Mpte) . . . . . . . . . . . . . . 183418.8.41 Shared-memory Overflow Size (-Mxs) . . . . . . . . . . . . . . . . . . . 183418.8.42 Network Type (-N). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183518.8.43 Number Of Users (-n) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183518.8.44 Parameter File (-pf). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183618.8.45 Pin Shared Memory (-pinshm) . . . . . . . . . . . . . . . . . . . . . . . . . 183618.8.46 Configuration Properties File (-properties) . . . . . . . . . . . . . . . . 183718.8.47 Buffered I/O (-r). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183718.8.48 Service Name (-S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183818.8.49 Semaphore Sets (-semsets) . . . . . . . . . . . . . . . . . . . . . . . . . . . 183918.8.50 Server Group (-servergroup). . . . . . . . . . . . . . . . . . . . . . . . . . . 184018.8.51 Spin Lock Retries (-spin). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184018.8.52 Table Range Size (-tablerangesize) . . . . . . . . . . . . . . . . . . . . . 184119. Database Administration Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191DBMAN Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193_DBUTIL CMPDB Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197PROADSV Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198PROBKUP Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1910ProControl Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1914PROCOPY Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1917PRODB Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1919PRODEL Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1922Progress Explorer Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1923PROLOG Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1924PROMON Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1925PROMON User Control Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1927PROMON Locking and Waiting Statistics Option . . . . . . . . . . . . . . . . . . . . . . . . . . 1930PROMON Block Access Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1932PROMON Record Locking Table Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935PROMON Activity Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1937PROMON Shared Resources Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1941
  13. 13. ContentsxiiiPROMON Database Status Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1943PROMON Shut Down Database Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1945PROMON Transactions Control Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946PROMON Resolve Limbo Transactions Option . . . . . . . . . . . . . . . . . . . . . . . . . . 1948PROMON Coordinator Information Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1949PROMON Modify Defaults Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1950PROREST Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1952PROSTRCT Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1954PROSTRCT ADD Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1956PROSTRCT BUILDDB Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1957PROSTRCT CREATE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1958PROSTRCT LIST Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1960PROSTRCT REMOVE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1961PROSTRCT REPAIR Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1963PROSTRCT STATISTICS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1964PROSTRCT UNLOCK Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1966PROUTIL Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1967PROUTIL 2PHASE BEGIN Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1971PROUTIL 2PHASE COMMIT Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1973PROUTIL 2PHASE END Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1974PROUTIL 2PHASE MODIFY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1975PROUTIL 2PHASE RECOVER Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1976PROUTIL BIGROW Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1977PROUTIL BULKLOAD Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1978PROUTIL BUSY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1979PROUTIL CHANALYS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981PROUTIL CODEPAGE-COMPILER Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1982PROUTIL CONV89 Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1983PROUTIL CONVCHAR Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1984PROUTIL CONVFILE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1987PROUTIL DBANALYS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1989PROUTIL DBAUTHKEY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1990PROUTIL DBIPCS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1992PROUTIL DUMP Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1994PROUTIL DUMPSPECIFIED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1997PROUTIL ENABLELARGEFILES Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1999PROUTIL ENABLEPDR Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19100PROUTIL HOLDER Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19101PROUTIL IDXANALYS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19103PROUTIL IDXBUILD Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19104PROUTIL IDXCHECK Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19107PROUTIL IDXCOMPACT Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19109PROUTIL IDXFIX Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19111PROUTIL IDXMOVE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19114PROUTIL IOSTATS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19116
  14. 14. ContentsxivPROUTIL LOAD Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19118PROUTIL MVSCH Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19121PROUTIL RCODEKEY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19122PROUTIL TABANALYS Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19124PROUTIL TABLEMOVE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19127PROUTIL TRUNCATE AREA Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19130PROUTIL TRUNCATE BI Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19132PROUTIL UPDATEVST Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19134PROUTIL WBREAK-COMPILER Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19135PROUTIL WORD-RULES Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19136RFUTIL Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19137RFUTIL AIMAGE AIOFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19139RFUTIL AIMAGE BEGIN Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19140RFUTIL AIMAGE END Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19141RFUTIL AIMAGE EXTENT EMPTY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19142RFUTIL AIMAGE EXTENT FULL Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19143RFUTIL AIMAGE EXTENT LIST Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19144RFUTIL AIMAGE NEW Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19145RFUTIL AIMAGE SCAN Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19146RFUTIL AIMAGE TRUNCATE Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19147RFUTIL MARK BACKEDUP Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19149RFUTIL ROLL FORWARD Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19150RFUTIL ROLL FORWARD RETRY Qualifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19152SQLDUMP Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19154SQLLOAD Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19159SQLSCHEMA Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1916420. Virtual System Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20120.1 Update Access To Virtual System Tables . . . . . . . . . . . . . . . . . . . . . . . 20220.2 Virtual System Table Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20220.3 Progress Virtual System Table Schema Descriptions . . . . . . . . . . . . . . 208A. Progress Monitor R&D Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A1Accessing PROMON R&D Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A2PROMON R&D Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A4Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A7Status Displays Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A10Status Displays Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A13Status Displays Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A14Status Displays Processes/Clients All Processes . . . . . . . . . . . . . . . . . . . . . . A16Status Displays Processes/Clients Blocked Clients . . . . . . . . . . . . . . . . . . . . A20Status Displays Processes/Clients Active Transactions . . . . . . . . . . . . . . . . . A21Status Displays Processes/Clients Local Interactive Clients . . . . . . . . . . . . . . A22Status Displays Processes/Clients Local Batch Clients . . . . . . . . . . . . . . . . . A23
  15. 15. ContentsxvStatus Displays Processes/Clients Remote Clients . . . . . . . . . . . . . . . . . . . . A24Status Displays Processes/Clients Background Processes . . . . . . . . . . . . . . A25Status Displays Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A26Status Displays Lock Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A27Status Displays Buffer Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A29Status Displays Logging Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A30Status Displays BI Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A31Status Displays AI Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A32Status Displays Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A33Status Displays Startup Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A34Status Displays Shared Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A36Status Displays Shared Memory Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . A38Activity Displays Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A39Activity Displays Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A43Activity Displays Buffer Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A44Activity Displays Page Writers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A46Activity Displays BI Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A48Activity Displays AI Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A50Activity Displays Lock Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A52Activity Displays I/O Operations By Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A54Activity Displays I/O Operations By File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A56Activity Displays Space Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A57Activity Displays Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A59Activity Displays Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A60Activity Displays Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A62Other Displays Performance Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A63Other Displays I/O Operations By Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . A65Other Displays Lock Requests By User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A66Other Displays Checkpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A67Administrative Functions Resolve Limbo Transactions . . . . . . . . . . . . . . . . . . . A68Administrative Functions Adjust Latch Options . . . . . . . . . . . . . . . . . . . . . . . . . A69Administrative Functions Adjust Page Writer Options . . . . . . . . . . . . . . . . . . . . A70Administrative Functions Adjust Monitor Options . . . . . . . . . . . . . . . . . . . . . . . A71B. Setting Up Progress To Utilize Compaqs NT Clusters . . . . . . . . . . . . . . . . . . B1B.1 Defining NT Clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B2B.1.1 Cluster Administrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B2B.1.2 Failover Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B2B.2 Configuring the NT Cluster System . . . . . . . . . . . . . . . . . . . . . . . . . . . . B4B.3 Progress Database Server Considerations and Configuration . . . . . . . B5B.3.1 ProControl Command-line Interface . . . . . . . . . . . . . . . . . . . . B6B.4 4GL Client Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B11Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index1
  16. 16. ContentsxviFiguresFigure 11: Version 9 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Figure 12: Physical Storage Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Figure 13: Logical Storage Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Figure 14: Federated Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Figure 15: Distributed Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Figure 16: Sample Multi-tier Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Figure 17: Relative-path Database Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Figure 21: Matching Database and File Block Sizes . . . . . . . . . . . . . . . . . . . . . . . 22Figure 41: How The Schema Mover Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421Figure 81: Progress Recovery Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82Figure 82: Storing Database Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Figure 83: Recovery Scenario - Day 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811Figure 84: Recovery Scenario - Day 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812Figure 85: Recovery Scenario - Day 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813Figure 86: Recovery Scenario - Day 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814Figure 87: Recovery Scenario - Day 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815Figure 111: After-image Extents Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Figure 121: Data Inconsistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Figure 122: Two-phase Commit Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Figure 123: Limbo Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Figure 124: How PROUTIL Processes React To Limbo Transactions . . . . . . . . . . . 1210Figure 131: Sample Data Definitions File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Figure 132: Sample Contents File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315Figure 133: Dictionary-created Description File Example . . . . . . . . . . . . . . . . . . . . 1329Figure 134: Copying the Starting Version Of a Database . . . . . . . . . . . . . . . . . . . . 1331Figure 141: Database I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Figure 142: Reads and Writes To Database Buffers . . . . . . . . . . . . . . . . . . . . . . . . 149Figure 143: Evicting Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1410Figure 144: Monitoring Buffer Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1411Figure 145: Block Table (BLKTBL) Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1415Figure 146: APWs and the Least Recently Used Chain . . . . . . . . . . . . . . . . . . . . . . 1416Figure 147: PROMON Page Writers Activity Display . . . . . . . . . . . . . . . . . . . . . . . . 1417Figure 148: PROMON BI Log Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419Figure 149: BI Clusters At Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422Figure 1410: BI Clusters Over Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422Figure 1411: PROMON AI Log Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1428Figure 1412: How a Semaphore Coordinates Concurrent Access . . . . . . . . . . . . . . . 1434Figure 151: Data Distribution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Figure 152: Data Consolidation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155Figure 153: Peer-to-peer Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Figure 154: Example Of Site Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Figure 161: NT Event Log Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164Figure 162: NT Event Detail Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
  17. 17. ContentsxviiFigure 171: Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Figure 191: Utility Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Figure 192: ProControl Main Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1915Figure 193: PROMON Utility Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1925Figure 194: Sample Output For PROMON User Control Option . . . . . . . . . . . . . . . 1927Figure 195: Sample Output For PROMON Locking and Waiting Statistics Option . 1930Figure 196: Sample Output For PROMON Block Access Option . . . . . . . . . . . . . . 1932Figure 197: Sample Output For PROMON Record Locking Table Option . . . . . . . 1935Figure 198: Sample Output For PROMON Activity Option . . . . . . . . . . . . . . . . . . . 1937Figure 199: Sample Output For PROMON Shared Resources Option . . . . . . . . . . 1941Figure 1910: Sample Output For PROMON Database Status Option . . . . . . . . . . . 1943Figure 1911: Sample Output For PROMON Shut Down Database Option . . . . . . . . 1945Figure 1912: Sample Output For PROMON Transaction Control Option . . . . . . . . . 1946Figure 1913: Sample Output For PROMON Resolve Limbo Transactions Option . . 1948Figure 1914: Sample Output For PROMON Coordinator Information Option . . . . . . 1949Figure 1915: PROMON Modify Defaults Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1950Figure A1: PROMON Database Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . A10Figure A2: PROMON Backup Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A13Figure A3: PROMON Servers Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A14Figure A4: PROMON Processes/Clients Status Display . . . . . . . . . . . . . . . . . . . . A16Figure A5: PROMON Blocked Clients Status Display . . . . . . . . . . . . . . . . . . . . . . A20Figure A6: PROMON Active Transactions Status Display . . . . . . . . . . . . . . . . . . A21Figure A7: PROMON Local Interactive Clients Status Display . . . . . . . . . . . . . . . A22Figure A8: PROMON Local Batch Clients Status Display . . . . . . . . . . . . . . . . . . . A23Figure A9: PROMON Remote Clients Status Display . . . . . . . . . . . . . . . . . . . . . . A24Figure A10: PROMON Background Processes Status Display . . . . . . . . . . . . . . . . A25Figure A11: PROMON Files Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A26Figure A12: PROMON Lock Table Status Display . . . . . . . . . . . . . . . . . . . . . . . . . A27Figure A13: PROMON Buffer Cache Status Display . . . . . . . . . . . . . . . . . . . . . . . . A29Figure A14: PROMON Logging Summary Status Display . . . . . . . . . . . . . . . . . . . . A30Figure A15: PROMON BI Log Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A31Figure A16: PROMON AI Log Status Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A32Figure A17: PROMON Two-phase Commit Status Display . . . . . . . . . . . . . . . . . . . A33Figure A18: PROMON Startup Parameters Status Display . . . . . . . . . . . . . . . . . . . A34Figure A19: PROMON Shared Resources Status Display . . . . . . . . . . . . . . . . . . . A36Figure A20: PROMON Shared Memory Segments Status Display . . . . . . . . . . . . . A38Figure A21: PROMON Summary Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . A39Figure A22: PROMON Servers Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . A43Figure A23: PROMON Buffer Cache Activity Display . . . . . . . . . . . . . . . . . . . . . . . A44Figure A24: PROMON Page Writers Activity Display . . . . . . . . . . . . . . . . . . . . . . . A46Figure A25: PROMON BI Log Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A48Figure A26: PROMON AI Log Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A50Figure A27: PROMON Lock Table Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . A52Figure A28: PROMON I/O Operations By Type Activity Display . . . . . . . . . . . . . . . A54Figure A29: PROMON I/O Operations By File Activity Display . . . . . . . . . . . . . . . . A56
  18. 18. ContentsxviiiFigure A30: PROMON Space Allocation Activity Display . . . . . . . . . . . . . . . . . . . . . A57Figure A31: PROMON Index Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A59Figure A32: PROMON Record Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A60Figure A33: PROMON Other Activity Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A62Figure A34: PROMON Performance Indicators Display . . . . . . . . . . . . . . . . . . . . . . A63Figure A35: PROMON I/O Operations By Process Display . . . . . . . . . . . . . . . . . . . A65Figure A36: PROMON Lock Requests By User Display . . . . . . . . . . . . . . . . . . . . . . A66Figure A37: PROMON Checkpoints Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A67Figure A38: PROMON Resolve Limbo Transactions Menu . . . . . . . . . . . . . . . . . . . A68Figure A39: PROMON Adjust Latch Options Menu . . . . . . . . . . . . . . . . . . . . . . . . . A69Figure A40: PROMON Adjust Page Writer Options Menu . . . . . . . . . . . . . . . . . . . . A70Figure A41: PROMON Adjust Monitor Options Menu . . . . . . . . . . . . . . . . . . . . . . . . A71
  19. 19. ContentsxixTablesTable 11: Other Database-related Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Table 12: Interactive Mode Versus Batch Mode . . . . . . . . . . . . . . . . . . . . . . . . . 110Table 13: Database Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Table 21: Formulas For Calculating Database Size . . . . . . . . . . . . . . . . . . . . . . 23Table 22: Formulas For Calculating Field Storage . . . . . . . . . . . . . . . . . . . . . . . 24Table 23: Calculating Database Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Table 31: Storage Area Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Table 32: Maximum Application Data Storage Area Size . . . . . . . . . . . . . . . . . . 33Table 33: Maximum Number Of Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Table 34: Maximum Primary Recovery (BI) Area Size . . . . . . . . . . . . . . . . . . . . 36Table 35: Maximum Number Of Connections Per Database . . . . . . . . . . . . . . . . 37Table 36: Maximum Number Of Simultaneous Transactions . . . . . . . . . . . . . . . 37Table 37: Maximum Buffer Pool Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Table 38: Database Name Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Table 39: SQL-92 Data Type Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310Table 41: ST File Tokens and Storage Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Table 42: Reserved Storage Area Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Table 51: PROSHUT Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Table 52: PROSHUT Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Table 61: Backup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Table 62: Operating System Backup Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Table 63: Backup Media Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Table 64: Availability and Transaction Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Table 65: Availability and Backup Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610Table 66: Availability and Recovery Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611Table 67: Reliability and Two-phase Commit . . . . . . . . . . . . . . . . . . . . . . . . . . . 612Table 71: PROREST Utility Verification Parameters . . . . . . . . . . . . . . . . . . . . . . 77Table 81: Sample Low Availability Requirements . . . . . . . . . . . . . . . . . . . . . . . . 87Table 82: Sample Moderate Availability Requirements . . . . . . . . . . . . . . . . . . . . 88Table 83: Sample Moderate-to-High Availability Requirements . . . . . . . . . . . . . 89Table 84: Sample High Availability Requirements . . . . . . . . . . . . . . . . . . . . . . . . 810Table 85: Utilities Used With Roll-forward Recovery . . . . . . . . . . . . . . . . . . . . . . 816Table 86: Shared-memory Segment Status Fields . . . . . . . . . . . . . . . . . . . . . . . 825Table 111: File Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Table 112: Operating System Backup Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110Table 131: Definitions Dumped To the Definition File . . . . . . . . . . . . . . . . . . . . . . 134Table 132: Data Definitions File Trailer Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Table 133: Contents File Trailer Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316Table 134: Modifying the Description File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326Table 141: Startup Parameters That Affect Memory Allocation . . . . . . . . . . . . . . . 1432Table 142: UNIX Kernel Parameters That Affect Semaphores . . . . . . . . . . . . . . . 1435Table 143: Factor Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1441Table 161: The Progress Event Logging Components . . . . . . . . . . . . . . . . . . . . . 163
  20. 20. ContentsxxTable 162: Event Level Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163Table 163: How Progress Uses Event Log Components . . . . . . . . . . . . . . . . . . . . 164Table 171: Progress Command Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Table 172: Database Startup and Shutdown Commands . . . . . . . . . . . . . . . . . . . . 173Table 181: Server Performance Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Table 182: Server-type Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Table 183: Server Internationalization Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 184Table 184: Server Statistics Collection Parameters . . . . . . . . . . . . . . . . . . . . . . . . 185Table 185: Server Network Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186Table 186: Startup Parameter Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Table 187: Parameter Interpretation With Service Name (-S) . . . . . . . . . . . . . . . . 1839Table 191: Progress Command Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Table 192: Type Column Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1927Table 193: Wait Column Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1928Table 194: Flag Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936Table 195: Event Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1938Table 196: Process Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1940Table 197: PROUTIL Utility Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1967Table 198: RFUTIL Utility Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19137Table 201: Progress Virtual System Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Table 202: After-image Log Activity File (_ActAILog) . . . . . . . . . . . . . . . . . . . . . . . 208Table 203: Before-image Log Activity File (_ActBILog) . . . . . . . . . . . . . . . . . . . . . 209Table 204: Buffer Activity File (_ActBuffer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2010Table 205: Index Activity File (_ActIndex) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2011Table 206: Input/Output Activity File (_ActIOFile) . . . . . . . . . . . . . . . . . . . . . . . . . . 2011Table 207: Input/Output Type Activity File (_ActIOType) . . . . . . . . . . . . . . . . . . . . 2012Table 208: Lock Table Activity File (_ActLock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013Table 209: Other Activity File (_ActOther) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2014Table 2010: Page Writer Activity File (_ActPWs) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2015Table 2011: Record Activity File (_ActRecord) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2016Table 2012: Server Activity File (_ActServer) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2016Table 2013: Space Allocation Activity File (_ActSpace) . . . . . . . . . . . . . . . . . . . . . . 2017Table 2014: Summary Activity File (_ActSummary) . . . . . . . . . . . . . . . . . . . . . . . . . 2018Table 2015: Area Status File (_AreaStatus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2019Table 2016: Block File (_Block) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2020Table 2017: Buffer Status File (_BuffStatus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2020Table 2018: Checkpoint File (_Checkpoint) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2021Table 2019: Database Connection File (_Connect) . . . . . . . . . . . . . . . . . . . . . . . . . 2022Table 2020: Database Status File (_DbStatus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2023Table 2021: Database File Status File (_Filelist) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025Table 2022: Index Statistics File (_IndexStat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2025Table 2023: Latch Statistics File (_Latch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026Table 2024: License Management (_License) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026Table 2025: Lock Table Status File (_Lock) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027Table 2026: Lock Request File (_LockReq) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027
  21. 21. ContentsxxiTable 2027: Logging File (_Logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2028Table 2028: Master Block File (_MstrBlk) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2030Table 2029: User Connection (_MyConnection) . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032Table 2030: Resource Queue Statistics File (_Resrc) . . . . . . . . . . . . . . . . . . . . . . . 2032Table 2031: Segments File (_Segments) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2032Table 2032: Servers File (_Servers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2033Table 2033: Startup File (_Startup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2033Table 2034: Index and Table Statistics Range (_StatBase) . . . . . . . . . . . . . . . . . . 2034Table 2035: Table Statistics File (_TableStat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2035Table 2036: Transaction File (_Trans) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2035Table 2037: Transaction End Lock Statistics (_TxeLock) . . . . . . . . . . . . . . . . . . . . 2036Table 2038: Database Input/Output File (_UserIO) . . . . . . . . . . . . . . . . . . . . . . . . . 2036Table 2039: Record Locking Table File (_UserLock) . . . . . . . . . . . . . . . . . . . . . . . . 2037Table 2040: User Status (_UserStatus) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2037Table A1: PROMON R&D Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A4Table A2: Database States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A10Table A3: Database Damaged Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A11Table A4: Integrity Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A11Table A5: Server Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A15Table A6: Process Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A16Table A7: Process Wait Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A17Table A8: Transaction States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A21Table A9: Lock Table Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A27Table A10: Process Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A42
  22. 22. ContentsxxiiiProceduresp-dump.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827disttran.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122StartProService.cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B9StopProService.cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B10StartCluDemo1.cmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B11repeat.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B12updcust.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B13
  23. 23. PrefacePurposeThis manual describes Progress database administration concepts, procedures, and utilities. Theprocedures allow you to create and maintain your Progress databases and manage theirperformance.AudienceThis manual is designed as a guide and reference for Database Administrators.Organization Of This ManualPart I PlanningChapter 1, The Progress DatabaseProvides an overview of the Progress database architecture.Chapter 2, Administrative PlanningPresents guidelines that help you make initial decisions about how to administer andmaintain a Progress database.Chapter 3, Progress Database LimitsLists the Progress database limits you need to know when configuring a Progress database.
  24. 24. Progress Database Administration Guide and ReferencexxivPart II AdministrationChapter 4, Creating and Deleting DatabasesDescribes how to create and delete Progress databases.Chapter 5, Starting Up and Shutting DownDescribes the commands required to start up and shut down a Progress database.Chapter 6, Backup and Recovery StrategiesDescribes backup and recovery strategies.Chapter 7, Backing Up a DatabaseDescribes how to use the Progress PROBKUP utility to back up a database.Chapter 8, Recovering a DatabaseDescribes how to use the Progress PROREST utility to restore a database.Chapter 9, Maintaining Database StructureDescribes methods to manage the database structure and alter it as necessary to improvestorage and performance.Chapter 10, Maintaining SecurityDescribes how Progress implements database security, including assigning user IDs,designating database administrators.Chapter 11, After-ImagingDescribes after-imaging and how to use it for data recovery. Also, describes how toimplement after-imaging with after image extents.Chapter 12, Using Two-phase CommitDescribes two-phase commit and how to use it to ensure database integrity.Chapter 13, Dumping and LoadingDescribes how to dump and load databases, including tables, indexes, and sequences.
  25. 25. PrefacexxvChapter 14, Managing PerformanceDescribes how to tune database performance.Chapter 15, Replicating DataDescribes replication schemes and how to implement log-based replication.Chapter 16, Using the Event LogDescribes the logging of significant events.Part III ReferenceChapter 17, Startup and Shutdown CommandsDescribes Progress commands for starting up and shutting down sessions and processes.Chapter 18, Database Startup ParametersDescribes the Progress database startup parameters.Chapter 19, Database Administration UtilitiesDescribes the Progress database administration utilities.Chapter 20, Virtual System TablesDescribes the Virtual System Tables that allow 4GL and SQL-92 applications to examinethe status of a database and monitor its performance.Appendix A, Progress Monitor R&D OptionsDescribes the Progress Monitor R&D Options.Appendix B, Setting Up Progress To Utilize Compaqs NT ClustersDescribes how to set up and use NT clusters.
  26. 26. Progress Database Administration Guide and ReferencexxviHow To Use This ManualThis book is organized into three distinct but complementary parts: Part 1, Planning, provides an overview and introduction to the Progress database. Readthis part first, beginning with Chapter 1, The Progress Database. Part 2, Administration, describes the procedures a Database Administrator uses tomanage a database in a flexible business environment. Each chapter discusses a particularadministrative activity, such as Chapter 6, Backing Up and Restoring. Part 3, Reference, describes the Progress database commands, startup parameters,utilities, and system tables in alphabetical order. Refer to the chapters in Part 3 when youneed to access specific descriptive information, such as the syntax of an administrationutility.Typographical ConventionsThis manual uses the following typographical conventions: Bold typeface indicates: Commands or characters that the user types That a word carries particular weight or emphasis Italic typeface indicates: Progress variable information that the user supplies New terms Titles of complete publications Monospaced typeface indicates: Code examples System output Operating system filenames and pathnames
  27. 27. PrefacexxviiThe following typographical conventions are used to represent keystrokes: Small capitals are used for Progress key functions and generic keyboard keys.END-ERROR, GET, GOALT, CTRL, SPACEBAR, TAB When you have to press a combination of keys, they are joined by a dash. You press andhold down the first key, then press the second key.CTRL-X When you have to press and release one key, then press another key, the key names areseparated with a space.ESCAPE HESCAPE CURSOR-LEFTSyntax NotationThe syntax for each component follows a set of conventions: Uppercase words are keywords. Although they are always shown in uppercase, you canuse either uppercase or lowercase when using them in a procedure.In this example, ACCUM is a keyword: Italics identify options or arguments that you must supply. These options can be definedas part of the syntax or in a separate syntax identified by the name in italics. In theACCUM function above, the aggregate and expression options are defined with thesyntax for the ACCUM function in the Progress Language Reference. You must end all statements (except for DO, FOR, FUNCTION, PROCEDURE, andREPEAT) with a period. DO, FOR, FUNCTION, PROCEDURE, and REPEATstatements can end with either a period or a colon, as in this example:SYNTAXACCUM aggregate expressionFOR EACH Customer:DISPLAY Name.END.
  28. 28. Progress Database Administration Guide and Referencexxviii Square brackets ([ ]) around an item indicate that the item, or a choice of one of theenclosed items, is optional.In this example, STREAM stream, UNLESS-HIDDEN, and NO-ERROR are optional:In some instances, square brackets are not a syntax notation, but part of the language.For example, this syntax for the INITIAL option uses brackets to bound an initial valuelist for an array variable definition. In these cases, normal text brackets ( [ ] ) are used:NOTE: The ellipsis (...) indicates repetition, as shown in a following description. Braces ({ }) around an item indicate that the item, or a choice of one of the encloseditems, is required.In this example, you must specify the items BY and expression and can optionally specifythe item DESCENDING, in that order:In some cases, braces are not a syntax notation, but part of the language.For example, a called external procedure must use braces when referencing argumentspassed by a calling procedure. In these cases, normal text braces ( { } ) are used:SYNTAXDISPLAY [ STREAM stream ] [ UNLESS-HIDDEN ] [ NO-ERROR ]SYNTAXINITIAL [ constant [ , constant ] ... ]SYNTAX{ BY expression [ DESCENDING ] }SYNTAX{ &argument-name }
  29. 29. Prefacexxix A vertical bar (|) indicates a choice.In this example, EACH, FIRST, and LAST are optional, but you can only choose one:In this example, you must select one of logical-name or alias: Ellipses (...) indicate that you can choose one or more of the preceding items. If a groupof items is enclosed in braces and followed by ellipses, you must choose one or more ofthose items. If a group of items is enclosed in brackets and followed by ellipses, you canoptionally choose one or more of those items.In this example, you must include two expressions, but you can optionally include more.Note that each subsequent expression must be preceded by a comma:In this example, you must specify MESSAGE, then at least one of expression or SKIP, butany additional number of expression or SKIP is allowed:SYNTAXPRESELECT [ EACH | FIRST | LAST ] record-phraseSYNTAXCONNECTED ( { logical-name | alias } )SYNTAXMAXIMUM ( expression , expression [ , expression ] ... )SYNTAXMESSAGE { expression | SKIP [ (n) ] } ...
  30. 30. Progress Database Administration Guide and ReferencexxxIn this example, you must specify {include-file, then optionally any number of argumentor &argument-name = "argument-value", and then terminate with }: In some examples, the syntax is too long to place in one horizontal row. In such cases,optional items appear individually bracketed in multiple rows in order, left-to-right andtop-to-bottom. This order generally applies, unless otherwise specified. Required itemsalso appear on multiple rows in the required order, left-to-right and top-to-bottom. In caseswhere grouping and order might otherwise be ambiguous, braced (required) or bracketed(optional) groups clarify the groupings.In this example, WITH is followed by several optional items:In this example, ASSIGN requires one of two choices: either one or more of field, or oneof record. Other options available with either field or record are grouped with braces andbrackets. The open and close braces indicate the required order of options:SYNTAX{ include-file[ argument | &argument-name = "argument-value" ] ... }SYNTAXWITH [ ACCUM max-length ] [ expression DOWN ][ CENTERED ] [ n COLUMNS ] [ SIDE-LABELS ][ STREAM-IO ]SYNTAXASSIGN { { [ FRAME frame ]{ field [ = expression ] }[ WHEN expression ]} ...| { record [ EXCEPT field ... ] }}
  31. 31. PrefacexxxiExample ProceduresThis manual provides example procedures that illustrate syntax and concepts. Examples use thefollowing conventions: They appear in boxes with borders. If they are available online, the name of the procedure appears above the left corner of thebox and starts with a prefix associated with the manual that references it, as follows: e- Progress External Program Interfaces, for example, e-ddeex1.p lt- Progress Language Tutorials, for example, lt-05-s3.p p- Progress Programming Handbook, for example, p-br01.p r- Progress Language Reference, for example, r-dynbut.pIf the name does not start with a listed prefix, the procedure is not available online. If they are not available online, they compile as shown, but might not execute for lack ofcompleteness.Accessing Files In Procedure LibrariesDocumentation examples are stored in procedure libraries, prodoc.pl and prohelp.pl, in thesrc directory where Progress is installed.You must first create all subdirectories required by a library before attempting to extract filesfrom the library. You can see what directories and subdirectories a library needs by using thePROLIB -list command to view the contents of the library. See the Progress Client DeploymentGuide for more details on the PROLIB utility.Creating a Listing Of the Procedure LibrariesCreating a listing of the source files from a procedure library involves running PROENV to setup your Progress environment, and running PROLIB.1 From the Control Panel or the Progress Program Group, double-click the Proenv icon.2 The Proenv Window appears, with the proenv prompt.Running Proenv sets the DLC environment variable to the directory where you installedProgress (by default, C:Program FilesProgress). Proenv also adds the DLCenvironment variable to your PATH environment variable and adds the bin directory(PATH=%DLC%;%DLC%bin;%PATH%).
  32. 32. Progress Database Administration Guide and Referencexxxii3 Enter the following command at the proenv prompt to create the text file prodoc.txtwhich contains the file list