| | Copyright |
| | Preface |
| | | PL/SQL for DBAs |
| | | About This Book |
| | | Conventions Used in This Book |
| | | About PL/SQL Versions |
| | | Resources for Developing PL/SQL Expertise |
| | | About the Code |
| | | Using Code Examples |
| | | Comments and Questions |
| | | Safari® Enabled |
| | | Acknowledgments |
| | Chapter 1. Introduction to PL/SQL |
| | | Section 1.1. What Is PL/SQL? |
| | | Section 1.2. Basic PL/SQL Syntax Elements |
| | | Section 1.3. Program Data |
| | | Section 1.4. Control Statements |
| | | Section 1.5. Loops in PL/SQL |
| | | Section 1.6. Exception Handling |
| | | Section 1.7. Records |
| | | Section 1.8. Collections |
| | | Section 1.9. Procedures, Functions, and Packages |
| | | Section 1.10. Querying Data |
| | | Section 1.11. Changing Data |
| | | Section 1.12. Managing Transactions in PL/SQL |
| | | Section 1.13. Database Triggers |
| | | Section 1.14. Dynamic SQL and Dynamic PL/SQL |
| | | Section 1.15. Conclusion: From Fundamentals to Applying PL/SQL |
| | Chapter 2. Cursors |
| | | Section 2.1. Reusing Cursors |
| | | Section 2.2. Using Explicit Cursors Versus Implicit Cursors |
| | | Section 2.3. Soft-Closing Cursors |
| | | Section 2.4. Using Cursors for More Than Queries |
| | | Section 2.5. Conclusion |
| | Chapter 3. Table Functions |
| | | Section 3.1. Why Table Functions? |
| | | Section 3.2. Cursors, Pipelining, and Nesting |
| | | Section 3.3. Parallelizing Table Functions |
| | | Section 3.4. Using Table Functions |
| | | Section 3.5. Table Function Examples |
| | | Section 3.6. Tips for Working with Table Functions |
| | | Section 3.7. Conclusion |
| | Chapter 4. Data Encryption and Hashing |
| | | Section 4.1. Introduction to Encryption |
| | | Section 4.2. Encryption in Oracle9i Database |
| | | Section 4.3. Encryption in Oracle Database 10g |
| | | Section 4.4. Key Management in Oracle Database 10g |
| | | Section 4.5. Transparent Data Encryption in Oracle Database 10g Release 2 |
| | | Section 4.6. Cryptographic Hashing |
| | | Section 4.7. Building a Practical Encryption System |
| | | Section 4.8. Conclusion |
| | Chapter 5. Row-Level Security |
| | | Section 5.1. Introduction to RLS |
| | | Section 5.2. Using RLS |
| | | Section 5.3. RLS in Oracle Database 10g |
| | | Section 5.4. Troubleshooting RLS |
| | | Section 5.5. RLS Interactions with Other Oracle Features |
| | | Section 5.6. Application Contexts |
| | | Section 5.7. Conclusion |
| | Chapter 6. Fine-Grained Auditing |
| | | Section 6.1. Introduction to FGA |
| | | Section 6.2. Customizing FGA |
| | | Section 6.3. Administering FGA |
| | | Section 6.4. FGA in Oracle Database 10g |
| | | Section 6.5. FGA and Other Oracle Auditing Techniques |
| | | Section 6.6. The Challenge of Non-Database Users |
| | | Section 6.7. Troubleshooting FGA |
| | | Section 6.8. Conclusion |
| | Chapter 7. Generating Random Values |
| | | Section 7.1. Generating Random Numbers |
| | | Section 7.2. Generating Characters |
| | | Section 7.3. Checking for Randomness |
| | | Section 7.4. Following Statistical Patterns |
| | | Section 7.5. Conclusion |
| | Chapter 8. Scheduling |
| | | Section 8.1. Why Schedule Jobs from Within Oracle? |
| | | Section 8.2. Managing Jobs |
| | | Section 8.3. Managing the Calendar and Schedule |
| | | Section 8.4. Managing Named Programs |
| | | Section 8.5. Managing Priorities |
| | | Section 8.6. Managing Windows |
| | | Section 8.7. Managing Logging |
| | | Section 8.8. Managing Attributes |
| | | Section 8.9. Conclusion |
| | Appendix A. Quick Reference |
| | | Section A.1. DBMS_OBFUSCATION_TOOLKIT |
| | | Section A.2. DBMS_CRYPTO |
| | | Section A.3. DBMS_RLS |
| | | Section A.4. DBMS_FGA |
| | | Section A.5. DBMS_RANDOM |
| | | Section A.6. DBMS_SCHEDULER |
| | About the Author |
| | Colophon |
| | Index |