Synopses & Reviews
SQLLoader is a ubiquitous tool in the Oracle world. It has been shipped with Oracle since at least Version 6 and continues to be supported and enhanced with each new version of Oracle, including Oracle8 and Oracle8i. The job of SQLLoader is to load data from flat files into an Oracle database. It's optimized for loading large volumes of data, and is flexible enough to handle virtually any input format.Almost every Oracle user has to use SQLLoader at one time or another, and DBAs are frequently called upon to load data for the users in their organization. Despite SQLLoader's wide availability and usage, few DBAs and developers know how to get the most out of it. Oracle SQLLoader: The Definitive Guide has everything you need to know to put SQLLoader to its best use: an introduction to SQLLoader, a reference to all of its syntax options, and most importantly, step-by-step instructions for all the SQLLoader tasks you'd want to perform--and maybe some you didn't realize you COULD perform.You'll learn how to construct the necessary control files and load from different types of files containing different types of data (e.g., fixed-width data, delimited data, and data of various datatypes). You'll also learn how to validate data, load it selectively, transform it as it is loaded, and recover after failure. This book explains how to optimize SQLLoader performance by adjusting the transaction size and using the new direct path option. It also covers the newest SQLLoader features--the loading of large object (LOB) columns and the new object types (nested tables, varying arrays, and object tables).Oracle SQLLoader: The Definitive Guide is an indispensable resource for anyone who is new to SQLLoader; a task-oriented learning tool for those who are already using it; and a quick reference for every user. If you want to take best advantage of an essential Oracle tool, you need this book.
A step-by-step guide of all the tasks that Oracle developers and DBAs need to perform with SQL*Loader. Readable and informative, this reference is a task-oriented learning tool for those already using this utility.
About the Author
Jonathan Gennick is an O'Reilly & Associates editor specializing in database and programming titles. Prior to joining O'Reilly, Jonathan amassed some 17 years of programming and database management experience. During the latter part of his career he specialized in relational database programming, and more recently in database management. Jonathan got his start with relational database systems in 1990, first working with Ingres, and later with Digital's Rdb software. During that period he developed a fondness for SQL, and for the challenge of applying SQL creatively in ways that leveraged it's set-oriented capabilities. In 1994 Jonathan made the leap to Oracle, and is now often found writing about it. Recent projects include Oracle SQLLoader (O'Reilly & Associates, 2001); Oracle SQLPlus Pocket Reference (O'Reilly & Associates, 2000); Oracle SQL*Plus: The Definitive Guide (O'Reilly & Associates, 1999); More recently, Jonathan has made forays into other database products, coauthoring Transact-SQL Cookbook (O'Reilly & Associates, 2002) and editing Practical PostgreSQL (O'Reilly & Associates, 2002). Jonathan is certified as an Oracle DBA and is a member of MENSA and the Oracle Technology Network. He holds a Bachelor of Arts degree in Information and Computer Science, with a Business Administration minor, from Andrews University in Berrien Springs, Michigan. Jonathan currently resides in Munising, Michigan with his wife Donna and their two children: Jenny and Jeff. Jonathan may be contacted by email at firstname.lastname@example.org, and you can learn more about him personally by visiting his website at http://gennick.com.
Sanjay Mishra is a certified Oracle database administrator with more than ten years of IT experience. He has been involved in the design, architecture, and implementation of many mission-critical and decision support databases. He has worked extensively in the areas of database architecture, database management, backup / recovery, performance tuning, Oracle Parallel Server, and parallel execution. He has a Bachelor of Science degree in Electrical Engineering, and a Master of Engineering degree in Systems Science and Automation. He is the coauthor of Oracle Parallel Processing and Oracle SQL Loader: The Definitive Guide (both published by O'Reilly & Associates). Presently, he works as a database architect at Dallas Based i2 Technologies, and can be reached at email@example.com.
Table of Contents
Copyright; Dedication; Preface; Why We Wrote This Book; Audience for This Book; Platform and Version; Structure of This Book; Conventions Used in This Book; Comments and Questions; Acknowledgments; Chapter 1: Introduction to SQL*Loader; 1.1 The SQL*Loader Environment; 1.2 A Short SQL*Loader Example; 1.3 SQL*Loader's Capabilities; 1.4 Issues when Loading Data; 1.5 Invoking SQL*Loader; Chapter 2: The Mysterious Control File; 2.1 Syntax Rules; 2.2 The LOAD Statement; 2.3 Command-Line Parameters in the Control File; 2.4 Placing Data in the Control File; Chapter 3: Fields and Datatypes; 3.1 Field Specifications; 3.2 Datatypes; Chapter 4: Loading from Fixed-Width Files; 4.1 Common Datatypes Encountered; 4.2 Specifying Field Positions; 4.3 Handling Anomalous Data; 4.4 Concatenating Records; 4.5 Nesting Delimited Fields; Chapter 5: Loading Delimited Data; 5.1 Common Datatypes Encountered; 5.2 Example Data; 5.3 Using Delimiters to Identify Fields; 5.4 Common Issues with Delimited Data; 5.5 Concatenating Records; 5.6 Handling Nested Fields; Chapter 6: Recovering from Failure; 6.1 Deleting and Starting Over; 6.2 Restarting a Conventional Path Load; 6.3 Restarting a Direct Path Load; Chapter 7: Validating and Selectively Loading Data; 7.1 Handling Rejected Records; 7.2 Selectively Loading Data; Chapter 8: Transforming Data During a Load; 8.1 Using Oracle's Built-in SQL Functions; 8.2 Writing Your Own Functions; 8.3 Passing Data Through Work Tables; 8.4 Using Triggers; 8.5 Performing Character Set Conversion; Chapter 9: Transaction Size and Performance Issues; 9.1 Transaction Processing in SQL*Loader; 9.2 Commit Frequency and Load Performance; 9.3 Commit Frequency and Rollback Segments; 9.4 Performance Improvement Guidelines; Chapter 10: Direct Path Loads; 10.1 What is the Direct Path?; 10.2 Performing Direct Path Loads; 10.3 Data Saves; 10.4 Loading Data Fields Greater than 64K; 10.5 UNRECOVERABLE Loads; 10.6 Parallel Data Loading; Chapter 11: Loading Large Objects; 11.1 About Large Objects; 11.2 Considerations when Loading LOBs; 11.3 Loading Inline LOBs; 11.4 Loading LOBs from External Data Files; 11.5 Loading BFILEs; Chapter 12: Loading Objects and Collections; 12.1 Loading Object Tables and Columns; 12.2 Loading Collections; 12.3 Using NULLIF and DEFAULTIF with an Object or a Collection; Colophon;