ORACLE内存结构概述
内存结构=SGA(系统全局区)+PGA(程序全局区)
SGA就是我们所说的内存调优的主要对象。我们重点就是设置SGA
SGA包括:(包括以下五个区)
数据缓冲区:db_block_buffers---oracle 9i之后,这个参数被DB_CACHE_SIZE所取代
共享池: shared_pool_size
日志缓冲区: log_buffer
JAVA池: java_pool_size
大池: large_pool_size
PGA包括:
分类区: sort_area_size
哈希区: hash_area_size
常用参数说明
Oracle 的parameter参数,分动态参数和静态参数,静态参数需要重新启动数据库才能生效,动态参数不需要重新启动数据库即可生效。
ORACLE参数设置原则及分配方法
SGA 50%(其中80% data buffer,15% share pool,5%其他)
PGA30%
OS 20%
SHARED_POOL_SIZE:一般为系统可用内存10%
DB_BLOCK_BUFFERS: 一般为系统可用内存40%
原则:SGA+PGA+OS使用内存<总物理RAM
ORACLE内存参数设置(PGA)
WORKAREA_SIZE_POLICY=AUTO
参数类型: 字符串型
参数类: 动态
说明 : 指定调整工作区大小的策略。此参数控制优化工作区时所处的模式。
值范围 : AUTO, MANUAL。
默认值 : 如果设置了 PGA_AGGREGATE_TARGET, 则为 AUTO; 否则为 MANUAL。
PGA_AGGREGATE_TARGET=2G
参数类型: 整数型
参数类: 静态
说明 : 指定连接到例程的所有服务器进程的目标 PGA 总内存。请在启用自动设置工作区之前将此参数设置为一个正数。这部分内存不驻留在 SGA 中。数据库将此参数值用作它所使用的目标 PGA 内存量。设置此参数时, 要将 SGA 从可用于 Oracle 例程的系统内存总量中减去。然后可将剩余内存量分配给pga_aggregate_target。
值范围 : 整数加字母 K, M 或 G, 以将此限值指定为千字节, 兆字节或千兆字节。最小值为 10M, 最大值为 4000G
默认值 : "未指定", 表示完全禁用对工作区的自动优化。
ORACLE内存参数设置(SGA)
SGA_TARGET=8G
参数类型: 整数型
参数类: 动态
说明 : 自动SGA管理必须设置该参数。
值范围 : 这个参数可以在数据库启动并运行时动态调整,最大可以达到SGA_MAX_SIZE参数设置的值。
SGA_MAX_SIZE=8G
参数类型: 整数型
参数类: 静态
说明 : 指定例程存活期间所占用的系统全局区的最大大小。
值范围 : 0 到各操作系统所允许的最大值。请注意, 由于该参数值的最小值在启动时已经调整完毕, 因而它无关紧要。
默认值 : 如果未指定值, sga_max_size 的默认值将与启动时 SGA 的最初大小 (比如说 X) 相同。该大小取决于 SGA 中各种池的大小, 如缓冲区高速缓存, 共享池, 大型池等。如果指定的值小于 X, 则所使用的 sga_max_size 的值将为 X。也就是说, 它是 X 与用户指定的 sga_max_size 值两者之间的较大值。
DB_CACHE_SIZE=5.5G/4G-----数据块的整数倍
参数类型: 整型
参数类: 动态
说明: 为高速缓存指定标准块大小的缓冲区。
值范围: 至少 16M。
SHARED_POOL_SIZE=1.5G/2G----数据块的整数倍
参数类型: 字符型
语法:SHARED_POOL_SIZE = integer [K | M]
参数类: 静态
默认值: 64位为 64MB;否则16MB
值范围: 300KB到操作系统许可数
SHARED_POOL_SIZE以字节指定共享池大小。共享池包括光标、存储过程、控制结构及其它结构。PARALLEL_AUTOMATIC_TUNING = FALSE,Oracle也允许并行从共享池执行信息。较大的值可以改善性能。较小的值可以节约内存。
LOG_BUFFER=3M
参数类型: 整数型
参数类: 静态
默认值: 操作系统指定,最大:500K or 128K * CPU_COUNT
值范围: 操作系统有关
日志缓冲区的大小。一般如果系统较忙,可以设置比65536或更大些。
LARGE_POOL_SIZE=剩下的内存(自动分配)
参数类型: 整数型
参数类: 动态
说明 : 指定大型池的分配堆的大小, 它可被共享服务器用作会话内存, 用作并行执行的消息缓冲区以及用作 RMAN 备份和恢复的磁盘 I/O 缓冲区。
值范围 : 600K (最小值); >= 20000M (最大值是根据操作系统而定的)。
默认值 : 0, 除非配置了并行执行或 DBWR_IO_SLAVES
JAVA_POOL_SIZE=剩下的内存(自动分配)
参数类型: 整数型
参数类: 静态
说明 : 以字节为单位, 指定 Java 存储池的大小, 它用于存储 Java 的方法和类定义在共享内存中的表示法, 以及在调用结束时移植到 Java 会话空间的 Java 对象。
默认值 : 根据操作系统而定
值范围 : 根据操作系统而定。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16978544/viewspace-691859/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16978544/viewspace-691859/