- Paperback: 672 pages
- Publisher: Addison-Wesley Professional; 1 edition (December 28, 2000)
- Language: English
- ISBN-10: 0201715848
- ISBN-13: 978-0201715842
- Product Dimensions: 7.2 x 1.5 x 9 inches
- Shipping Weight: 2.4 pounds (View shipping rates and policies)
- Average Customer Review: 16 customer reviews
- Amazon Best Sellers Rank: #3,014,175 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Practical Oracle8i¿: Building Efficient Databases 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
From the Inside Flap
Why Another Book?
Since there are so many books about Oracle already on the market, why have I bothered to sit down and add to the pile? In the age of Internet news groups and Web sites, it isn't for the fame. And given the specialized nature and likely circulation of such a tome, it probably isn't for the fortune.
Every now and again, usually while I've been rattling on enthusiastically about some obscure and esoteric feature of the way in which Oracle works, I've been asked, Why don't you write a book about Oracle since you know so much about it? My answer has always been the same: If you write a technical book about Oracle, it will be out of date by the time you've finished writing it, and within a year of publication it will be 20% misleading, inappropriate, or just plain wrong.
I have, however, finally given in to temptation because I've spent too long traveling around the world helping people to get the best out of their databases, and discovering time and again that the single biggest aid to success is to start well by picking the most appropriate features for the job.
This book is my attempt to tell you about some of the more useful things I have discovered while designing or fixing a few of the more thought-provoking databases that I have come across. I'm writing it partly for the challenge, and partly because I enjoy making Oracle work well and want to pass on some of the interesting and entertaining insights I have had. I hope you enjoy reading it and, more important, I hope you get a better feeling for what the Oracle database can do for you. Who Is It For?
There are four stages to doing a job well:
Knowing what can be done Knowing whether it should be done Being able to do it in theory Being able to do it in practice
Many of the books about Oracle currently on the market seem to focus on the finer points of the third and fourth steps. My aim is to help you with the first two, although this entails including practical observations relevant to the third and fourth steps.
This book does not exist to thrill the hard-core specialists by supplying subtle secrets and technical tweaks that will allow them to squeeze an extra half of a percent from their database. This book is here to help everyone get to a stage where they can put together a system that gives response times that are reasonable, considering the investment made in hardware, software, and human effort. Whether you are a manager, designer, database administrator, or programmer, there is something in this book for you. For the manager it gives a wide-ranging view of what Oracle is capable of and what you can expect your team to achieve. For the designer it outlines the possibilities offered by the many features of the relational database management system. For the database administrator it describes how using the right features correctly can make managing the database much easier. For the programmer (who is always keen to know how things really work) it makes it possible to connect the code that he writes to the features he is using, so that he can structure his code in the most appropriate way. Which Version of Oracle?
A couple of years ago, a collection of information technology directors in the United Kingdom were asked what they perceived to be the biggest problems they had in managing their departments. Somewhere in the top ten was this response: the rate at which Oracle Corporation produces upgrades and new versions of their products. If Oracle keeps moving that fast, how do you pick a target when writing a book about it?
My strategy for tackling problems is the same regardless of the version of Oracle with which I'm working, so when you read this book you don't really have to worry about which version of Oracle you are using. However, I am going to focus as much as I can on Oracle 8.1.5--for the simple reason that it is the latest version (at least it was when I started writing).
It is also worth noting that Oracle 8.1.5 is the first "proper" release for some years to introduce many new features aimed at increasing the range of tasks that the database can handle efficiently and cost-effectively, which means, unfortunately, that it also introduces even more ways of allowing you to mix and match the wrong features.
Inevitably, between the time I started writing and the time this book was published, Oracle 8.1.6 went on general release. In that release, Oracle introduced features that it refers to as the analytic functions. The scope for reducing the programming effort and runtime workload on heavy-duty queries is so dramatic that I have felt compelled to include some details of analytic functions in Chapter 23. What's in This Book?
Most of the books relating to Oracle seem to fall into one of three groups: the tuning guide, the enhanced manual, and the guide to relational database design. This book falls, I hope, outside all three groups. It works outward from the database engine itself and gives you some good ideas on how to use that engine to implement your application.
This book encourages you to consider just two important principles--how to think when designing an Oracle-based application, and how to ensure that you pick the most appropriate features of Oracle when implementing your system.
Whatever else it may be, though, this book is not a technical book. Or at least it's not a very technical book. I am not planning to go into any great and intricate detail about the internal workings of Oracle. (After all, I don't want the book to be out of date before it's published.) I do, however, take a little time to describe a couple of the central architectural features in some detail. I explain, in a simple way, the very small number of critical mechanisms that are key to the way in which the Oracle database engine works, and then I describe the ways in which these mechanisms can have a significant impact on how you have to design your application.
If you get to the end of this book feeling that it has made sense, then you are on track to avoid most of the traps that cause so many projects to end up overpriced, too complex, and poor performers. What's Not in This Book?
There are a number of "value-added" modules that come with the Oracle relational database management system. In Oracle 8.1.5 these are known as the intermedia cartridges, and they are little applications that use the "extensible framework" of Oracle to add functionality for handling text, spatial data, time-based data, and visual data. These add-ons are excluded from this book.
I have also ignored the "Web-enabling" features of Oracle 8.1.5, namely the PL/SQL packages that can be called to pass data from Oracle tables to Web pages, the inclusion of Java as an internalized database language, and the Web application server itself. The Web interface is, after all, simply another way to use the database, and Java is just another programming language that can be used to address the database.
The last major omissions are advanced queuing and replication, partly because they are too wide ranging to be covered in a single chapter, and partly because they too fall into the area of the more exotic add-ons that are likely to be of less benefit to the general user.
Looking back at the last three paragraphs, I think they really sum up my approach to application design: The database is much more important than the language or tool that may be talking to it. And that, of course, is precisely why it is necessary for the designers and programmers to understand how the database works. It doesn't matter how wonderful the application is, or how high-tech the language is, or how user-friendly the interface is. If you try to make the database behave in an unsuitable fashion, then you are unlikely to come to the end of the project feeling like a winner. The Framework of the Book
The book is designed as a series of self-contained essays. Each essay pulls together a number of threads that might otherwise be scattered across several of the Oracle manuals, and presents an entire topic in a fashion that helps you to identify the risks and rewards of using a particular feature of the software.
This means that there is a degree of repetition from time to time. For example, the chapter on partitioning mentions some details of parallel query, and the chapter on parallel query comments on its particular application to partitioned tables.
You may also find that there are apparent contradictions in some of the comments I make and advice that I give. At one point (Chapter 8) I describe the benefits of wasting space to reduce the administrative burden, but at another point (Chapter 13) I make several comments about rebuilding data objects to pack the data and save space. Sometimes such points are not as contradictory as they may at first seem. Sometimes it is simply the case that different demands on resources call for completely different strategies.
You may find that a number of technical issues are addressed in a rather more informal fashion than you might hope. My intention is to give the flavor o
From the Back Cover
What is really involved in building effective Oracle database systems, and how do you approach the endeavor in a way that increases your chances for success?
Practical Oracle8i™ offers a real-life approach to constructing Oracle databases--one that is geared toward solving important business problems. This book will help you devise appropriate strategies for database design that takes into account Oracle's technical underpinnings, hardware and user limitations, and tradeoffs between simplicity and efficiency. It discusses selecting the Oracle features needed to perform specific functions and demonstrates how to structure code most effectively for the features being implemented.
Practical Oracle8i™ presents an overview of Oracle that clearly explains the central functions that are key to Oracle's operation. In addition, the book presents the fundamentals of the system, covering the way in which data is stored, packed, and made visible, as well as the dynamic features involved in transactions and calculations. Specific topics covered include:
- A discussion of why Oracle projects fail
- Leveraging tablespaces
- Autonomous transactions
- Row-level security for virtual private databases
- Parallel query and parallel server
- The new analytical functions introduced in Oracle 8.1.6
This book also provides a summary of the most useful new features of Oracle 8.1.5, practical tips for tuning performance and testing features, and information on the major space-management features of an Oracle database.
Written by one of the world's most knowledgeable and experienced Oracle database designers and programmers, Practical Oracle8i™ reveals the strategies, techniques, and insights that will enable you to understand the technology's full potential and put Oracle to work for successful database systems.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
If one ignores what likely amounted to ten pages of bug descriptions related to problems which must be avoided in Oracle 8.1.5 and 8.1.6, 95% of the book information is still relevant to people administering Oracle 9i through Oracle 11g. If one ignores this quote from page 28, "Of course the buyers may decide that they can get a really good deal by buying 4 35GB disks instead of the 16 9GB disks you requested... and maybe 4 600-MHz CPUs would be cheaper than the 12 220-MHz CPUs you wanted," the relevance and accuracy of the advice dispensed in the book does not diminish with time, and that cannot be said for many Oracle related books of the same vintage. It might even be an interesting mental exercise to read the book with a critical eye, attempting to identify limitations outlined within the text which no longer apply to more recent releases of Oracle - one would hope that the bug related limitations have long since been exterminated.
Despite having read a couple books by Thomas Kyte a couple years ago, as well as several others written by various respected authors, I still managed to record eight pages of typewritten notes while reading the Practical Oracle 8i book. Topics of the notes seemed to fall into the categories of "I remember that, kind of", "*There* is the missing link that connects the facts of the seemingly unrelated events", "Wow, I never thought of that as a possibility", and "That fact, or a question related to that fact, was just mentioned on one of the Oracle forums, or on a technical Oracle blog".
Paraphrased sections of the book, the case against rebuilding indexes on a scheduled basis, circa 2001 (and probably just as accurate today): "When an index block becomes completely empty, it is placed in the index's freelist, but is not removed from the structure until the block is reused. The index block, when reused, may be used in a different part of the index structure." Formulas are floating about on the Internet purporting to indicate when an index should be rebuilt based on criteria which is only updated after analyzing an index. "Analyzing an index will take out a mode 4 (shared) lock on a table, in the process preventing inserts, updates, and deletes within the index. An online rebuild of an index requires two periods in which the parent table is locked - once at the start of the rebuild and once at the end of the rebuild. Waits caused by the locks will not show in V$LOCK, and V$SESSION_WAIT will show waits on a NULL event. It is not possible to perform an online rebuild of bitmap indexes, reversed indexes, LOB indexes, secondary indexes on index organized tables, or on function based indexes. During an online index rebuild, space will be needed for the original index, the rebuilt index, and a logging segment named SYS.JOURNAL_nnnnn. Unlike the rebuild command, coalesce does not demand extra space to maintain two copies of the index, nor does it need to lock the table, but using coalesce does increase the chances of other sessions hitting a snapshot too old error."
Paraphrased from the book, the case against and for using the SYS user for an export (CONISTENT=Y cannot be used when the SYS user is performing an export, per the "Oracle Database Utilities 10g Release 2, Original Export and Import" documentation): "Oracle 8i introduces row level security, which uses a PL/SQL function to apply an additional WHERE clause predicate to a table - row level security does not apply to the SYS user. It is important to use CONSISTENT=Y when exporting partitioned tables. When CONSISTENT=N is specified, the export of each partition in a table is treated as a separate transaction, and may be exported at a different SCN number (incremented when any session commits). When tables are exported which contain nested tables, the two physical segments are exported in separate transactions, potentially resulting in inconsistent data during the import if the export was performed with the default CONSISTENT=N." So, what to do if the database is using partitioning, row level security, and nested tables? (Read the book to find the answer).
The book is written in a style which seems to mimic the type of conversation one might expect if an Oracle guru casually pulls up a chair in the library and starts telling the story of the little Oracle database engine that grew up to become the big database engine with occasional sharp teeth. The author's casual language in the text is not what one would expect from a technical computer book, but the writing style does flow well. When I reached the last page of the final appendix, I thought to myself "is that all there is to the book, what happened next?" Reviewing my notes, I think that I am able to answer that question.
Struggling to Find a Couple Negatives:
* A couple scripts are missing obvious characters, such as a closing parenthesis.
* Features requiring an Enterprise Edition license were not identified as such until Appendix A (an important section of the book which briefly describes various features mentioned in the book, along with associated benefits and negatives).
* Appendix A failed to mention that analytic functions and function based indexes were not available to users on the Standard Edition of Oracle 8.1.x
In summary, even though this book is eight years old, it is not a waste of money. Much of the content is still relevant.
Lewis seems to know exactly when to give a broad overview of a subject, and when to zoom in on a telling detail. In contrast, many books about Oracle are either numbingly boring lists of minutiae, or frustratingly useless, detail-free summaries.
Lewis is such a good writer that one could, I imagine, pick up this book and read it front to back. I suspect most readers will do as I have -- find chapters that address some specific problem. This week I'm reading chapters 6 & 7 on indexing. It's certainly going to save my company thousands of dollars, and it looks like it's going to speed up the database a good bit, too. If I can make my boss and our users happy at the same time, I'd call that the best of all possible results, and "Practical Oracle 8i" the best Oracle book I've read.
The only other complaint that I could make about this book is that it was not long enough. You come away thinking that the author probably has a great more to share with us, but just didn't have the pages. Jonathan leaves you with substance, and the benefit of experience and knowledge beyond the standard set of Oracle documentation. He has given the Oracle DBA food for thought, and for that, this book is worth five stars and the price.
The style is relaxed and personal, but there is no lack of technical accuracy, and although the main arguments and recommendations are accessible to relative newcomers to Oracle, many of the detailed explanations assume considerable familiarity with Oracle system architecture and performance issues. In summary, this book is particularly valuable for people who are designing new Oracle-based systems, but has plenty of practical advice for all Oracle developers and DBAs.
Highly recommended for any dba/programmer working with Oracle8i. Congrats Jonathan for a really great book.
Most recent customer reviews
A lot of books seem to give canned explanations of how oracle works - geared towards rote memorization as opposed to...Read more