Synopses & Reviews
Oracle is the most popular database management system in use today, and PL/SQL plays a pivotal role in current and projected Oracle products and applications. PL/SQL is a programming language providing procedural extensions to the SQL relational database language and to an ever-growing number of oracle development tools. originally a rather limited tool, PL/SQL became with Oracle7 a mature and effective language for developers. now, with the introduction of Oracle8, PL/SQL has taken the next step towards becoming a fully realized programming language providing sophisticated object-oriented capabilities. Steven Feuerstein'sOracle PL/SQL Programming is a comprehensive guide to building applications with PL/SQL. That book has become the bible for PL/SQL developers who have raved about its completeness, readability, and practicality.Built-in packages are collections of PL/SQL objects built by Oracle Corporation and stored directly in the Oracle database. The functionality of these packages is available from any programming environment that can call PL/SQL stored procedures, including Visual Basic, Oracle Developer/2000, Oracle Application Server (for web-based development), and, of course, the Oracle database itself. Built-in packages extend the capabilities and power of PL/SQL in many significant ways. for example:
- DBMS_SQL executes dynamically constructed SQL statements and PL/SQL blocks of code.
- DBMS_PIPE communicates between different Oracle sessions through a pipe in the RDBMS shared memory.
- DBMS_JOB submits and manages regularly scheduled jobs for execution inside the database.
- DBMS_LOB accesses and manipulates Oracle8's large objects (LOBs) from within PL/SQL programs.
The first edition of
Oracle PL/SQL Programming contained a chapter on Oracle's built-in packages. but there is much more to say about the basic PL/SQL packages than Feuerstein could fit in his first book. In addition, now that Oracle8 has been released, there are many new Oracle8 built-in packages not described in the PL/SQL book. There are also packages extensions for specific oracle environments such as distributed database. hence this book.
Oracle Built-in Packages pulls together information about how to use the calling interface (API) to Oracle's Built-in Packages, and provides extensive examples on using the built-in packages effectively.The windows diskette included with the book contains the companion guide, an online tool developed by RevealNet, Inc., that provides point-and-click access to the many files of source code and online documentation developed by the authors.The table of contents follows:PrefacePart I: Overview
Part II: Application Development Packages
- Executing Dynamic SQL and PL/SQL
- Intersession Communication
- User Lock and Transaction Management
- Oracle Advanced Queuing
- Generating Output from PL/SQL Programs
- Defining an Application Profile
- Managing Large Objects
- Datatype Packages
- Miscellaneous Packages
Part III: Server Management Packages
- Managing Session Information
- Managing Server Resources
- Job Scheduling in the Database
Part IV: Distributed Database Packages
- Snapshots
- Advanced Replication
- Conflict Resolution
- Deferred Transactions and Remote Procedure Calls
Appendix. What's on the companion disk?
Synopsis
Oracle is the most popular database management system in use today, and
PL/SQL plays a pivotal role in current and projected Oracle products and
applications. PL/SQL is a programming language providing procedural
extensions to the SQL relational database language and to an ever-growing
number of Oracle development tools. Originally a rather limited tool,
PL/SQL became with Oracle7 a mature and effective language for developers.
Now, with the introduction of Oracle8, PL/SQL has taken the next step
towards becoming a fully realized programming language providing
sophisticated object-oriented capabilities. Steven Feuerstein's
Oracle PL/SQL Programming is a comprehensive guide to building
applications with PL/SQL. That book has become the bible for PL/SQL
developers who have raved about its completeness, readability, and
practicality.
Built-in packages are collections of PL/SQL objects built by Oracle
Corporation and stored directly in the Oracle database. The functionality
of these packages is available from any programming environment that can
call PL/SQL stored procedures, including Visual Basic, Oracle
Developer/2000, Oracle Application Server (for Web-based development), and,
of course, the Oracle database itself. Built-in packages extend the
capabilities and power of PL/SQL in many significant ways. For example:
- DBMS_SQL executes dynamically constructed SQL statements and PL/SQL
blocks of code.
- DBMS_PIPE communicates between different Oracle sessions through a pipe
in the RDBMS shared memory.
- DBMS_JOB submits and manages regularly scheduled jobs for execution
inside the database.
- DBMS_LOB accesses and manipulates Oracle8's large objects (LOBs) from
within PL/SQL programs.
The first edition of Oracle PL/SQL Programming contained a chapter on
Oracle's built-in packages. But there is much more to say about the basic
PL/SQL packages than Feuerstein could fit in his first book. In addition,
now that Oracle8 has been released, there are many new Oracle8 built-in
packages not described in the PL/SQL book. There are also packages extensions
for specific Oracle environments such as Distributed Database. Hence this book.
Oracle Built-in Packages pulls together information about how to use the
calling interface (API) to Oracle's built-in packages, and provides
extensive examples on using the built-in packages effectively.
The Windows diskette included with the book contains the Companion
Guide, an online tool developed by RevealNet, Inc., that provides
point-and-click access to the many files of source code and online
documentation developed by the authors.
The table of contents follows:
Preface
Part I: Overview
1. Introduction
Part I: Application Development Packages
2. Executing Dynamic SQL and PL/SQL
3. Intersession Communication
4. User Lock and Transaction Management
5. Oracle Advanced Queuing
6. Generating Output from PL/SQL Programs
7. Defining an Application Profile
8. Managing Large Objects
9. Datatype Packages
9. Miscellaneous Packages
Part III: Server Management Packages
10. Managing Session Information
11. Managing Server Resources
12 Job Scheduling in the Database
Part IV: Distributed Database Packages
14. Snapshots
15 Advanced Replication
16. Conflict resolution
17. Deferred Transactions and Remote Procedure Calls
Appendix. What's on the Companion Disk?
Synopsis
Oracle's built-in packages dramatically extend the power of the PL/SQL language, but few developers know how to use them effectively. This book is a complete reference to all of the built-ins, including those new to Oracle8. The diskette includes an online tool that provides access to the many files of source code and documentation developed by the authors.
Synopsis
A complete reference to all of the built-ins, including the new packages available with Oracle8, this book provides extensive examples and comes with a disk containing an online tool developed by RevealNet, Inc., that provides point-and-click access to the many files of source code and online documentation developed by the authors.
About the Author
Steven Feuerstein is considered to be one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (all published by O'Reilly Media). He has also published his first book for kids: http://stevenfeuerstein.com/vivianvulture. Steven currently serves as PL/SQL Evangelist for Oracle Corporation. He has been developing software since 1980, spent five years with Oracle (1987-1992), and was PL/SQL Evangelist for Quest Software (and then Dell) from January 2001 to February 2014. He was an Oracle ACE Director (had to give up the prestigious title when he rejoined Oracle) and writes regularly for Oracle Magazine, which named him the PL/SQL Developer of the Year in both 2002 and 2006. He is also the first recipient of ODTUG's Lifetime Achievement Award (2009). Steven's latest initiative is the PL/SQL Challenge ( http://www.plsqlchallenge.com ), a daily quiz for PL/SQL developers; hundreds of programmers play each day. Check it out and join the fun! You can also catch up on his latest, mostly non-PLSQL rants at http://feuerthoughts.blogspot.com.
Charles Dye is the database architect for Excite, Inc. (www.excite.com), where he is responsible for the design and implementation of the databases theat supply content to some of the world's busiest Web sites. Prior to joining Excite, he was the senior database administrator for The Dialog Corporation. Charles also operates a small but growing consultancy with clients in the San Francisco Bay area and Hong Kong. Once upon a time, before fleeing the East Coast for California skies, Charles taught math and physics at the Georgetown Day School in Washington DC. Charles is a frequent speaker at regional and national Oracle events such as Oracle Open World and IOUG-A Live. His favorite topics are distributed databases in general and advanced replication in particular. He also writes for the Northern California Oracle Users Group newsletter and is an active contributor to the Oracle Internet list server. Look for Charles' upcoming O'Reilly book, Oracle Distributed Systems, available later in 1998. Charles lives in Los Altos, California, with his wife Kathy, daughter Natalie, and labrador Jed. You can email him at [email protected].
John Beresniewicz is currently a product analyst at Savant Corporation (www.savant-corp.com) responsible for design and development of the Q Diagnostic Center for Oracle. Prior to joining Savant, he was an Oracle DBA with eight years experience in large corporate client-server environments. Developing the Q product's server-side PL/SQL engine has given John extensive and unique experience with using Oracle built-in packages to develop large package-based applications. John is also known in the Oracle user community as a frequent speaker on DBA and PL/SQL topics and an active participant in various Oracle online discussion groups. He has given papers at numerous IOUW, ECO, and local Oracle User Groups. At ECO '97, he received the "Outstanding Speaker" award for his talk on using the PL/SQL built-in packages DBMS_PIPE and DBMS_LOCK. John lives with his wife Arlene in Gaithersburg, MD, where they enjoy going to the $2 movie theater. He can be reached by email at [email protected].
Table of Contents
Dedication; Preface; Structure of This Book; Conventions Used in This Book; Versions of Oracle; About the Disk; About PL/Vision; About Q; How to Contact Us; Acknowledgments; Overview; Chapter 1: Introduction; 1.1 The Power of Built-in Packages; 1.2 Built-in Packages Covered in This Book; 1.3 Using Built-in Packages; 1.4 Examining Built-in Package Source Code; Application Development Packages; Chapter 2: Executing Dynamic SQL and PL/SQL; 2.1 Examples of Dynamic SQL; 2.2 Getting Started with DBMS_SQL; 2.3 The DBMS_SQL Interface; 2.4 Tips on Using Dynamic SQL; 2.5 DBMS_SQL Examples; Chapter 3: Intersession Communication; 3.1 DBMS_PIPE: Communicating Between Sessions; 3.2 DBMS_ALERT: Broadcasting Alerts to Users; Chapter 4: User Lock and Transaction Management; 4.1 DBMS_LOCK: Creating and Managing Resource Locks; 4.2 DBMS_TRANSACTION: Interfacing to SQL Transaction Statements; Chapter 5: Oracle Advanced Queuing; 5.1 Oracle AQ Concepts; 5.2 Getting Started with Oracle AQ; 5.3 Oracle AQ Nonprogram Elements; 5.4 DBMS_AQ: Interfacing to Oracle AQ (Oracle8 only); 5.5 DBMS_AQADM: Performing AQ Administrative Tasks (Oracle8 only); 5.6 Oracle AQ Database Objects; 5.7 Oracle AQ Examples; Chapter 6: Generating Output from PL/SQL Programs; 6.1 DBMS_OUTPUT: Displaying Output; 6.2 UTL_FILE: Reading and Writing Server-side Files; Chapter 7: Defining an Application Profile; 7.1 Getting Started with DBMS_APPLICATION_INFO; 7.2 DBMS_APPLICATION_INFO Interface; 7.3 DBMS_APPLICATION_INFO Examples; Chapter 8: Managing Large Objects; 8.1 Getting Started with DBMS_LOB; 8.2 LOB Concepts; 8.3 DBMS_LOB Interface; Chapter 9: Datatype Packages; 9.1 DBMS_ROWID: Working with the ROWID Pseudo-Column (Oracle8 only); 9.2 UTL_RAW: Manipulating Raw Data; 9.3 UTL_REF: Referencing Objects (Oracle8.0.4); Chapter 10: Miscellaneous Packages; 10.1 DBMS_UTILITY: Performing Miscellaneous Operations; 10.2 DBMS_DESCRIBE: Describing PL/SQL Program Headers; 10.3 DBMS_DDL: Compiling and Analyzing Objects; 10.4 DBMS_RANDOM: Generating Random Numbers (Oracle8 Only); Server Management Packages; Chapter 11: Managing Session Information; 11.1 DBMS_SESSION: Managing Session Information; 11.2 DBMS_SYSTEM: Setting Events for Debugging; Chapter 12: Managing Server Resources; 12.1 DBMS_SPACE: Obtaining Space Information; 12.2 DBMS_SHARED_POOL: Pinning Objects; Chapter 13: Job Scheduling in the Database; 13.1 Getting Started with DBMS_ JOB; 13.2 Job Queue Architecture; 13.3 Tips on Using DBMS_JOB; 13.4 DBMS_JOB Examples; Distributed Database Packages; Chapter 14: Snapshots; 14.1 DBMS_SNAPSHOT: Managing Snapshots; 14.2 DBMS_REFRESH: Managing Snapshot Groups; 14.3 DBMS_OFFLINE_SNAPSHOT: Performing Offline Snapshot Instantiation; 14.4 DBMS_REPCAT: Managing Snapshot Replication Groups; Chapter 15: Advanced Replication; 15.1 DBMS_REPCAT_AUTH: Setting Up Administrative Accounts; 15.2 DBMS_REPCAT_ADMIN: Setting Up More Administrator Accounts; 15.3 DBMS_REPCAT: Replication Environment Administration; 15.4 DBMS_OFFLINE_OG: Performing Site Instantiation; 15.5 DBMS_RECTIFIER_DIFF: Comparing Replicated Tables; 15.6 DBMS_REPUTIL: Enabling and Disabling Replication; Chapter 16: Conflict Resolution; 16.1 Getting Started with DBMS_REPCAT; 16.2 Column Groups with DBMS_REPCAT; 16.3 Priority Groups with DBMS_REPCAT; 16.4 Site Priority Groups with DBMS_REPCAT; 16.5 Assigning Resolution Methods with DBMS_REPCAT; 16.6 Monitoring Conflict Resolution with DBMS_REPCAT; Chapter 17: Deferred Transactions and Remote Procedure Calls; 17.1 About Deferred Transactions and RPCs; 17.2 DBMS_DEFER_SYS: Managing Deferred Transactions; 17.3 DBMS_DEFER: Building Deferred Calls; 17.4 DBMS_DEFER_QUERY: Performing Diagnostics and Maintenance; What's on the Companion Disk?; Installing the Guide; Using the Guide; Colophon;