Muutke küpsiste eelistusi

Expert Oracle Database Architecture: Oracle Database 9i, 10g, and 11g Programming Techniques and Solutions 2nd ed. [Pehme köide]

  • Formaat: Paperback / softback, 832 pages, kõrgus x laius: 254x178 mm, kaal: 1543 g, 52 Illustrations, black and white; L, 832 p. 52 illus., 1 Paperback / softback
  • Ilmumisaeg: 26-Jul-2010
  • Kirjastus: APress
  • ISBN-10: 1430229462
  • ISBN-13: 9781430229469
Teised raamatud teemal:
  • Pehme köide
  • Hind: 62,59 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 73,64 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 832 pages, kõrgus x laius: 254x178 mm, kaal: 1543 g, 52 Illustrations, black and white; L, 832 p. 52 illus., 1 Paperback / softback
  • Ilmumisaeg: 26-Jul-2010
  • Kirjastus: APress
  • ISBN-10: 1430229462
  • ISBN-13: 9781430229469
Teised raamatud teemal:
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 youll 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.



Dont 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 most powerful features
Contents at a Glance v
Foreword xviii
Foreword from the First Edition xix
About the Author xxii
About the Technical Reviewers xxiii
Acknowledgments xxiv
Introduction xxv
Setting Up Your Environment xxxii
Chapter 1 Developing Successful Oracle Applications
1(50)
My Approach
2(1)
The Black Box Approach
3(8)
How (and How Not) to Develop Database Applications
11(38)
Understanding Oracle Architecture
12(9)
Understanding Concurrency Control
21(4)
Multi-Versioning
25(7)
Database Independence?
32(14)
How Do I Make It Run Faster?
46(2)
The DBA-Developer Relationship
48(1)
Summary
49(2)
Chapter 2 Architecture Overview
51(16)
Defining Database and Instance
52(8)
The SGA and Background Processes
58(2)
Connecting to Oracle
60(6)
Dedicated Server
60(2)
Shared Server
62(1)
Mechanics of Connecting over TCP/IP
63(3)
Summary
66(1)
Chapter 3 Files
67(54)
Parameter Files
68(6)
What Are Parameters?
69(4)
Legacy init.ora Parameter Files
73(1)
Server Parameter Files (SPFILEs)
74(8)
Converting to SPFILEs
75(7)
Trace Files
82(11)
Requested Trace Files
83(5)
Trace Files Generated in Response to Internal Errors
88(5)
Trace File Wrap-up
93(1)
Alert File
93(3)
Data Files
96(7)
A Brief Review of File System Mechanisms
96(1)
The Storage Hierarchy in an Oracle Database
97(4)
Dictionary-Managed and Locally-Managed Tablespaces
101(2)
Temp Files
103(2)
Control Files
105(1)
Redo Log Files
105(4)
Online Redo Log
106(2)
Archived Redo Log
108(1)
Password Files
109(4)
Change Tracking File
113(1)
Flashback Logs
114(2)
Flashback Database
114(1)
Flash Recovery Area
115(1)
DMP Files (EXP/IMP Files)
116(1)
Data Pump Files
117(3)
Flat Files
120(1)
Summary
120(1)
Chapter 4 Memory Structures
121(44)
The Process Global Area and User Global Area
122(20)
Manual PGA Memory Management
123(6)
Automatic PGA Memory Management
129(11)
Choosing Between Manual and Auto Memory Management
140(2)
PGA and UGA Wrap-up
142(1)
The System Global Area
142(22)
Fixed SGA
148(1)
Redo Buffer
148(1)
Block Buffer Cache
149(7)
Shared Pool
156(3)
Large Pool
159(1)
Java Pool
160(1)
Streams Pool
160(1)
Automatic SGA Memory Management
161(1)
Automatic Memory Management
162(2)
Summary
164(1)
Chapter 5 Oracle Processes
165(30)
Server Processes
166(14)
Dedicated Server Connections
166(3)
Shared Server Connections
169(1)
Database Resident Connection Pooling (DRCP)
170(1)
Connections vs. Sessions
170(6)
Dedicated Server vs Shared Server vs DRCP
176(3)
Dedicated/Shared Server Wrap-up
179(1)
Background Processes
180(13)
Focused Background Processes
181(9)
Utility Background Processes
190(3)
Slave Processes
193(1)
I/O Slaves
193(1)
Pnnn: Parallel Query Execution Servers
193(1)
Summary
194(1)
Chapter 6 Locking and Latching
195(48)
What Are Locks?
195(3)
Locking Issues
198(18)
Lost Updates
198(1)
Pessimistic Locking
199(2)
Optimistic Locking
201(6)
Optimistic or Pessimistic Locking?
207(1)
Blocking
208(3)
Deadlocks
211(4)
Lock Escalation
215(1)
Lock Types
216(25)
DML Locks
216(9)
DDL Locks
225(5)
Latches
230(10)
Mutexes
240(1)
Manual Locking and User-Defined Locks
240(1)
Summary
241(2)
Chapter 7 Concurrency and Multi-versioning
243(24)
What Are Concurrency Controls?
243(1)
Transaction Isolation Levels
244(11)
Read Uncommitted
246(2)
Read Committed
248(1)
Repeatable Read
249(3)
Serializable
252(2)
Read Only
254(1)
Implications of Multi-version Read Consistency
255(4)
A Common Data Warehousing Technique That Fails
255(1)
An Explanation for Higher Than Expected I/O on Hot Tables
256(3)
Write Consistency
259(6)
Consistent Reads and Current Reads
259(3)
Seeing a Restart
262(2)
Why Is a Restart Important to Us?
264(1)
Summary
265(2)
Chapter 8 Transactions
267(32)
Transaction Control Statements
267(2)
Atomicity
269(6)
Statement-Level Atomicity
269(2)
Procedure-Level Atomicity
271(4)
Transaction-Level Atomicity
275(1)
DDL and Atomicity
275(1)
Durability
275(4)
WRITE Extensions to COMMIT
276(1)
COMMITS in a Non-Distributed PL/SQL Block
277(2)
Integrity Constraints and Transactions
279(5)
Immediate Constraints
279(1)
Deferrable Constraints and Cascading Updates
280(4)
Bad Transaction Habits
284(7)
Committing in a Loop
284(6)
Using Autocommit
290(1)
Distributed Transactions
291(2)
Autonomous Transactions
293(5)
How Autonomous Transactions Work
293(2)
When to Use Autonomous Transactions
295(3)
Summary
298(1)
Chapter 9 Redo and Undo
299(46)
What Is Redo?
300(1)
What Is Undo?
300(4)
How Redo and Undo Work Together
304(4)
Example INSERT-UPDATE-DELETE Scenario
304(4)
Commit and Rollback Processing
308(8)
What Does a COMMIT Do?
308(7)
What Does a ROLLBACK Do?
315(1)
Investigating Redo
316(16)
Measuring Redo
316(2)
Can I Turn Off Redo Log Generation?
318(3)
Why Can't I Allocate a New Log?
321(2)
Block Cleanout
323(3)
Log Contention
326(2)
Temporary Tables and Redo/Undo
328(4)
Investigating Undo
332(12)
What Generates the Most and Least Undo?
332(2)
ORA-01555: snapshot too old Error
334(10)
Summary
344(1)
Chapter 10 Database Tables
345(80)
Types of Tables
345(2)
Terminology
347(12)
Segment
347(3)
Segment Space Management
350(1)
High-water Mark
350(2)
Freelists
352(4)
PCTFREE and PCTUSED
356(3)
LOGGING and NOLOGGING
359(1)
INITRANS and MAXTRANS
359(1)
Heap Organized Tables
359(4)
Index Organized Tables
363(15)
Index Organized Tables Wrap-up
378(1)
Index Clustered Tables
378(8)
Index Clustered Tables Wrap-up
386(1)
Hash Clustered Tables
386(9)
Hash Clustered Tables Wrap-up
394(1)
Sorted Hash Clustered Tables
395(2)
Nested Tables
397(12)
Nested Tables Syntax
398(7)
Nested Table Storage
405(3)
Nested Tables Wrap-up
408(1)
Temporary Tables
409(7)
Temporary Tables Wrap-up
415(1)
Object Tables
416(7)
Object Tables Wrap-up
423(1)
Summary
423(2)
Chapter 11 Indexes
425(68)
An Overview of Oracle Indexes
425(2)
B Trees Indexes
427(25)
Index Key Compression
430(3)
Reverse Key Indexes
433(6)
Descending Indexes
439(2)
When Should You Use a B Tree Index?
441(11)
B Trees Wrap-up
452(1)
Bitmap Indexes
452(8)
When Should You Use a Bitmap Index?
453(4)
Bitmap Join Indexes
457(2)
Bitmap Indexes Wrap-up
459(1)
Function-Based Indexes
460(14)
Important Implementation Details
460(1)
A Simple Function-Based Index Example
461(9)
Indexing Only Some of the Rows
470(2)
Implementing Selective Uniqueness
472(1)
Caveat Regarding ORA-01743
472(1)
Function-Based Indexes Wrap-up
473(1)
Application Domain Indexes
474(1)
Frequently Asked Questions and Myths About Indexes
475(16)
Do Indexes Work on Views?
475(1)
Do Nulls and Indexes Work Together?
475(2)
Should Foreign Keys Be Indexed?
477(2)
Why Isn't My Index Getting Used?
479(6)
Myth: Space Is Never Reused in an Index
485(3)
Myth: Most Discriminating Elements Should Be First
488(3)
Summary
491(2)
Chapter 12 Datatypes
493(64)
An Overview of Oracle Datatypes
493(3)
Character and Binary String Types
496(10)
NLS Overview
496(3)
Character Strings
499(7)
Binary Strings: RAW Types
506(2)
Number Types
508(8)
Number Type Syntax and Usage
510(3)
Binary_Float/Binary_Double Type Syntax and Usage
513(1)
Non-native Number Types
514(1)
Performance Considerations
514(2)
Long Types
516(7)
Restrictions on LONG and LONG RAW Types
516(2)
Coping with Legacy LONG Types
518(5)
Dates, Timestamps, and Interval Types
523(18)
Formats
523(2)
Date Type
525(6)
Timestamptype
531(7)
Interval Type
538(3)
LOB Types
541(13)
Internal LOBs
541(11)
BFILEs
552(2)
ROWID/UROWID Types
554(1)
Summary
555(2)
Chapter 13 Partitioning
557(64)
Partitioning Overview
557(9)
Increased Availability
558(2)
Reduced Administrative Burden
560(4)
Enhanced Statement Performance
564(2)
Table Partitioning Schemes
566(25)
Range Partitioning
567(2)
Hash Partitioning
569(5)
List Partitioning
574(1)
Interval Partitioning
575(6)
Reference Partitioning
581(5)
Composite Partitioning
586(2)
Row Movement
588(2)
Table Partitioning Schemes Wrap-up
590(1)
Partitioning Indexes
591(21)
Local Indexes vs Global Indexes
592(1)
Local Indexes
593(6)
Global Indexes
599(13)
Partitioning and Performance, Revisited
612(6)
Auditing and Segment Space Compression
618(1)
Summary
619(2)
Chapter 14 Parallel Execution
621(36)
When to Use Parallel Execution
622(2)
A Parallel Processing Analogy
623(1)
Oracle Exadata
624(1)
Parallel Query
624(6)
Parallel DML
630(3)
Parallel DDL
633(12)
Parallel DDL and Data Loading Using External Tables
634(2)
Parallel DDL and Extent Trimming
636(9)
Parallel Recovery
645(1)
Procedural Parallelism
645(11)
Parallel Pipelined Functions
646(3)
Do-it-Yourself Parallelism
649(3)
Old School Do-it-Yourself Parallelism
652(4)
Summary
656(1)
Chapter 15 Data Loading and Unloading
657(52)
SQL Loader
657(29)
Loading Data with SQLLDR FAQs
661(25)
SQLLDR Caveats
686(1)
SQLLDR Summary
686(1)
External Tables
686(12)
Setting Up External Tables
687(6)
Dealing with Errors
693(3)
Using an External Table to Load Different Files
696(1)
Multiuser Issues
696(1)
External Tables Summary
697(1)
Flat File Unload
698(8)
Data Pump Unload
706(2)
Summary
708(1)
Chapter 16 Data Encryption
709(42)
Types of Encryption
709(13)
Data in Motion
709(1)
Data at Rest
710(3)
Manual Application Encryption
713(1)
The Oracle Wallet
714(3)
Transparent Column Level Encryption
717(2)
Transparent Tablespace Encryption
719(3)
What Encryption Is Not About
722(1)
Implementing Manual Application Encryption
723(6)
Reasons to Avoid the Manual Approach
723(1)
Performance Implications of the Manual Approach
724(5)
When to Use the Manual Approach
729(1)
Implementing Column Level Encryption
729(12)
How to Use Column Encryption
729(1)
Data Storage with Column Encryption
730(4)
Measuring the Performance Impact of Column Encryption
734(1)
Influences on the Magnitude
734(6)
Limitations of Column Encryption
740(1)
Implementing Tablespace Encryption
741(7)
How to Use Tablespace Encryption
741(1)
Data Storage with Tablespace Encryption
741(2)
Measuring the Performance Impact of Tablespace Encryption
743(5)
Deciding on an Encryption Technique
748(1)
Summary
749(2)
Index 751
Thomas Kyte is vice president of the Core Technologies Group at Oracle Corporation and has been with the company since version 7.0.9 was released in 1993. Kyte, however, has been working with Oracle since version 5.1.5c. At Oracle, Kyte works with the Oracle database, and more specifically, he helps clients who are using the Oracle database and works directly with them specifying and building their systems or rebuilding and tuning them. Prior to working at Oracle, Kyte was a systems integrator who built large-scale, heterogeneous databases and applications for military and government clients.Tom Kyte is the same "Ask Tom" whose column appears in Oracle Magazine, where he answers questions about the Oracle database and tools that developers and database administrators struggle with every day.