10年工作经验,专研网站运维。
全部博文(454)
分类: Oracle
2013-05-13 15:30:56
MEMORY_TARGET <= MEMORY_MAX_TARGET <=
2/ 内存规划:
2.1/ show current DB memory:
SQL> show parameters memory;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 0
memory_target big integer 0
shared_memory_address integer 0
SQL> show parameters sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1536M
sga_target big integer 1536M
SQL> show parameters pga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 1G
SQL>
2.2/ 总结数据库的内存规划:
system memory: 4G
memory=0
sga=4G*80%*80%=2.56G
pga=4G*80%*20%=640M
sga + pga = memory < system memory * 80%
内存划分是很灵活的,只要系统的内存足够用,其余的内存都可以给oracle。
pga给1G is ok的。sga给多一点是可以的,比如3G。
memory 设置成0. 代表由oracle自动分配内存。
只要按照如下方法配置内存就没问题:
memory=0
sga=3G
pga=1G
system memory=5G
3/ 修改方法:
注意:修改之前备份配置文件vim /u01/db/tech_st/11.1.0/dbs/initebsr12.ora
方法一:
SQL>alter system set sga_max_size=2000m scope=both;
SQL>alter system set sga_target=2000m scope=both;
SQL>alter system set pga_aggregate_target=500m scope=both;
SQL> alter system set memory_target = 512M scope=both;
SQL>alter system set memory_max_target =1024Mscope=both;
exit
重启数据库
方法二:
vim /u01/db/tech_st/11.1.0/dbs/initebsr12.ora
重启数据库
4/ 常见错误:
在有些场合,如果你使用自动内存管理给实例分配内存,可能会遇到下列错误,比如linux上: