Home | Previous Page | Next Page   Disk, Memory, and Process Management > Shared Memory > Shared-Memory Use >

Shared-Memory Allocation

The database server creates the following portions of shared memory:

The database server adds operating-system segments as needed to the virtual and virtual-extension portions of shared memory.

For more information on shared-memory settings for your platform, see the machine notes. Figure 26 shows the contents of each portion of shared memory.

All database server virtual processors have access to the same shared-memory segments. Each virtual processor manages its work by maintaining its own set of pointers to shared-memory resources such as buffers, locks, and latches. Virtual processors attach to shared memory when you take the database server from offline mode to quiescent, single-user, or online. The database server uses locks and latches to manage concurrent access to shared-memory resources by multiple threads.

Figure 26. Contents of Database Server Shared Memory
begin figure description - This figure shows the contents of each portion of shared memory. The contents include a shared memory header, a buffer-header table, LRU queues, a lock table, a physical-log buffer, a logical-log buffer, and a buffer pool in the resident portion of shared memory. The virtual portion of shared memory contains a chunk table, a mirrored-chunk table, a dbspace table, a page-cleaner table, a tblspace table, a transaction table, a user table, session structures, thread structures, a dictionary cache, a UDR cache, an SQL statement cache, a sorting pool, thread stacks, thread heaps, big buffers, a global pool, and unallocated memory. The IPC communications portion of shared memory on a UNIX machine contains client/server IPC message. The virtual-extension sections of shared memory contain thread heaps for DataBlade modules and user-defined routines. - end figure description
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]