Recommend a book : Scaling Oracle 8i

If you want to building Highly Scalable OLTP System, or you are DBA working on such a system, I strongly recommend you to read Scaling Oracle 8i by James Morle. It’s free. Although it has 8i in the name, most of the contents are still the same in 11g.

Here is the content index:

PART I CONCEPTS AND ARCHITECTURE . . . . . . . . . . . . . . . . 1
CHAPTER 1 Scaling Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 What Is Scaling? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Speedup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Concurrency (Scaleup) . . . . . . . . . . . . . . . . . 8
1.2 Latches and Locks . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Why Lock?. . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Things That Need Locking/Latching . . . . 14
1.2.3 Waiting on Latches and Locks . . . . . . . . . . 15
1.2.4 Design Considerations to Reduce
Lock Contention . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Linked Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.1 What Is a Linked List? . . . . . . . . . . . . . . . . . 20
1.3.2 What Are Linked Lists Used For? . . . . . . . 22
1.3.3 Optimizing Chain Lengths . . . . . . . . . . . . . 24
1.4 Hashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.4.1 What Is Hashing? . . . . . . . . . . . . . . . . . . . . . 25
1.5 Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.5.1 Cache Fundamentals . . . . . . . . . . . . . . . . . . 28
1.5.2 Memory Hierarchies . . . . . . . . . . . . . . . . . . 29
1.5.3 Cache Reference Patterns . . . . . . . . . . . . . . .30
1.5.4 I/O Caching . . . . . . . . . . . . . . . . . . . . . . . . . .31
1.5.5 CPU Cache Concepts . . . . . . . . . . . . . . . . . .33
1.6 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . .40
1.7 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

CHAPTER 2 Hardware Architectures and I/O Subsystems . . . . . . .41
2.1 Introduction to Hardware Architectures . . . . . . . .41
2.1.1 System Interconnects . . . . . . . . . . . . . . . . . .42
2.1.2 Bus Architecture . . . . . . . . . . . . . . . . . . . . . .43
2.1.3 Direct Memory Access (DMA) . . . . . . . . . .46
2.1.4 Cache Coherency. . . . . . . . . . . . . . . . . . . . . .47
2.2 Single Processor Architectures (Uniprocessors) . .51
2.2.1 Advantages. . . . . . . . . . . . . . . . . . . . . . . . . . .51
2.2.2 Oracle on Uniprocessors . . . . . . . . . . . . . . .54
2.2.3 Other Disadvantages . . . . . . . . . . . . . . . . . .54
2.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
2.3 Symmetric Multiprocessors (SMPs) . . . . . . . . . . . .56
2.3.1 SMP Advantages . . . . . . . . . . . . . . . . . . . . . .56
2.3.2 Kernel Challenges . . . . . . . . . . . . . . . . . . . . .58
2.3.3 Oracle on SMP Architectures. . . . . . . . . . . .59
2.3.4 Shared-Bus Limitations . . . . . . . . . . . . . . . .60
2.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .60
2.4 Point-to-Point SMP . . . . . . . . . . . . . . . . . . . . . . . . . .61
2.4.1 Cache Coherency. . . . . . . . . . . . . . . . . . . . . .63
2.4.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2.5 Clustered SMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64
2.5.1 Clustering Types . . . . . . . . . . . . . . . . . . . . . .65
2.5.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.6 Massively Parallel Processors (MPPs) . . . . . . . . . .68
2.6.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
2.6.2 Oracle on MPP Systems . . . . . . . . . . . . . . . .71
2.6.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
2.7 Cache Coherent Nonuniform
Memory Access (ccNUMA) . . . . . . . . . . . . . . . . . . .73
2.7.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
2.7.2 Sequent NUMA-Q 2000. . . . . . . . . . . . . . . . 74
2.7.3 SGI Origin 2000. . . . . . . . . . . . . . . . . . . . . . . 79
2.7.4 Oracle on NUMA Systems . . . . . . . . . . . . . 80
2.7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.8 Storage Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.8.1 I/O Busses . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.8.2 Controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.8.3 Disk Drives . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.8.4 Disk Drive Sizing . . . . . . . . . . . . . . . . . . . . . 95
2.8.5 Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.8.6 RAID Levels . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.8.7 RAID-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.8.8 Cached Disk Arrays: EMC Symmetrix . . 110
2.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 114
2.10 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

PART II BUILDING SUPPORT SOFTWARE . . . . . . . . . . . . . . 117
CHAPTER 3 Benchmark Concepts and Design . . . . . . . . . . . . . . . . 119
3.1 Why Develop a Benchmark?. . . . . . . . . . . . . . . . . 119
3.1.1 Capacity Planning . . . . . . . . . . . . . . . . . . . 120
3.1.2 Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.1.3 Platform Changes . . . . . . . . . . . . . . . . . . . . 124
3.2 What Are We Simulating?. . . . . . . . . . . . . . . . . . . 125
3.2.1 Defining Application Areas . . . . . . . . . . . 125
3.2.2 Defining the Application Split . . . . . . . . . 125
3.2.3 Careful with Those Assumptions,
Eugene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.3 Selecting a Development Approach . . . . . . . . . . 128
3.3.1 Using Remote Terminal Emulation
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.3.2 Custom Simulation Development . . . . . . 129
3.4 Building a Simulator Using RTE Software . . . . . 130
3.5 Building a Custom Benchmark Suite. . . . . . . . . . 131
3.5.1 Programming Environment . . . . . . . . . . . 131
3.5.2 When the Application Has Not
Been Written. . . . . . . . . . . . . . . . . . . . . . . . .132
3.5.3 If the Application Exists:
Trap and Emulate All SQL Calls. . . . . . . .133
3.5.4 Using Tracefiles to Generate a
Simulation: An Introduction to dbaman. . . .145
3.5.5 Validate Server-Side System Utilization .152
3.5.6 Building a Multiuser Framework . . . . . . .156
3.6 Scale the Simulator . . . . . . . . . . . . . . . . . . . . . . . . .157
3.6.1 Data Problems . . . . . . . . . . . . . . . . . . . . . . .157
3.6.2 User Control Problems . . . . . . . . . . . . . . . .158
3.6.3 Simpler Methods for Use with dbaman . . . .160
3.7 Make It Easy to Run . . . . . . . . . . . . . . . . . . . . . . . .163
3.7.1 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . .163
3.7.2 Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . .164
3.7.3 Start-Up Scripts . . . . . . . . . . . . . . . . . . . . . .164
3.7.4 Automating Information
Retrieval at Closedown . . . . . . . . . . . . . . .164
3.8 Define Limitations in Advance . . . . . . . . . . . . . . .165
3.8.1 A Benchmark Is Never Perfect . . . . . . . . .165
3.8.2 Measure the Impact of the Inaccuracies. .165
3.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . .166
3.10 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . .166

CHAPTER 4 System/Database Monitoring . . . . . . . . . . . . . . . . . . . .167
4.1 Why Monitor? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
4.1.1 Proactive Fault Detection . . . . . . . . . . . . . .167
4.1.2 Rapid Fault Diagnosis . . . . . . . . . . . . . . . .168
4.1.3 Historical Performance Records . . . . . . . .169
4.2 Low-Intrusion Techniques . . . . . . . . . . . . . . . . . . .170
4.2.1 Go Easy on the System. . . . . . . . . . . . . . . .170
4.2.2 Avoiding Single-Threaded Resources . . .171
4.3 Introduction to V$ Views . . . . . . . . . . . . . . . . . . . .173
4.3.1 What Are the V$ Views ? . . . . . . . . . . . . . .173
4.3.2 Accessing the V$ Views . . . . . . . . . . . . . . .174
4.3.3 Structure of the V$ Views . . . . . . . . . . . . .174
4.3.4 Overhead of Using V$ Views . . . . . . . . . .175
4.4 Minimizing Overhead . . . . . . . . . . . . . . . . . . . . . . 177
4.5 Using dbaman to Optimize Data Collection . . . . . . 177
4.5.1 Defining the Cursors . . . . . . . . . . . . . . . . . 177
4.5.2 Parsing and Executing the SQL . . . . . . . . 179
4.5.3 Process the Result Sets. . . . . . . . . . . . . . . . 180
4.5.4 Pulling it Together with a Main Loop. . . 181
4.6 Processing Statistics . . . . . . . . . . . . . . . . . . . . . . . . 182
4.6.1 Data Transports . . . . . . . . . . . . . . . . . . . . . 182
4.6.2 Alarm Propagation. . . . . . . . . . . . . . . . . . . 185
4.7 Defining the “Flight Envelope” . . . . . . . . . . . . . . 186
4.7.1 What Is a “Flight Envelope”? . . . . . . . . . . 186
4.7.2 How Do I Define a Flight
Envelope for the System? . . . . . . . . . . . . . 187
4.8 Using Excel Spreadsheets for
Data Visualization . . . . . . . . . . . . . . . . . . . . . . . . . 188
4.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 193

PART III HOW ORACLE WORKS . . . . . . . . . . . . . . . . . . . . . . . 195
CHAPTER 5 Physical Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.3 Control Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
5.3.1 Datafile Information. . . . . . . . . . . . . . . . . . 199
5.3.2 Operating Information . . . . . . . . . . . . . . . 200
5.3.3 Redo Log Information . . . . . . . . . . . . . . . . 200
5.3.4 Log History . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.3.5 Backup Information . . . . . . . . . . . . . . . . . . 200
5.4 The INIT.ORA File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.4.1 Rules for init.ora Creation. . . . . . . . . . . . . . . 201
5.5 Data Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5.5.1 Overview: The Physical Picture . . . . . . . . 209
5.5.2 Blocks: An Introduction. . . . . . . . . . . . . . . 209
5.5.3 Block Cleanout . . . . . . . . . . . . . . . . . . . . . . 223
5.6 Redo Logfiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5.7 Key Database Objects. . . . . . . . . . . . . . . . . . . . . . . 226
5.7.1 Rollback Segments . . . . . . . . . . . . . . . . . . . 226
5.7.2 Read-Only Tablespaces . . . . . . . . . . . . . . .228
5.7.3 Temporary Tablespaces and Temporary
Segments. . . . . . . . . . . . . . . . . . . . . . . . . . . .229
5.7.4 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
5.7.5 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235
5.7.6 Other Database Objects . . . . . . . . . . . . . . .244
5.8 The Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . .249
5.9 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . .250
5.10 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . .250

CHAPTER 6 Oracle8 in Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . .253
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
6.1.1 The Oracle Kernel . . . . . . . . . . . . . . . . . . . .253
6.2 Process Architecture . . . . . . . . . . . . . . . . . . . . . . . .254
6.2.1 Shadow Processes . . . . . . . . . . . . . . . . . . . .255
6.3 Net8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .258
6.4 The SGA Components . . . . . . . . . . . . . . . . . . . . . .259
6.4.1 High-Level View . . . . . . . . . . . . . . . . . . . . .259
6.4.2 Fixed Region . . . . . . . . . . . . . . . . . . . . . . . .260
6.4.3 Variable Region . . . . . . . . . . . . . . . . . . . . . .262
6.4.4 Buffer Cache. . . . . . . . . . . . . . . . . . . . . . . . .263
6.5 Operation of the Buffer Cache. . . . . . . . . . . . . . . .266
6.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .266
6.5.2 Hash Chains . . . . . . . . . . . . . . . . . . . . . . . . .266
6.5.3 LRU Chains . . . . . . . . . . . . . . . . . . . . . . . . .268
6.5.4 Latch Coverage . . . . . . . . . . . . . . . . . . . . . .270
6.5.5 CR Versions . . . . . . . . . . . . . . . . . . . . . . . . .272
6.5.6 DBWR Operation. . . . . . . . . . . . . . . . . . . . .273
6.5.7 Flowchart Summary of Buffer Cache Operation274
6.6 Shared Pool Structure . . . . . . . . . . . . . . . . . . . . . . .275
6.7 Shared Pool: The Library Cache . . . . . . . . . . . . . .276
6.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .276
6.7.2 Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276
6.7.3 The Parsing Mechanism. . . . . . . . . . . . . . .277
6.7.4 Latch Coverage . . . . . . . . . . . . . . . . . . . . . .280
6.8 Other Memory Structures . . . . . . . . . . . . . . . . . . . 282
6.8.1 Dictionary Cache . . . . . . . . . . . . . . . . . . . . 282
6.8.2 Log Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . 283
6.9 Oracle Parallel Server Concepts . . . . . . . . . . . . . . 285
6.9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 285
6.9.2 Distributed Lock Manager (DLM). . . . . . 286
6.9.3 Parallel Cache Management . . . . . . . . . . . 287
6.9.4 Design Considerations for OPS . . . . . . . . 293
6.9.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
6.9.6 Further Reading for OPS . . . . . . . . . . . . . . 300
6.10 V$ Views Exposed . . . . . . . . . . . . . . . . . . . . . . . . . . 300
6.10.1 Session-Level Information . . . . . . . . . . . . 301
6.10.2 V$SESSION_EVENT . . . . . . . . . . . . . . . . . . . . . . 312
6.10.3 System-Level Information. . . . . . . . . . . . . 314
6.11 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 318
6.12 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

PART IV HOW UNIX WORKS. . . . . . . . . . . . . . . . . . . . . . . . . . . 319
CHAPTER 7 Introduction to UNIX. . . . . . . . . . . . . . . . . . . . . . . . . . . 321
7.1 What Is a Kernel? . . . . . . . . . . . . . . . . . . . . . . . . . . 321
7.1.1 “That Picture” . . . . . . . . . . . . . . . . . . . . . . . 321
7.1.2 Execution Modes . . . . . . . . . . . . . . . . . . . . 323
7.1.3 Explicit Kernel Processing
(Process Context Kernel Mode) . . . . . . . . 324
7.1.4 Implicit Kernel Processing
(System Context Kernel Mode) . . . . . . . . 326
7.2 Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
7.2.1 The Process “Table” . . . . . . . . . . . . . . . . . . 329
7.2.2 Process Scheduling. . . . . . . . . . . . . . . . . . . 331
7.2.3 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
7.2.4 Process Lifecycle. . . . . . . . . . . . . . . . . . . . . 338
7.3 Memory Management:
The Virtual Memory System. . . . . . . . . . . . . . . . . 340
7.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 340
7.3.2 Virtual Memory Introduction. . . . . . . . . . 340
7.4 Virtual Memory Hierarchy . . . . . . . . . . . . . . . . . .348
7.4.1 The Memory/Disk Hierarchy . . . . . . . . . .348
7.4.2 Implementing the Hierarchy . . . . . . . . . . .349
7.4.3 Implications of fork() and exec() . . . . . . . . . . .358
7.4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . .359
7.5 I/O System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .360
7.5.1 Everything Is a File . . . . . . . . . . . . . . . . . . .360
7.5.2 Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . .361
7.5.3 Raw Disk. . . . . . . . . . . . . . . . . . . . . . . . . . . .365
7.5.4 Filesystems Versus Raw Disk . . . . . . . . . .369
7.5.5 Logical Volume Managers . . . . . . . . . . . . .370
7.6 Interprocess Communication (IPC) . . . . . . . . . . .373
7.6.1 Pipe Communication . . . . . . . . . . . . . . . . .373
7.6.2 System V IPC . . . . . . . . . . . . . . . . . . . . . . . .374
7.7 More on System Calls . . . . . . . . . . . . . . . . . . . . . . .376
7.8 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . .380
7.9 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . .381

CHAPTER 8 Oracle User’s Guide to UNIX . . . . . . . . . . . . . . . . . . . .383
8.1 Coengineering the Oracle Kernel . . . . . . . . . . . . .383
8.1.1 VOS Responsibilities. . . . . . . . . . . . . . . . . .384
8.1.2 Vendor Coengineering . . . . . . . . . . . . . . . .387
8.2 UNIX Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
8.2.1 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392
8.2.2 Tcl and expect . . . . . . . . . . . . . . . . . . . . . . . . .393
8.2.3 Korn Shell . . . . . . . . . . . . . . . . . . . . . . . . . . .394
8.2.4 awk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
8.3 Further Reading. . . . . . . . . . . . . . . . . . . . . . . . . . . .397

PART V IMPLEMENTING ORACLE. . . . . . . . . . . . . . . . . . . . . .399
CHAPTER 9 Scalable Transaction Processing. . . . . . . . . . . . . . . . . .401
9.1 Scalable Applications . . . . . . . . . . . . . . . . . . . . . . .401
9.1.1 Application Design . . . . . . . . . . . . . . . . . . .401
9.1.2 Scalable SQL. . . . . . . . . . . . . . . . . . . . . . . . .404
9.1.3 Transaction Processing Monitors . . . . . . .419
9.1.4 Purge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
9.2 Tuning Transaction Processing Systems. . . . . . . 431
9.2.1 Goals for Tuning. . . . . . . . . . . . . . . . . . . . . 431
9.2.2 Where to Tune . . . . . . . . . . . . . . . . . . . . . . 432
9.2.3 Tuning Modes . . . . . . . . . . . . . . . . . . . . . . . 436
9.3 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 445
9.4 Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

CHAPTER 10 Pulling It All Together: A Case Study . . . . . . . . . . . . 447
10.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
10.2 Engagement Overview . . . . . . . . . . . . . . . . . . . . . 448
10.2.1 The Business . . . . . . . . . . . . . . . . . . . . . . . . 448
10.2.2 Perot Systems Corporation:
The IT Partner . . . . . . . . . . . . . . . . . . . . . . . 449
10.2.3 The Application . . . . . . . . . . . . . . . . . . . . . 449
10.2.4 The Technical Solution . . . . . . . . . . . . . . . 453
10.3 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 467

PART VI FURTHER CONSIDERATIONS . . . . . . . . . . . . . . . . 469
CHAPTER 11 Building a Successful Team . . . . . . . . . . . . . . . . . . . . . 471
11.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471
11.2 Immediate Team Attributes . . . . . . . . . . . . . . . . . 472
11.3 Virtual Team Attributes. . . . . . . . . . . . . . . . . . . . . 475
11.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 476

CHAPTER 12 Pitfalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
12.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
12.2 Avoiding Bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
12.2.1 Initial Releases . . . . . . . . . . . . . . . . . . . . . . 477
12.2.2 Known Problems . . . . . . . . . . . . . . . . . . . . 478
12.3 Bug Diagnosis and Resolution . . . . . . . . . . . . . . . 478
12.3.1 Finding and Fixing Bugs . . . . . . . . . . . . . . 479
12.3.2 Oracle Parallel Server Problems. . . . . . . . 483
12.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . 484

CHAPTER 13 Internet Applications and the Future . . . . . . . . . . . . .485
13.1 E-Commerce Systems . . . . . . . . . . . . . . . . . . . . . . .485
13.1.1 The Implications . . . . . . . . . . . . . . . . . . . . .485
13.1.2 The Implication for
Business Computing. . . . . . . . . . . . . . . . . .488
13.2 Oracle8i Technology . . . . . . . . . . . . . . . . . . . . . . . .488
13.2.1 Java Integration . . . . . . . . . . . . . . . . . . . . . .488
13.2.2 New Data Services . . . . . . . . . . . . . . . . . . .490
13.3 Future Oracle Releases . . . . . . . . . . . . . . . . . . . . . .493
13.4 Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . .494
Index 495

About Alex Zeng
I would be very happy if this blog can help you. I appreciate every honest comments. Please forgive me if I'm too busy to reply your comments in time.

Leave a comment