大家好,欢迎来到IT知识分享网。
oracle 需要你先划分一个SGA的最大限额SGA_MAX_SIZE, 这个参数可以设置,重启后生效。
10G 实现AMM自动管理SGA,11G实现ASMM管理。
SGA也会用到虚拟内存的,通常情况下4G的物理内存,配置4G和8G的虚拟内存都可以的。
内存的分配是按照颗粒的,比如颗粒是4M,那么你原来300,你把300M改成302M,那么其实是300+4=304M。
下面先介绍几个sql语句,然后进行实验来说明
实验
1.首先查看当前数据库的内存颗粒
2.查看当前SGA的大小,
SQL> show parameter sga;
NAME TYPE
———————————— ————–
VALUE
——————————
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
300M
sga_target big integer
300M
看到前的SGA是300G。
3.设置SGA值为302G
alter system set sga_max_size = 302M scope=spfile
4.然后重新启动数据库
5.再查看sga
SQL> show parameter sga;
NAME TYPE
———————————— ————-
VALUE
——————————
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
304M sga_target big integer 300M 可以看到虽然我增加了2M,但是颗粒是4M,所以就增加了4M
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10723.html