SGA--Large Pool......Fixed SGA

来源:互联网 发布:自动离职算工龄 知乎 编辑:程序博客网 时间:2024/06/08 07:36
Reserved PoolThe reserved pool is a memory area in the shared pool that Oracle Database can use to allocate large contiguous chunks of memory.Allocation of memory from the shared pool is performed in chunks. Chunking allows large objects (over 5 KB) to be loaded into the cache without requiring a single contiguous area. In this way, the database reduces the possibility of running out of contiguous memory because of fragmentation.Infrequently, Java, PL/SQL, or SQL cursors may make allocations out of the shared pool that are larger than 5 KB. To allow these allocations to occur most efficiently, the database segregates a small amount of the shared pool for the reserved pool.--reserved poolshared pool的一部分,用来存储大对象,大于5KB,避免内存碎片。Java, PL/SQL, or SQL cursors可能会需要大于5KB的空间,独立出一小部分reserved pool会使分配更有效。

Large PoolThe large pool is an optional memory area intended for memory allocations that are larger than is appropriate for the shared pool. The large pool can provide large memory allocations for the following:--大池是一个可选的内存区,它用来分配比共享池所能分配的刚刚好的内存的更大的内存(这个破句子真难翻译。就是说大池用来分配更大的内存,这些内存相对于共享池而言是大的,是不适合共享池的。)大池能够为下面的东西提供更大的内存分配。a.UGA for the shared server and the Oracle XA interface (used where transactions interact with multiple databases)b.Message buffers used in the parallel execution of statementsc.Buffers for Recovery Manager (RMAN) I/O slavesBy allocating session memory from the large pool for shared SQL, the database avoids performance overhead caused by shrinking the shared SQL cache. By allocating memory in large buffers for RMAN operations, I/O server processes, and parallel buffers, the large pool can satisfy large memory requests better than the shared pool.--从大池中给会话分配内存可以避免由收缩共享SQL cache导致的性能消耗。在large buffers中为RMAN操作,I/O服务进程和并行buffers分配内存,大池能够比共享池更好地满足大内存请求。This is a graphical depiction of the large poolThe large pool is different from reserved space in the shared pool, which uses the same LRU list as other memory allocated from the shared pool. The large pool does not have an LRU list. Pieces of memory are allocated and cannot be freed until they are done being used. As soon as a chunk of memory is freed, other processes can use it.--大池与共享池中的保留空间不同。保留空间同共享池的其它内存分配一样,使用LRU列表。大池不用LRU。内存片被分配后,指导它们被用完才能被释放。一旦内存chunk被释放,其它进程就能用了。

Java PoolThe Java pool is an area of memory that stores all session-specific Java code and data within the Java Virtual Machine (JVM). This memory includes Java objects that are migrated to the Java session space at end-of-call.For dedicated server connections, the Java pool includes the shared part of each Java class, including methods and read-only memory such as code vectors, but not the per-session Java state of each session. For shared server, the pool includes the shared part of each class and some UGA used for the state of each session. Each UGA grows and shrinks as necessary, but the total UGA size must fit in the Java pool space.The Java Pool Advisor statistics provide information about library cache memory used for Java and predict how changes in the size of the Java pool can affect the parse rate. The Java Pool Advisor is internally turned on when statistics_level is set to TYPICAL or higher. These statistics reset when the advisor is turned off.--Java池保存Java代码,Java虚拟机的数据。

Streams PoolThe Streams pool stores buffered queue messages and provides memory for Oracle Streams capture processes and apply processes. The Streams pool is used exclusively by Oracle Streams.Unless you specifically configure it, the size of the Streams pool starts at zero. The pool size grows dynamically as required by Oracle Streams.--流池保存buffered队列信息,为oracle streams capture进程和apply进程提供内存。流池是互相独立的。如果不配置它的话,初始大小为零。它的大小会随着oracle streams的需求而动态增长。

Fixed SGAThe fixed SGA is an internal housekeeping area. For example, the fixed SGA contains:General information about the state of the database and the instance, which the background processes need to accessInformation communicated between processes, such as information about locksThe size of the fixed SGA is set by Oracle Database and cannot be altered manually. The fixed SGA size can change from release to release.--fixed SGA是内务处理区。例如,fixed SGA包括:数据库和实例的总体信息,这些信息是后台进程需要访问的。进程间交流的信息,比如锁的信息。fixed SGA大小是由oracle数据库设定的,不能手动修改,而且不同的发行版的fixed SGA大小也会改变。

Overview of Software Code AreasSoftware code areas are portions of memory that store code that is being run or can be run. Oracle Database code is stored in a software area that is typically more exclusive and protected than the location of user programs.Software areas are usually static in size, changing only when software is updated or reinstalled. The required size of these areas varies by operating system.Software areas are read-only and can be installed shared or nonshared. Some database tools and utilities, such as Oracle Forms and SQL*Plus, can be installed shared, but some cannot. When possible, database code is shared so that all users can access it without having multiple copies in memory, resulting in reduced main memory and overall improvement in performance. Multiple instances of a database can use the same database code area with different databases if running on the same computer.