Oracle Memory Architecture Detailed (iv) Oracle SGA other components

Source: Internet
Author: User
Tags oracle database backup

1, Redo Log Buffer

Redo Log Buffer is a cache of database modification information stored in the SGA. This information is stored in the Redo entry (Redo Entry). The redo entry contains the necessary information to rearrange or redo the database because of modifications made by insert, UPDATE, DELETE, CREATE, Alter, or drop. When necessary, redo entries can also be used for database recovery.

The redo entry is a copy of the Oracle database process from user memory to the redo Log buffer. Redo entries are contiguous in memory. The background process LGWR is responsible for writing the information in the Redo log buffer to the active redo log file (Redo log files) or filegroups on disk.

The parameter log_buffer determines the size of the redo Log buffer. Its default value is 512K (generally this size is sufficient), the maximum can to 4G. The 10g can be set automatically by parameters. When there are many large transactions or transactions in the system, the log file IO can increase and degrade performance. Then you can consider adding log_buffer.

However, the actual size of the Redo Log buffer is not the set size of the Lob_buffer. In order to protect the redo Log Buffer,oracle added a protection page for it (typically 11K):

Sql> SELECT * from v$sgastat where name = ' Log_buffer ';

POOL NAME BYTES

------------ -------------------------- ----------

Log_buffer 7135232

Sql> Show Parameter Log_buffer

NAME TYPE VALUE

------------------------------------ ----------- ----------------

Log_buffer integer 7024640

Sql>

2, Dachi (large pool)

A large pool is an optional memory pool in the SGA, configured as needed. You need to configure a large pool in the following situations:

1 Oracle XA interfaces for session memory and Oracle distributed transactions for shared services (in shared Server MTS)

2 When using parallel queries (Parallel query Option pqo)

3 IO Service Process

4 Oracle Backup and recovery operations (when Rman is enabled)

By allocating session memory from a large pool to shared services, Oracle XA, or parallel queries, Oracle can use shared pools primarily to cache shared SQL to prevent performance depletion due to shared SQL cache shrinkage. In addition, the memory allocated for Oracle backup and restore operations, IO service processes, and parallel queries is typically hundreds of k, and such a large memory segment is easier to allocate from a large pool than from a shared pool.

Parameter large_pool_size sets the size of the large pool. A large pool is a variable region (Variable area) of the SGA, and it does not belong to a shared pool. Access to large pools is protected by large memory latch. There are only two kinds of memory segments in a large pool: free and Free (freeable) memory segments. It does not have a rebuilt (recreatable) memory segment and therefore does not have to be managed with a LRU list (this is different from other memory areas). The maximum size of a large pool is 4G.

To prevent fragmentation in large pools, the implied parameter _large_pool_min_alloc sets the minimum size of the memory segment in a large pool, and the default value is 16K (similarly, it is not recommended to modify implied parameters).

In addition, the large pool is not LRU linked list.

3. Java pools (Java pool)

The Java pool is also an optional memory area in the SGA, which also belongs to the variable area of the SGA.

The memory of the Java pool is used to store the specific Java code and data in the JVM in all sessions. The Java pool is used in a way that relies on the operating mode of the Oracle service.

The size of the Java pool is set by the parameter java_pool_size. Java pool can be up to 1G max.

After Oracle 10g, a new--java pool suggestion was provided--to help the DBA adjust the Java pool size. The statistical data for the V$java_pool_advice can be queried by view. How to adjust the Java pool with the help of a recommendation is similar to using the buffer cache recommendation, which can be referenced in the buffer cache for the recommendation section.

4. Flow pools (Streams pool)

Stream pools are new additions to Oracle 10g. is to increase the convection support.

The stream pool is also an optional memory area, which belongs to the variable area in the SGA. Its size can be specified by the parameter streams_pool_size. If not specified, Oracle is automatically created the first time the stream is used. If the Sga_target parameter is set, Oracle allocates memory to the stream pool from the SGA and, if no sga_target is specified, converts part of the memory from the buffer cache to the stream pool. The size of the conversion is 10% of the shared pool size.

Oracle also provides a suggestion for streaming pools-the stream pool recommendation. The statistical data for the V$streams_pool_advice can be queried through the view. Use the method to refer to the buffer cache for the optimizer section.

See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.