Expert Oracle Database Architecture. 9i and 10g Programming Techniques and Solutions
Автор: Thomas Kyte
Год выпуска: 2005
Издательство: apress
Формат: PDF
Contents:
CHAPTER 1 Developing Successful Oracle Applications
My Approach
The Black Box Approach
How (and How Not) to Develop Database Applications
Understanding Oracle Architecture
Understanding Concurrency Control
Multi-Versioning
Database Independence?
“How Do I Make It Run Faster?
The DBA–Developer Relationship
CHAPTER 2 Architecture Overview
Defining Database and Instance
The SGA and Background Processes
Connecting to Oracle
Dedicated Server
Shared Server
Mechanics of Connecting over TCP/IP
CHAPTER 3 Files
Parameter Files
What Are Parameters?
Legacy init.ora Parameter Files
Server Parameter Files (SPFILEs)
Parameter File Wrap-Up
Trace Files
Requested Trace Files
Trace Files Generated in Response to Internal Errors
Trace File Wrap-Up
Alert File
Data Files
A Brief Review of File System Mechanisms
The Storage Hierarchy in an Oracle Database
Dictionary-Managed and Locally-Managed Tablespaces
Temp Files
Control Files
Redo Log Files
Online Redo Log
Archived Redo Log
Password Files
Change Tracking File
Flashback Log Files
Flashback Database
Flash Recovery Area
DMP Files (EXP/IMP Files)
Data Pump Files
Flat Files
CHAPTER 4 Memory Structures
The Process Global Area and User Global Area
Manual PGA Memory Management
Automatic PGA Memory Management
Choosing Between Manual and Auto Memory Management
PGA and UGA Wrap-Up
The System Global Area
Fixed SGA
Redo Buffer
Block Buffer Cache
Shared Pool
Large Pool
Java Pool
Streams Pool
Automatic SGA Memory Management
CHAPTER 5 Oracle Processes
Server Processes
Dedicated Server Connections
Shared Server Connections
Connections vs. Sessions
Dedicated Server vs. Shared Server
Dedicated/Shared Server Wrap-Up
Background Processes
Focused Background Processes
Utility Background Processes
Slave Processes
I/O Slaves
Parallel Query Slaves
CHAPTER 6 Locking and Latching
What Are Locks?
Locking Issues
Lost Updates
Pessimistic Locking
Optimistic Locking
Optimistic or Pessimistic Locking?
Blocking
Deadlocks
Lock Escalation
Lock Types
DML Locks
DDL Locks
Latches
Manual Locking and User-Defined Locks
CHAPTER 7 Concurrency and Multi-Versioning
What Are Concurrency Controls?
Transaction Isolation Levels
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
READ ONLY
Implications of Multi-Version Read Consistency
A Common Data Warehousing Technique That Fails
An Explanation for Higher Than Expected I/O on Hot Tables
Write Consistency
Consistent Reads and Current Reads
Seeing a RestartWhy Is a Restart Important to Us?
CHAPTER 8 Transactions
Transaction Control Statements
Atomicity
Statement-Level Atomicity
Procedure-Level Atomicity
Transaction-Level Atomicity
Integrity Constraints and Transactions
IMMEDIATE Constraints
DEFERRABLE Constraints and Cascading Updates
Bad Transaction Habits
Committing in a Loop
Using Autocommit
Distributed Transactions
Autonomous Transactions
How Autonomous Transactions Work
When to Use Autonomous Transactions
CHAPTER 9 Redo and Undo
What Is Redo?
What Is Undo?
How Redo and Undo Work Together
Example INSERT-UPDATE-DELETE Scenario
Commit and Rollback Processing
What Does a COMMIT Do?
What Does a ROLLBACK Do?
Investigating Redo
Measuring Redo
Redo Generation and BEFORE/AFTER Triggers
Can I Turn Off Redo Log Generation?
Why Can’t I Allocate a New Log?
Block Cleanout
Log Contention
Temporary Tables and Redo/Undo
Investigating Undo
What Generates the Most and Least Undo?
ORA-01555: snapshot too old Error
CHAPTER 10 Database Tables
Types of Tables
Terminology
Segment
Segment Space Management
High-Water Mark
FREELISTS
PCTFREE and PCTUSED
LOGGING and NOLOGGING
INITRANS and MAXTRANS
Heap Organized Tables
Index Organized Tables
Index Organized Tables Wrap-Up
Index Clustered Tables
Index Clustered Tables Wrap-Up
Hash Clustered Tables
Hash Clustered Tables Wrap-Up
Sorted Hash Clustered Tables
Nested Tables
Nested Tables Syntax
Nested Table Storage
Nested Tables Wrap-Up
Temporary Tables
Temporary Tables Wrap-Up
Object Tables
Object Tables Wrap-Up
CHAPTER 11 Indexes
An Overview of Oracle Indexes
B*Tree Indexes
Index Key Compression
Reverse Key Indexes
Descending Indexes
When Should You Use a B*Tree Index?
B*Trees Wrap-Up
Bitmap Indexes
When Should You Use a Bitmap Index?
Bitmap Join Indexes
Bitmap Indexes Wrap-Up
Function-Based Indexes
Important Implementation Details
A Simple Function-Based Index Example
Indexing Only Some of the Rows
Implementing Selective Uniqueness
Caveat on CASE
Caveat Regarding ORA-01743
Function-Based Indexes Wrap-Up
Application Domain Indexes
Frequently Asked Questions and Myths About Indexes
Do Indexes Work on Views?
Do Nulls and Indexes Work Together?
Should Foreign Keys Be Indexed?
Why Isn’t My Index Getting Used?
Myth: Space Is Never Reused in an Index
Myth: Most Discriminating Elements Should Be First
CHAPTER 12 Datatypes
An Overview of Oracle Datatypes
Character and Binary String Types
NLS Overview
Character Strings
Binary Strings: RAW Types
Number Types
NUMBER Type Syntax and Usage
BINARY_FLOAT/BINARY_DOUBLE Type Syntax and Usage
Non-Native Number Types
Performance Considerations
LONG Types
Restrictions on LONG and LONG RAW Types
Coping with Legacy LONG Types
DATE, TIMESTAMP, and INTERVAL Types
Formats
DATE Type
TIMESTAMP Type
INTERVAL Type
LOB Types
Internal LOBs
BFILEs
ROWID/UROWID Types
CHAPTER 13 Partitioning
Partitioning Overview
Increased Availability
Reduced Administrative Burden
Enhanced Statement Performance
Table Partitioning Schemes
Range Partitioning
Hash Partitioning
List Partitioning
Composite Partitioning
Row Movement
Table Partitioning Schemes Wrap-Up
Partitioning Indexes
Local Indexes vs. Global Indexes
Local Indexes
Global Indexes
Partitioning and Performance, Revisited
Auditing and Segment Space Compression
CHAPTER 14 Parallel Execution
When to Use Parallel Execution
A Parallel Processing Analogy
Parallel Query
Parallel DML
Parallel DDL
Parallel DDL and Data Loading Using External Tables
Parallel DDL and Extent Trimming
Parallel Recovery
Procedural Parallelism
Parallel Pipelined Functions
Do-It-Yourself Parallelism
CHAPTER 15 Data Loading and Unloading .
SQL*Loader
Loading Data with SQLLDR FAQs
SQLLDR Caveats
SQLLDR Summary
External Tables
Setting Up External Tables
Dealing with Errors
Using an External Table to Load Different Files
Multiuser Issues
External Tables Summary
Flat File Unload
Data Pump Unload
< Предыдущая | Следующая > |
---|