1 参数的类型
basic和advanced
在大多数情况下,只有设置和调优30个左右的基本参数才能从数据库获得合理的性能。在极少数情况下,可能需要修改advanced的参数,以实现最佳性能。有300多个advanced的参数。
定义了一个基本参数,可以通过设置该参数来保持数据库以良好的性能运行。所有其他参数都被认为是高级的。
2 basic参数
决定global database name: DB_NAME and DB_DOMAIN
指定 fast recovery area 和 size: DB_RECOVERY_FILE_DEST and DB_RECOVERY_FILE_DEST_SIZE
指定整个SGA的大小: SGA_TARGET
指定UNDO表空间的管理方式: UNDO_TABLESPACE
CONTROL_FILES parameter: 指定一个或多个控制文件,Oracle强烈建议使用控制文件多路径复用。支持1-8个控制文件。值是依赖于操作系统的。
DB_FILES parameter: 指定数据库可以最多打开多少个数据文件。值是依赖于操作系统的,默认值是200.
PROCESSES parameter: 指定可以同时连接到Oracle服务器的OS用户进程的最大数量。这个值应该允许所有后台进程和用户进程。值的范围:从6到一个与os相关的值。默认值:动态的,取决于cpu的数量。
指定DB_BLOCK_SIZE parameter:
指定Oracle数据库块的大小(以字节为单位)。此值是在创建数据库时设置的,随后无法更改。它指定数据库的标准块大小。默认情况下,所有表空间都使用这个大小。值的范围:2048到32768(依赖于操作系统)。默认值: 8192.
DB_CACHE_SIZE parameter: 指定默认缓冲池的大小。值范围:至少4 MB乘以cpu数量(较小的值会自动四舍五入到这个值)。默认值:设置了SGA_TARGET为0,否则为较大的48 MB或(4 MB*CPU_COUNT)。
3 advanced参数
3.1 SGA_TARGET
SGA_TARGET指定所有SGA组件的总大小。如果指定了SGA_TARGET,将自动调整以下内存池的大小:
Buffer cache (DB_CACHE_SIZE)
Shared pool (SHARED_POOL_SIZE)
Large pool (LARGE_POOL_SIZE)
Java pool (JAVA_POOL_SIZE)
Streams pool (STREAMS_POOL_SIZE)
如果这些自动调优的内存池设置为非零值,则自动共享内存管理(ASMM)将这些值用作最小级别。如果应用程序组件需要最少的内存才能正常运行,则需要设置最小值。
如下这些池是不受ASMM管理的,必须要手动设置大小:
Log buffer
Other buffer caches (such as KEEP and RECYCLE) and other block sizes
Fixed SGA and other internal allocations
分配给这些池的内存将从启用ASMM时从SGA_TARGET的总可用内存中扣除。
3.2 MEMORY_TARGET
MMON进程计算自动调优的内存池的值以支持ASMM。
MEMORY_TARGET指定Oracle系统范围内的可用内存。数据库将内存调优到MEMORY_TARGET值,根据需要减少或扩大SGA和PGA。
在基于文本的初始化参数文件中,如果省略MEMORY_MAX_TARGET并包含MEMORY_TARGET的值,数据库将自动将MEMORY_MAX_TARGET设置为MEMORY_TARGET的值。如果省略了MEMORY_TARGET的行并包含了MEMORY_MAX_TARGET的值,那么MEMORY_TARGET参数默认为零。启动后,如果MEMORY_TARGET不超过MEMORY_MAX_TARGET的值,就可以动态地将其更改为非零值。MEMORY_TARGET参数可以用ALTER SYSTEM命令修改。值的范围从152 MB到MEMORY_MAX_TARGET。
3.3 其它参数
PGA_AGGREGATE_TARGET参数:该内存不驻留在系统全局区域(SGA)中。数据库将此参数用作要使用的PGA内存的目标数量。在设置这个参数时,从系统上对Oracle实例可用的总内存中减去SGA。最小值为10 MB,最大值为(4096 GB - 1),默认值为10 MB或SGA大小的20%,以其中较大的值为准。
SHARED_POOL_SIZE参数:指定共享池的大小,以字节为单位。共享池包含共享游标、存储过程、控制结构和并行执行消息缓冲区等对象。值的范围:与操作系统相关。它的默认值:如果设置了SGA_TARGET,则为0;如果设置了64位,则为128 MB;32位的48 MB。
参数UNDO_MANAGEMENT:指定系统应该使用的undo空间管理模式。当设置为AUTO时,实例将在自动undo管理模式下启动。否则,它将以回滚撤销模式启动。在回滚撤消模式中,undo空间被分配为回滚段。在自动undo模式下,undo空间被分配为undo表空间。值范围:自动或手动。如果在实例启动时省略了UNDO_MANAGEMENT参数,则使用默认值AUTO。
4 练习题
请根据以上内容,描述SGA的管理内存方式。
【答题小贴士】:
1、以墨天轮文章的形式解析题目并给出答案
2、将墨天轮文章链接发送到此文的评论区




