Expert Oracle Database Architecture and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
Trade in Yours
For a 3.39 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading Expert Oracle Database Architecture on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions [Paperback]

Thomas Kyte
5.0 out of 5 stars  See all reviews (1 customer review)
RRP: 47.49
Price: 27.44 & FREE Delivery in the UK. Details
You Save: 20.05 (42%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 2 left in stock (more on the way).
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 31 Aug.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition 24.38  
Paperback 27.44  
Trade In this Item for up to 3.39
Trade in Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions for an Amazon Gift Card of up to 3.39, which you can then spend on millions of items across the site. Trade-in values may vary (terms apply). Learn more

Book Description

24 Jan 2011 1430229462 978-1430229469 2
Now in its second edition, this best-selling book by Tom Kyte of "Ask Tom" fame continues to bring you some of the best thinking on how to apply Oracle Database to produce scalable applications that perform well and deliver correct results. Tom has a simple philosophy: you can treat Oracle as a black box and just stick data into it or you can understand how it works and exploit it as a powerful computing environment. If you choose the latter, then you'll find that there are few information management problems that you cannot solve quickly and elegantly. This fully revised second edition covers the developments up to Oracle Database 11g. Each feature is taught in a proof-by-example manner, not only discussing what it is, but also how it works, how to implement software using it, and the common pitfalls associated with it. Don't treat Oracle Database as a black-box. Get this book. Get under the hood. Turbo-charge your career. * Fully revised to cover Oracle Database 11g * Proof-by-example approach: Let the evidence be your guide * Dives deeply into Oracle Databases's most powerful features What you'll learn * Develop an evidence-based approach to problem solving * Manage transactions in highly concurrent environments * Speed access to data through table and index design * Manage files and memory structures for performance and reliability * Scale up through partitioning and parallel processing * Load and unload data to interface with external systems * Think for yourself; don't take Tom's word for it! Who this book is for This book is aimed at Oracle Database administrators, at PL/SQL and Java developers writing code to be deployed inside the database, and at developers of external applications who use Oracle Database as a data store. It is the go-to book for those wishing to create efficient and scalable applications. Table of Contents * Developing Successful Oracle Applications * Architecture Overview * Files * Memory Structures * Oracle Processes * Locking and Latching * Concurrency and Multi-versioning * Transactions * Redo and Undo * Database Tables * Indexes * Datatypes * Partitioning * Parallel Execution * Data Loading and Unloading * Data Encryption

Frequently Bought Together

Expert Oracle Database Architecture: Oracle Database Programming 9i, 10g, and 11g Techniques and Solutions + Effective Oracle by Design (Oracle Press)
Buy the selected items together
  • Effective Oracle by Design (Oracle Press) 28.09

Product details

  • Paperback: 832 pages
  • Publisher: Springer Verlag GmbH; 2 edition (24 Jan 2011)
  • Language: English
  • ISBN-10: 1430229462
  • ISBN-13: 978-1430229469
  • Product Dimensions: 23.6 x 19 x 4.6 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 217,089 in Books (See Top 100 in Books)

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
1 of 1 people found the following review helpful
5.0 out of 5 stars excellent 3 Jan 2014
Format:Paperback|Verified Purchase
Incredible book to understand what happens beneath of oracle database. I suggest though that the reader should have at least a basic understanding and experience of PL/SQL development. I think it is one of the best books to study when trying to make the step from a database user or PL/SQL developer to an advanced user with basic DBA knowledge and optimal PL/SQL developer I think it is a book that should be read from anyone who has an good understanding of oracle database but wants somehting more.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.9 out of 5 stars  15 reviews
26 of 28 people found the following review helpful
5.0 out of 5 stars Foundation Knowledge to Understand Most Any Other Oracle Database Book - Required Reading for All DBAs and Developers 15 Aug 2010
By Charles Hooper - Published on
Format:Paperback|Verified Purchase
I pre-ordered this book in May, having previously read the two previous editions of this book ("Expert One-On-One Oracle" and "Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions") cover to cover. Now that I have had an opportunity to fully read this edition, I now realize that the first edition of this book subconsciously set the standards that I expected of all other Oracle Database books I have subsequently purchased. The latest edition is now among my five favorite Oracle Database books, sharing the top five ranking with "Cost-Based Oracle Fundamentals", "Troubleshooting Oracle Performance", and "Optimizing Oracle Performance".

The author of this book is a Vice President at Oracle Corporation, and is well known for his [...] website, articles in Oracle's magazine, forum/Usenet postings, and presentations. The author recently revised the Oracle Concepts Guide, which is part of the Oracle Database 11.2 documentation library. Slightly off topic: It might be notable that a book written by a VP at Oracle Corporation is not published by Oracle Press. Oracle Press is a marketing label used by McGraw Hill to market its line of Oracle books - the books are not formally written by Oracle Corporation nor are they formally tech edited by Oracle Corporation, although some employees of Oracle Corporation have used McGraw Hill as a publishing company. At least for me, for several years the "Officially Authorized Oracle Press" logo on books published by McGraw Hill seemed to be endorsement of the books by Oracle Corporation, but that is not the case, as was clarified by one of the threads on the AskTom site.

The book contents are very well organized, allowing the reader to continually build on previously introduced concepts. Many forward and backward references in the book are provided - "see the section a1 in chapter n for additional information". It is surprising just how much new content is included in this edition of the book - this book reads as though it were written specifically for Oracle Database 11g R2 with exceptions in behavior mentioned for older Oracle Database releases. Even if you have read one of the older releases of the book, I do not recommend just jumping into one of the chapters using either the table of contents or the index at the back of the book. Start at the beginning of the book and finish at the end of the book. The author introduces very useful bits of information in the chapters that are not specific to the chapter title, and do not appear in the table of contents or the index at the back of the book. Just a couple of examples of useful information that will be missed (especially if you only read the first half of the book):
* Page 421: UTL_RAW.CAST_TO_RAW and UTL_RAW.CAST_TO_VARCHAR2 functions with sample code.
* Page 434: Using DUMP(number, 16) to see the raw bytes used to store values.
* Page 464: Using DBMS_UTILITY.GET_CPU_TIME to determine the previously used CPU seconds for the session.
* Page 465: Oracle Database 10g R2's deterministic function optimization.
* Page 470: Use of the analytic function RATIO_TO_REPORT
* Page 472: Creating a UNIQUE function based index to enforce uniqueness of values in a column when another column contains a specific value.
* Page 477: Oracle Forms by default updates every column including primary key columns, and that behavior could lead to deadlocks.
* Page 478: Disabling table locks on a table will help detect unindexed foreign keys.
* Page 487: Using DBMS_SPACE.FREEBLOCKS to determine the number of index blocks in the index freelist.
* Page 512: Using the VSIZE function to indicate how much storage space a column value requires.
* Page 513: Warns of a calculation error (that is not a bug) when adding the floating point numbers 0.3 and 0.1 - the result is not 0.4.
* Page 646: Using DBMS_STATS.SET_TABLE_STATS to simulate a large table in order to determine how data volume changes will impact the execution plan generated by the optimizer.
* Page 656: Using the NTILE analytic function to break a rowset into equally sized groups of rows.
* Page 687: Starting with Oracle 9i it is possible to insert into one or more tables using complex WHEN conditions.
* Page 739: Encrypting a column in a table may cause significant changes to the execution plans that specify that column in join or filtering conditions.
* Page 740: Index range scans are not possible with indexes created for encrypted columns.

The author uses an odd, yet very helpful teaching method throughout the book. Break something, with the assumption that you are reading the chapter because something is already broken, and then show you how to fix the problem and ultimately avoid the problem in the future. Unfortunately, the index at the back of the book only contains a small handful of these problem-solution cases - another reason to read the whole book and take good notes. A list of the errors covered in the book as teachable moments follows:
* Chapter 1: ORA-02391, ORA-08177, ORA-00060
* Chapter 2: ORA-12162, ORA-16196
* Chapter 3: ORA-00942, ORA-25138, ORA-01021, ORA-02096, ORA-12913, ORA-12505, ORA-01031
* Chapter 4: ORA-29339
* Chapter 6: ORA-00054, ORA-00069
* Chapter 7: ORA-01555, ORA-08177
* Chapter 8: ORA-02290, ORA-02292, ORA-02291, ORA-30036
* Chapter 10: ORA-22908, ORA-01427
* Chapter 11: ORA-25954, ORA-01450, ORA-01743, ORA-0001, ORA-00069
* Chapter 12: ORA-12899, ORA-01461, ORA-01465, ORA-01438, ORA-00932, ORA-01839, ORA-30079, ORA- 22285
* Chapter 13: ORA-00376, ORA-01652, ORA-14511, ORA-01843, ORA-14400, ORA-14767, ORA-14652, ORA-14659, ORA-14402, ORA-01408, ORA-02429, ORA-14038
* Chapter 14: ORA-12838
* Chapter 15: SQLLDR-601, SQL*Loader-144, ORA-29913, ORA-06512
* Chapter 16: ORA-28365, ORA-28348

Helpful Foundation Knowledge in the Found in the Book:
* Notes at the front of the book show how to quickly install Statspack, change AUTOTRACE settings, permanently configure the SQL*Plus environment, and the requirements for the Runstats, Mystat, Show_Space, and Big_Table scripts that are used later in the book.
* Provides a warning not to use bitmap indexes on columns just because the columns have low cardinality columns, for example a column named PROCESSED that has either a value of Y or N, without first considering concurrency - how will the column be used and updated.
* Pages 17 through 21 demonstrate SQL injection when bind variables are not used in an example that most people probably would not consider as a threat - the SQL injection was accomplished by simply changing the NLS_DATE_FORMAT.
* Page 72 warns against setting undocumented parameters: "Use undocumented parameters only at the request of Oracle support. Their use can be damaging to a database, and their implementation can - and will - change from release to release." This is a warning that should be included in every book before the first mention of hidden parameters.
* The book provides a detailed list and description of the functionality provided by Oracle's background processes.
* Demonstrates how to build test cases to verify performance/scalability issues.
* Pages 262-265 provide a very detailed demonstration of transactions automatically restarting. This behavior might cause, for example, before update triggers to fire more than once, various problems with PL/SQL variables, autonomous transactions, and various PL/SQL packages (UTL_FILE, UTL_SMTP, UTL_HTTP, etc.).
* Excellent section on the topic of index myths, one of which had its roots in Oracle Database 5.
* Shows a lot of examples of practical SQL and PL/SQL in test cases, which is extremely helpful for people trying to learn either SQL or PL/SQL. The test cases frequently include TKPROF output.
* The book includes a nice analogy of Oracle Database's parallel execution option by comparing that feature with writing either a short or long report - coordinating the writing of a small report could take longer than simply writing the report without assistance.
* Excellent section dedicated to answering frequently asked questions about SQL Loader.
* The chapter showing the use of external data includes examples with SQLLOADER, external tables, flat files, and Data Pump unload (used to write out the contents of a table to allow that table's rows to be used in another database).
* The book almost always lists the first Oracle release version that offered a feature when that feature is introduced in the book.
* Typically indicates when syntax introduced in the book is operating system dependent. For example, on page 682 "ls -l" is specified for Unix/Linux and "dir /q /n" for Windows.
* The downloadable source code library seems to be complete, making it easy for readers to reproduce the tests that are found in the book.

Not everything about the book is perfect. The errata page for the book currently lists a problem where the author used the word "be" too many times in a sentence. What else needs a little fine tuning, is not quite right, or is simply incorrect? The following are my observations about the book:
* The book frequently seems to assume that a fully optioned version of the Enterprise Edition of Oracle is used by all of the readers of the book, which may set the readers up for false hope in solving certain problems, or implementing solutions that cannot be used in production environments (the chapters discussing bitmap indexes, partitioning, and parallel execution are exceptions, where the requirements are stated):
--- Advanced Queuing on page 10
--- SQL Profiles on page 11
--- FLASHBACK on page 26
--- Fine-grained access control on page 46
--- Index key compression on page 407
--- Chapter on the topic of Data Encryption does not mention what capabilities are available for the Standard Edition, Enterprise Edition, or the Enterprise Edition with the Oracle Advanced Security Option.
* Page xxxvi describes running the utlxplan script as the user SYSTEM. Running this script should not be necessary starting with Oracle Database 9i.
* Chapter 1 seems to be a little loose with terminology, specifically with the terms "database" and "Oracle". These chapters were probably intentionally written as such to help introduce the reader to the world of Oracle Database. The first couple of pages of the second chapter provide a definition of "database" and "instance".
* Some code sections of the book have lines with unnecessarily bold fonts (page 13, 29, 33, 34, 37, 53, 54, 59, 61, 175).
* Page 109 typing error: "Normally, on UNIX/Linux, this group will be DBA by default, and OSDBA on Windows. That group is `special,' in that any user in that group can connect to Oracle `as SYSDBA' without specifying a username or password." On Windows the group name is ora_dba, not OSDBA - the same error is found in the previous edition of the book.
* Page 131 behavior change: "A serial (nonparallel query) session will use a small percentage of the PGA_AGGREGATE_TARGET, typically about 5 percent or less. So, if you've set the PGA_AGGREGATE_TARGET to 100MB, you'd expect to use no more than about 5MB per work area (e.g., the sort or hash work area). You may well have multiple work areas in your session for multiple queries, or more than one sort or hash operation in a single query, but each work area will be about 5 percent or less of the PGA_AGGREGATE_TARGET." It appears that this behavior changes when the OPTIMIZER_FEATURES_ENABLE parameter is set to or greater, as evidenced by the change in the _SMM_MAX_SIZE parameter as found in a 10053 trace file or a query of X$KSPPSV and X$KSPPI.
* Page 220 join error: The self-join of V$LOCK probably should have also joined on the TYPE column in addition to the ID1 and ID2 column. Additionally, the BLOCK column could potentially have a value of 2, rather than 1 in a RAC environment.
* Page 335 typing error: shows the view name V$UNDOSTATUNDOSTAT, should be V$UNDOSTAT.
* Page 419 suggested use of a deprecated feature: Shows using the exp command with Oracle Database to create a people.sql file containing a CREATE TABLE command for an object based table. Page 116 states the following "Export [exp] is officially deprecated with Oracle Database 11g Release 2. It is supplied only for use with legacy database structures."
* Some of the autotrace generated execution plans do not conform to the DBMS_XPLAN style execution plans that are automatically generated as of Oracle Database 10g R2, even though it appears that the author was connected to Oracle Database 11g R2. Example include the two execution plans on page 480.
* The SQL*Plus prompts are atypical (not "SQL>") as displayed in the book - while it might be helpful to show which database the SQL*Plus session is connected to, it makes it hard to read some of the code samples that span more than a single line.

The problems found in the book are absolutely minor in comparison to the value of the information provided in the book. Yes, it is probably harsh to be judged by the standards set in the previous edition of the book. This edition update was certainly not a five hour task, and probably was not a five month task either. I suspect that this edition has been in development for most of the last five years, since the publication of the previous edition. If you have read the previous editions of this book, set those books aside and start reading from the beginning of this edition - you will not be disappointed.
7 of 7 people found the following review helpful
5.0 out of 5 stars A Tomb of Delicious Oracle Detail 13 Sep 2010
By Sean P. Hull - Published on
Tom Kyte is well known in the Oracle community for his Ask Tom website and as author to some great titles on Oracle. So it's no surprise that his latest Architecture book as voluminous and thorough.

Like the first edition Tom spends careful time upfront with a whole long section just on setting up your "environment". Now for those folks who don't use the command line often, you had best dig out your guides, howtos and documentation, and bring yourself up to speed.

The book is laid out with endless examples of how to do things illustrated using sql*plus the Oracle shell. As he reminds us, this is far and away the best way to learn about the inner workings of the database, and his clear and step-by-step examples really drive that home.

As he explains, you'll find that the chapters are mostly self-contained, so you can read them in different order, while still making sense of the whole. Chapter 1 discusses database applications overall, and in particular how to best utilize the Oracle technology and horsepower you've licensed.

Chapter 2 covers the overall architecture of an oracle database outlining how instances are different than a database, and how RAC fits into the picture.

There may be some area you are weaker in, such as memory structures - the PGA, SGA and UGA. So jump straight to chapter 4 for that. Want to know more about locks and latches, chapter 6 will cover that material.

When you get to chapter 10 on tables, you will realize just how much the database has evolved over the years. How many different types of tables are there? There are heap tables, index organized tables, index clustered tables, hash clustered tables, nested tables, temp tables, and object tables. Wow, that's quite a long list.

Remaining chapters give equal attention to indexes, datatypes, partitioning, parallelization, data loading and unloading, and finally encryption.

If you're a DBA you might be left wondering, well where's the chapter on rman or RAC, or dataguard. Remember though that this book is really targeted at developers, and what they should know architecturally to write good applications. That said it is so thorough, and detailed, that a DBA will surely gain a lot of knowledge and insight within these pages as well.

Now that I've finished waxing on about what a great read this book is, I'll add one small little criticism. Tom is vary passionate about the technology. This really comes across in the level of detail and knowledge hey conveys on the pages. If however you work with alternative database systems as well, such as SQL Server, or *gasp* MySQL, you might at times find the tone a bit evangelistic. I chalk this up to great enthusiasm.

If you want to really know how the Oracle core database technology works, turn to a passionate guy like Tom Kyte to get the skinny!
8 of 9 people found the following review helpful
5.0 out of 5 stars A great book for Oracle professionals 1 Aug 2010
By Yan Li - Published on
The author of this book, - Tom Kyte is no stranger for Oracle professionals. As an oracle DBA and developer for years, I've been a regular visitor of his "Ask Tom" website. I'm very glad to see the new edition of his "Expert Oracle Database Architecture" has been released. I just finished reading this book and strongly recommend it to all Oracle developers and DBAs. 780 pages is a good size - not too heavy to carry.

Tom covers the fundamental concepts and deep insights using simple conversational language, in the style of his "Ask Tom" columns. The book also provides many useful examples, codes and tips on resolving real world issues. An example of bind variables tells how much hard parsing utilizes resources (cpu/latches etc) and I was also impressed that Tom always finds ways to measure the usage. I had some blurred concepts about LOBs and parallel query/DML/DDL. This book helped me to clarify them. The book also covers some 11g new features. We need to keep track of what Oracle has already done to avoid reinventing the wheel.

I also enjoyed the following sections and found them useful and interesting:
- How (and How Not) to Develop Database Applications
- Bad Transaction Habits
- Frequently Asked Questions and Myths About Indexes

To develop a successful Oracle application, we should understand the database inside out. What I like the most about this book is that it not only tells you "what" but also "how"; explains not only "when" and "why" but also "when not" and "why not". That's the main reason I read Tom's book and visit his site - to get the "why" behind the methods. It's uncomfortable to implement something without knowing why.

You don't have to read this book from cover to cover - although it would be a good idea to do so. Each chapter can be read as a standalone piece. The book can also be an excellent, handy reference to put on your bookshelf.

Chapter 1: "Developing Successful Oracle Applications" is a great summary of the whole book.
Chapters 2-5 are about Oracle's architecture, memory, files and processes.
Chapters 6-9 cover concurrency and transaction control, such as locks and latches, redo and undo.
Chapters 10-13 are about objects including tables, indexes, data types and partitions.
Chapters 14-16 cover parallel executions, data loading and security (encryption, etc.).

I agree with Tom in that, a developer (and DBA) should not treat the database as a "black box". Armed with the knowledge and skills gained from this book, you can at least make the black box translucent, if not transparent. I feel that it's much more worthwhile to get a good book and learn from it at your leisure than to spend a lot of money taking shallow training classes.
1 of 1 people found the following review helpful
5.0 out of 5 stars One the Best Oracle Books 30 Mar 2011
By B. Gong - Published on
Format:Paperback|Verified Purchase
As always, I love Tom's books on Oracle. I think I have all the books on Oracle Tom has published. Tom always, always, uses real examples to demonstrate his points and that's the beauty of his books. He seems to have a solution for most of the SQL problems that we encounter in our daily programming life. I remember Tom has a PL/SQL program that converts digits to words (like when you print a check) in a single loop statement! I have seen it done in other programming languages with many lines of code. Unlike many other "experts", Tom does not copy from the official Oracle documentations, he urges us to read them own our own.

I wish Amazon has the Kindle version of this book so I can have it on my Kindle!
5.0 out of 5 stars The gospel according to Tom 9 Jan 2014
By Tony - Published on
Format:Paperback|Verified Purchase
Can't recommend this highly enough!

I learned so much about Oracle from this book and as he recommends - the oracle concepts manual
He doesn't just teach you about Oracle, he encourages you to think for yourself and to prove your theories about the causes of problems - and he gives you the code to do it.

Catch his website 'ask tom'
Some of the issues he explains like the 'snapshot too old' problem, likely caused by commiting inside a cursor loop, have been the subject of questions from site visitors for twelve years or more. Shame they didn't just read the book!
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category