# Memory_Target =SGA_TARGET+PGA_AGGREGATE_TARGET ,大小和memory_max_size一致SQL>alter system set memory_target=4096M scope=spfile;1. SGA
# SGA是一组共享内存结构,被所有的服务和后台进程所共享。当数据库实例启动时,系统全局区内存被自动分配。当数据库实例关闭时,SGA内存被回收。SGA是占用内存最大的一个区域,同时也是影响性能的重要因素。# 查询SGA区的情况SQL>show SGA
SQL>select*from v$sga;# 参数调优
(1)修改SGA大小
SQL>alter system set sga_target=4096M scope=spfile;
(2)共享池 Shared Pool:
# 查看共享池大小Sql代码:SQL>show parameter shared_pool_size;# 修改共享池大小的Sql代码:SQL>ALTER SYSTEM SET SHARED_POOL_SIZE =64M;
(3)缓冲区高速缓存 Database Buffer Cache:
# 查看其大小的Sql代码:SQL>show parameter db_cache_size;# 修改缓冲区高速缓存大小SQL>alter system set db_cache_size=4096M scope=spfile;
(4)日志缓冲区
# 查看日志缓冲区使用情况的Sql代码:SQL>SELECT name,valueFROM v$sysstat WHERE name IN('redo entries','redo log space requests');
(5)大型池
# 指定Large Pool的大小:SQL>ALTER SYSTEM SET LARGE_POOL_SIZE=64M;2. PGA
# PGA包含单个服务器进程或单个后台进程的数据和控制信息,PGA 是为每个连接到Oracle database的用户进程保留的内存,PGA 在创建进程时分配,在终止进程时回收。
(1)PGA_AGGREGATE_TARGET初始化设置
SQL>alter system set workarea_size_policy=auto scope=both;SQL>alter system set pga_aggregate_target=512m scope=both;SQL>show parameter workarea
NAME TYPEVALUE------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO --这个设置成AUTOSQL>show parameter pga
NAME TYPEVALUE------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer536870912