1.base:
1) In Oracle 10g, you need to specify only the SGA_TARGET parameter, which specifies the total size of the SGA. Individual components of the SGA are automatically allocated by the database based on the workload and history information.
2) The new parameter SGA_TARGET is the size of total SGA, which includes the automatically sized components, manually sized components, and any internal allocations during instance startup.
2.enabling and disabling ASSM
1) ASMM is enabled when the STATISTICS_LEVEL parameter is set to TYPICAL or ALL and the SGA_TARGET parameter is set to a nonzero value. When enabled, ASMM distributes memory appropriately for the following memory areas: DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE、JAVA_POOL_SIZE
2) The following areas should be manually configured and are not affected by ASMM:LOG_BUFFER、DB_KEEP_CACHE_SIZE、DB_RECYCLE_CACHE_SIZE、DB_nK_CACHE_SIZE、STREAMS_POOL_SIZE、Fixed-SGA area and internal allocations
3) The SGA_TARGET parameter is dynamic and can be resized using the ALTER SYSTEM statement.The value of SGA_TARGET cannot be higher than the SGA_MAX_SIZE parameter, which is not dynamically changeable. Reducing the size of SGA_TARGET affects only the autotuned components of the SGA. SGA_TARGET can be reduced until one of the autotuned components reaches its minimum size (a user-specified or Oracle-determined minimum).
4)You can query the current sizes of the SGA components using the V$SGA_DYNAMIC_
COMPONENTS dictionary view, like so:
SQL> select COMPONENT,CURRENT_SIZE,MIN_SIZE,MAX_SIZE from v$sga_dynamic_components;
COMPONENT CURRENT_SIZE MIN_SIZE MAX_SIZE
-------------------------- ------------ ---------- ----------
shared pool 71303168 62914560 0
large pool 4194304 4194304 0
java pool 4194304 4194304 0
streams pool 0 0 0
DEFAULT buffer cache 125829120 125829120 0
KEEP buffer cache 0 0 0
RECYCLE buffer cache 0 0 0
DEFAULT 2K buffer cache 0 0 0
DEFAULT 4K buffer cache 0 0 0
DEFAULT 8K buffer cache 0 0 0
DEFAULT 16K buffer cache 0 0 0
DEFAULT 32K buffer cache 0 0 0
ASM Buffer Cache 0 0 0
13 rows selected
5)When SGA_TARGET is set to a nonzero value, the autotuned SGA parameters will have default values of zero. If you specify a value for the autotuned SGA parameters,the value will be treated as the lower limit of that component.
6)Resizing the autotuned SGA parameters is possible even if ASMM is enabled. For autotuned parameters, manual resizing will result in immediate component resizing if the current value is smaller than the new value. If the new value is smaller, the component is not resized, but a new minimum size is set.
7)Setting SGA_TARGET to zero will disable ASMM. The autotuned components will have values of their current sizes, and these values are written to the SPFILE to use for the next instance startup.
For manually configured SGA parameters, resizing will immediately take effect to the precise new value. If the size of a component is increased, one or more of the autotuned components will be reduced. If the size of a manually configured component is reduced, the memory that is released is given to the automatically sized components.
3.related views
1)V$SGA_CURRENT_RESIZE_OPS: SGA resize operations that are currently in progress
2)V$SGA_RESIZE_OPS :Information about the last 400 completed SGA resize operations
3)V$SGA_DYNAMIC_COMPONENTS :Information about the dynamic components of the SGA
4)V$SGA_DYNAMIC_FREE_MEMORY:Information about the amount of SGA memory available for future dynamic SGA resize operations
4.The Memory Manager Process
1) Oracle 10g comes with the new MMAN process (which stands for memory manager) to manage the automatic shared memory. MMAN serves as the SGA memory broker and coordinates the sizing of the memory components. It keeps track of the sizes of the components and pending resize operations.
2)The MMAN process observes the system and workload to determine the ideal distribution of memory. MMAN performs this check every few minutes so that memory can always be present where needed. When SPFILE is used, component sizes are used from the last shutdown.
5.示例
1)查询当前的设置
SQL> Select component,current_size,min_size,user_specified_size From v$sga_dynamic_components;
COMPONENT CURRENT_SIZE MIN_SIZE USER_SPECIFIED_SIZE
------------------------- ------------ ---------- -------------------
shared pool 113246208 109051904 0
large pool 4194304 4194304 0
java pool 4194304 4194304 0
streams pool 0 0 0
DEFAULT buffer cache 41943040 37748736 0
KEEP buffer cache 0 0 0
RECYCLE buffer cache 0 0 0
DEFAULT 2K buffer cache 0 0 0
DEFAULT 4K buffer cache 0 0 0
DEFAULT 8K buffer cache 0 0 0
DEFAULT 16K buffer cache 0 0 0
DEFAULT 32K buffer cache 0 0 0
ASM Buffer Cache 0 0 0
SQL> select name,value from v$parameter where name in
('statistics_level','sga_target','db_cache_size','shared_pool_size','large_pool_size','java_pool_size','sga_max_size');
NAME VALUE
------------------ -----------
sga_max_size 167772160
shared_pool_size 0
large_pool_size 0
java_pool_size 0
sga_target 171966464
db_cache_size 0
statistics_level TYPICAL
7 rows selected
说明:
a.当前属于enable ASMM,sga_target=164M,其它参数均为0(USER_SPECIFIED_SIZE)
b.当前各个组件的大小从v$sga_dynamic_components中的current_size可以看出
2)disable assm
#取消assm
SQL> alter system set sga_target=0;
System altered
#查询视图,发现oracle根据之前的current_size自动设置了shared_pool_size、db_cache_size等几个参数。
SQL> Select component,current_size,min_size,user_specified_size From v$sga_dynamic_components;
COMPONENT CURRENT_SIZE MIN_SIZE USER_SPECIFIED_SIZE
------------------------ ------------ ---------- -------------------
shared pool 113246208 109051904 113246208
large pool 4194304 4194304 4194304
java pool 4194304 4194304 4194304
streams pool 0 0 0
DEFAULT buffer cache 41943040 37748736 41943040
KEEP buffer cache 0 0 0
RECYCLE buffer cache 0 0 0
DEFAULT 2K buffer cache 0 0 0
DEFAULT 4K buffer cache 0 0 0
DEFAULT 8K buffer cache 0 0 0
DEFAULT 16K buffer cache 0 0 0
DEFAULT 32K buffer cache 0 0 0
ASM Buffer Cache 0 0 0
13 rows selected
SQL> select name,value from v$parameter
where name in ('statistics_level','sga_target','db_cache_size','shared_pool_size','large_pool_size','java_pool_size','sga_max_size');
NAME VALUE
------------------ ----------
sga_max_size 167772160
shared_pool_size 113246208
large_pool_size 4194304
java_pool_size 4194304
sga_target 0
db_cache_size 41943040
statistics_level TYPICAL
7 rows selected
分享到:
相关推荐
- 自动共享内存管理(Automatic Shared Memory Management, ASMM)自动调整SGA各个组成部分的大小,如DB_CACHE_SIZE、SHARED_POOL_SIZE、LARGE_POOL_SIZE和JAVA_POOL_SIZE,以适应系统负载变化。 - **Automatic ...
其中,“Oracle自动内存管理(Automatic Shared Memory Management, ASMM)”是一个重要的里程碑,它简化了数据库内存管理的过程,并提高了系统的整体性能。本文将深入探讨Oracle ASMM的工作原理、优势以及其内部...
此考试旨在评估考生对于 Oracle 10g 数据库中新特性的掌握程度,包括但不限于 Automatic Database Diagnostic Monitor (ADDM)、Automatic Shared Memory Management (ASMM) 和 Flash Recovery Area 的理解和应用。...
### 一、Automatic Shared Memory Management (ASMM) 和 MMAN 背景进程 #### 核心概念 - **Automatic Shared Memory Management (ASMM)**:是Oracle 10g中的一个特性,它自动管理共享池 (SGA) 内存组件的大小,以...
Automatic Shared Memory Management (ASMM) 是Oracle Database 10g中的一个重要特性,它允许数据库自动调整共享池中不同内存结构的大小,以优化性能。为此,Oracle引入了一个新的后台进程——MMAN(Memory Manager...
8. Memory Management:10g引入了新的内存架构,如Automatic Shared Memory Management(ASMM)和Automatic PGA Memory Management(AGMM),自动化内存分配,减少了管理员的配置工作。 9. SecureFiles:...
ASMM(Automatic Shared Memory Management)是Oracle 10g引入的一项功能,用于自动管理SGA(System Global Area)中的共享内存组件大小,从而提高数据库性能和资源利用率。 ##### 2. MMAN进程的作用 题目中提到的...
Oracle数据库中的自动共享内存管理(Automatic Shared Memory Management,简称ASMM)自10g版本推出以来,一直是数据库管理员(DBA)关注的焦点之一。ASMM旨在通过自动化的方式管理和调整共享内存区域(SGA),从而...
5. Memory管理:Oracle 10g引入了Automatic Shared Memory Management (ASMM)和Automatic PGA Memory Management,自动调整内存结构以优化性能。 6. Secure Backup:Oracle Secure Backup提供了一种集中的备份和恢复...
- **Memory Management Enhancements**:包括Automatic Shared Memory Management(ASMM)和Automatic PGA Memory Management,简化了内存分配和管理。 - **10g Recovery Manager (RMAN)**:增强了备份和恢复功能...
8. Memory Management:Oracle 10g改进了内存管理,引入了Automatic Shared Memory Management(ASMM)和Automatic PGA Memory Management(PGAMM),自动化内存分配,减少了DBA的管理工作。 9.网格计算支持:10g...
Oracle 9i开始引入了PGA的自动管理,而在10g版本中,Automatic Shared Memory Management (ASMM)进一步实现SGA内部结构的自适应调整。到了11g,Automatic Memory Management (AMM)将SGA和PGA的管理完全自动化,极大...
1. 对于使用ASM(Automatic Storage Management)的实例,应配置ASMM(Automatic Shared Memory Management)而不是AMM。 2. `pga_aggregate_target`不在SGA内,计算SGA大小时需要考虑这一部分。 3. 如果调整了...
Oracle 11g R2引入了Automatic Shared Memory Management (ASMM),自动管理共享内存区域,包括Buffer Cache。ASMM根据系统的实际需求动态调整缓冲区缓存的大小,减少了手动调优的复杂性。 另外,pga_aggregate_...
2. **Automatic Shared Memory Management (ASMM)**: 自动共享内存管理,Oracle 11g及以后版本引入的特性,自动调整SGA(System Global Area)组件的大小。 3. **Automatic Memory Management (AMM)**: 自动内存...
- **Automatic Shared Memory Management (ASMM)** 和 **Automatic Memory Management (AMM)**:介绍如何使用这两种自动内存管理机制,以简化内存配置并优化性能。 3. **存储优化**: - **物理存储布局**:探讨了...
自动共享内存管理(Automatic Shared Memory Management,ASMM) ASMM是Oracle的一项特性,允许数据库自动管理SGA(共享全局区)中的内存分配。理解ASMM的工作原理,可以有效避免内存配置不当导致的性能问题。 ##...
4. **Automatic Shared Memory Management (ASMM)**:Oracle 11gR2引入了ASMM,自动管理共享内存区,减少了手动调整内存参数的需要。 5. **Enhanced Index Compression (EIC)**:增强型索引压缩提高了索引存储效率...