Oracle内存管理--从8i,9i,10g到11g
Oracle把其所管理的内存分为SGA和PGA
SGA=((db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB。PGA主要包括Sort_area_size, hash_area_size等
Buffer cache ( DB_CACHE_SIZE)--缓冲数据L准确的定义是用来缓存“数据块”。简单的说就是用来缓存从磁盘上读来的数据
Shared pool ( SHARED _POOL_SIZE)--缓冲SQL:用来保留解析的SQL、或者PL/SQL。比方说,当SQL第一次执行时,Oracle把解析的执行计划保存在 Shared pool中,以后再执行相同的SQL,就无须重新解析了。(也就是SQL必须使用绑定变量的道理)
Large pool (LARGE_POOL_SIZE) --缓冲备份还原时候的I/O:用于“shared server system”的“session memory”, “parallel execution”以及备份还原时候作为磁盘的I/O缓冲。
从Oracle 8i到9i--9i解决了PGA的自动管理。
从9i到10g--10g解决了SGA的自动管理。
从10g到11g--11g解决了整个内存(SGA+PGA)的自动管理。
通过Oracle11g的五种内存管理方式来理解Oracle内存管理的进化
1、自动内存管理(默认Oracle11g实例采取的方式):只需要显式的设置MEMORY_TARGET,无须其他内存参数设置。
2、自动共享内存管理(Oracle10g采取的内存管理方式):显式的指定SGA_TARGET的值,无须设定SGA内部的值。
3、手工共享内存管理(Oracle9i采取的内存管理方式):SGA_TARGET 与 MEMORY_TARGET 都要设置为 0. 然后手工设定 share_pool_size 、db_cache_size 等 sga 参数。
4、自动PGA内存管理(Oracle9i引入的方式):这里只需要设置PGA_AGGREGATE_TARGET 的值。当然,如果要做到精细控制而切换到手动PGA内存管理模式,需要设定WORKAREA_SIZE_POLICY = manual (默认为 AUTO),再另行设置SORT_AREA_SIZE等值。
5、手动 PGA 管理(Oracle8i所能够采取的方式):在高版本中需要设置WORKAREA_SIZE_POLICY = manual ,然后分别指定 SORT_AREA_SIZE 等 PGA 相关的参数。
分享到:
相关推荐
在深入理解Oracle内存管理的过程中,我们可以从以下几个方面进行探讨: 1. **内部存储与外部存储**:内部存储主要指的是Oracle实例内存结构,包括SGA(System Global Area)和PGA(Program Global Area)。SGA是...
总的来说,Oracle内存管理涉及到多个层面,包括进程私有内存(PGA)和全局共享内存(SGA)的配置、使用和优化。深入理解这些概念并掌握相应的监控和调整技巧,是确保Oracle数据库高效稳定运行的基础。通过持续的学习...
Oracle内存管理是数据库系统中的关键组成部分,它直接影响到数据库的性能和稳定性。Oracle数据库使用复杂的内存结构来存储和处理数据,这些内存结构包括共享池、数据缓冲区缓存、PGA(程序全局区)和SGA(系统全局区...
【操作系统与Oracle内存管理比较】 本文探讨了操作系统与Oracle数据库在内存管理上的异同,作者王润中通过对比分析,揭示了两者在内存利用和进程管理上的策略。 1. 操作系统的内存管理 操作系统的内存管理主要...
本文将深入探讨Oracle内存管理的核心概念,包括内存结构、内存分配策略以及如何通过配置来提升数据库效率。 Oracle内存主要分为两大部分:系统全局区(System Global Area, SGA)和程序全局区(Program Global Area, ...
ORACLE内存管理和后台进程.pdf
冯春培作为一位经验丰富的Oracle专家,他的这篇文章清晰而深入地介绍了Oracle内存管理的关键方面,特别是系统全局区(SGA)和进程全局区(PGA)的配置与优化。 #### 二、Oracle内存架构概览 ##### 2.1 SGA与PGA的区别 ...
理解Oracle内存管理不仅有助于提高数据库的运行效率,还能确保系统的稳定性和可靠性。通过对SGA和PGA的深入学习,DBA可以更好地诊断和解决性能问题,从而提升整体的业务运行速度。因此,这份"Oracle 内存全面分析"的...
在Oracle 10g数据库系统中,内存管理是性能优化的关键环节之一,直接影响着数据库的运行效率和响应速度。本文将深入探讨Oracle 10g在Linux操作系统下的内存高级管理策略,包括系统全局区(SGA)和程序全局区(PGA)...
### Oracle内存全面分析 Oracle数据库的性能在很大程度...总之,Oracle内存管理是确保数据库高性能的关键。深入了解SGA、PGA和UGA的内部机制,以及合理配置相关参数,对于避免性能瓶颈、提升数据库响应速度至关重要。
#### Oracle内存管理 Oracle数据库的内存管理对于确保数据库高效运行至关重要。内存配置不当可能导致性能下降甚至系统崩溃。在默认情况下,Oracle会根据系统的总内存自动调整其内存分配。然而,在某些情况下,可能...
ORACLE 自动内存管理和存储调整 ORACLE 自动内存管理和存储调整是 ORACLE 数据库中的一种重要配置,它可以根据系统的实际情况自动调整内存和存储的使用,以提高数据库的性能和效率。本文将详细介绍 ORACLE 自动内存...
Oracle内存管理的精细度和灵活性对于实现高性能数据库环境至关重要。理解SGA和PGA的结构、功能及其关键参数,可以帮助数据库管理员和开发人员更有效地配置和优化Oracle实例,从而提高系统性能,减少故障和资源浪费。...
Oracle数据库系统是企业级数据管理的重要工具,其性能优化很大程度上取决于内存的合理分配。"wxh oracle内存分配"这个主题主要...通过深入学习Oracle内存管理机制,可以解决各种性能问题,确保数据库系统的高效运行。
系统全局区(SGA)是Oracle内存管理的关键部分,它包括了Shared Pool、Database Buffer Cache、Redo Log Buffer、Java Pool、Streams Pool、Large Pool等子区域。SGA的大小可以通过`ALTER SYSTEM SET SGA_MAX_SIZE=?...
Oracle数据库是全球广泛使用的...学习并掌握Oracle内存管理对于提升数据库性能至关重要,这不仅涉及理论知识,更需要实践经验。通过本教程,你可以深化对Oracle内存机制的理解,为实际工作中的问题解决提供有力支持。