Preface. Why Another Book? Who Is It For? Which Version of Oracle? What's in This Book? What's Not in This Book? The Framework of the Book. Conventions Used in the Book. Acknowledgments. A Cautionary Tale. I. OVERVIEW. 1. What Is Oracle? Data, Undo, and Redo. Data Change. Uncommitted Data. Committed Data. Side Effects of Rollback. Locating the Data. Conclusion. 2. Why Do Projects Fail? Ignoring the Technology. Avoiding the Arithmetic. Fudging the Prototype. Confusing the Responsibilities. Sharing the Database. Conclusion. 3. How the Engine Works. The I/O Trap. Reading Data. Changing Data. Side Effects. Conclusion. 4. Classifying Your Target. Manual Transaction Processing. Automatic Transaction Processing. High Batch Throughput. Data Warehouse. The Internet Changes Everything. Conclusion. II. DATA STORAGE. 5. Making the Most of Tables. Rebuilding the Data. Packing the Data. More Packing. Dropping Columns. Strategy. Strategy. Up-to-Date Statistics (Nearly). Wide Tables. Problems and Quirks. Strategy Notes. 6. Basic Indexing. B-Tree Indexing. Updates to the Index. Low-Level Processing. Using the Index. Bitmap Indexing. Administration. Problems and Quirks. Strategy Notes. 7. Enhanced Indexing. Compressed B-Trees. Minimize Records per Block. Descending Indexes. Reverse Key Indexes. Function-Based Indexes. Built-in Functions. User-Defined Functions. Administration. Rebuild. Coalesce. Statistics. Rename. Optimization. Index Joins. Star Transformations. Problems and Quirks. Strategy Notes. 8. Leveraging Tablespaces. Tablespace Strategies. Rollback Tablespaces. Temporary Tablespaces. Classification. Locally Managed Tablespaces. General Tablespace Management. Transportable Tablespaces. Tablespace Point-in-Time Recovery. Problems and Quirks. Strategy Notes. 9. Temporary Space. Temporary Tablespaces. So What's New in 8.1? Temporary Files. Temporary Tables. Temporary LOBs. Problems and Quirks. Strategy Notes. 10. Files, Raw, and RAID. Files or Raw. The Management Issues. The Performance Issue. Archiving. Conclusion. RAID Levels. RAID0. RAID. RAID 0/1 and RAID 1/0. RAID. Generic RAID. Disk Cache. Problems and Quirks. Strategy Notes. 11. Views. Basics of Views. Views for Performance. In-Line Views. SORT_AREA_SIZE. Rollover Views. Views for Security. Views for Functionality. Views for Clarity. Functions Returning Datasets. Partition Access. Analytical Functions and Others. Updatable Join Views. Simple Join Views. In-Line Updatable Views. Object Views. A Farewell to Partitioned Views. Problems and Quirks. Strategy Notes. 12. Introducing Partitioning. Partitioning Options. How Does Range Partitioning Work? How Does Hash Partitioning Work? How Does Composite Partitioning Work? Partitioning - General Points. Multicolumn Partitioning. Problems and Quirks. Strategy Notes. 13. Using Partitioning. Administration. Dropping Partitions. Tablespace Management. Packing Tablespaces. Data Loading. Indexing Existing Tables. Performance. Range Partitions with Dates. Hash Partitions and Composite Partitions. Partition-wise Joins. EXPLAINPLAN. Statistics. Partitions and Parallel Execution. Problems and Quirks. Strategy Notes. 14. Index-Organized Tables. Basic IOTs. Indexes on IOTs. On-Line Moves. Advanced IOTs. LOBs, Varrays, and Nested Tables. Partitioning. Restrictions on IOT Partitions. Problems and Quirks. Strategy Notes. 15. Simple Objects. Getting Started with Objects. Objects and Relational Tables. Object Tables. Problems and Quirks. Strategy Notes. 16. Collection Objects. Varrays. Tables. Transient Collections. A Cautionary Tale. Problems and Quirks. Strategy Notes. 17. Handling Large Objects. Internal or External? Why LOBs? Working with LOBs. Working with BFILEs. The LOB Package - DBMS_LOB. BFILEs. Permanent LOBs. Temporary LOBs. Generic LOBs. Problems and Quirks. Strategy Notes. 18. Data Integrity. Types of Constraints. Primary Key. Unique Key. Foreign Key. Check. View. Scope. Partition Boundaries. Using Constraints. Adding Constraints. Truncating Tables. Loading Data. Cascading Changes to Primary Key. Data Warehouses and Constraints. Triggers. Audit Trail. Problems and Quirks. Strategy Notes. III. DATA MANIPULATION. 19. PL/SQL. What Is PL/SQL? The Best Bits. Native Dynamic SQL. Array Processing. Passing Result Sets into and out of Procedures. Invoker Rights. Supplied Packages. Problems and Quirks. Strategy Notes. 20. Autonomous Transactions. Simple Autonomous Transactions. Autonomous Triggers. Sequence Numbers. Who Is Locking My Row? A Counter Example. Problems and Quirks. Strategy Notes. 21. Row-level Security. Historic Implementations. Security Policies. Refining Row-level Security. Problems and Quirks. Strategy Notes. 22. Parallel Query and Parallel Server. Parallel Server. The IDLM. PCM and Non-PCM. PCM Locks and Data Locks. Defining PCM Locks. Avoiding Pinging. Parallel Execution. Problems and Quirks. Parallel Server. Parallel Query. Strategy Notes. Parallel Server. Parallel Query. 23. Number Crunching. Cube and Rollup. Programming Solutions. Expensive SQL. Temporary Tables. Enhancements in Version 8.1.5. Rollup. Cube. Analytic Functions. Miscellaneous. Case Statements. SAMPLE Clause. Materialized Views. Implementation. Problems and Quirks. Strategy Notes. 24. Fallback. Choose Your Disaster. Pick a Time Scale. The 30-Second 100% Fail-over. The Five-Minute 100% Fail-over. Off-site 100% Fail-Over. Clones at 99%. Backups. The Standby Database. Recovery Manager. Problems and Quirks. Strategy Notes. Appendix A: Feature Reference. Standby Database. Row-level Security. Tablespace Management. Transportable Tablespaces. Temporary Tablespaces. Temporary Tables. PL/SQL. Database Triggers. Partitioning. Autonomous Transactions. Three-tier Applications. Indexes. LOBs. Analytic Functions (Version 8.1.6). LogMiner. Replication. Query Rewrite. IOTs. Integrity Constraints. Parallel Execution. JServer. Appendix B: Tuning to 90%. V$SQL - Recent SQL with Costs. V$FILESTAT/V$TEMPSTAT. V$SYSTEM_EVENT/V$SESSION_EVENT. The X$ Files. X$KCBFWAIT. X$KSQST. Helping the Developers. Conclusion. Appendix C: Testing to Destruction. The Basis of Testing. A Cautionary Tale. Generating Data. Validating the Results. Execution Paths. Events. Database Dumps. Conclusion. Appendix D: Space Management. The Block. INITRANS and MAXTRANS. PCTFREE and PCTUSED. Choosing a Block Size. The Extent. The Segment. The Tablespace. The Disk Array. Conclusion. About the Author. Index. 0201715848T04062001.
In this book, one of the world's leading Oracle database consultants covers the real-world design and development issues most Oracle books ignore! Jonathan Lewis presents powerful techniques -- and errors to avoid -- if you want to build databases that meet their objectives, stay on budget, scale to support growth, and are easy to manage. Jonathan Lewis focuses on helping database designers and developers answer two essential questions: "How should I think when designing an Oracle-based application? And, how can I select the most appropriate Oracle features for my application, taking into account their interrelationships?" Drawing upon fifteen years experience as an Oracle database designer and consultant, he delivers an intimate understanding of the Oracle database engine, and all the guidance you need to use its key features most effectively. Coverage includes: tables and tablespaces, indexing, temporary space, files, views, partitioning, lots, simple and collection objects, LOBs, integrity, PL/SQL, autonomous transactions, RLS, PQO and OPS, replication, fallback, and much more. For every Oracle database designer, developer, and manager; and for any professional called upon to maintain or optimize Oracle-based databases.
Jonathan Lewis is a leading independent database consultant with over fifteen years' experience helping clients design and implement Oracle database systems. Much of his career has been spent working around the problems caused by the inappropriate use of the technology. In addition, he is the Director for Products and Services for the UK Oracle Users Group and maintains a Web site of Oracle tips and advice. 0201715848AB04062001