修改oracle数据库SGA和PGA大小

个人原创,允许转载,请注明出处,作者,否则追究法律责任。

SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库。
SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间。

1、以system的身份登录
并查看SGA信息:
SQL>show parameter sga;
查看PGA信息:
SQL>show parameter pga;

2、修改sga_target
SQL>alter system set sga_target=436M;

3、修改sga_max_size
SQL> alter system set sga_max_size=436M scope=spfile;
www.2cto.com
4、重启数据库使其生效:
SQL>shutdown immediate;
注意,重启前一定先完成上述两部操作,且sga_target不得大于sga_max_size,一般保持两者相等。否则可能导致数据库无法启动。
SQL>startup

5、查看SGA是否生效:
SQL>show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- -----
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 436M
sga_target big integer 436M

6,查询PGA大小
SQL> show parameter workarea
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO

SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 90M

pga_aggregate_target默认特别小只90M
当然太小了,因为我们当前使用的是非生产环境,90M无所谓,因为我们没有什么连接,到底需要满足多少连接到底该设多大呢

一般是物理内存的80%*20%是16%,一般生产里面都是16G的空间,16G*16% = 2.56G 接近3G给pga

_pga_max_size参数:是每一个会话能够分配的最大空间的数量,这个值不是固定的

SQL>select ksppinm "Name", ksppstvl/1024/1024 ||'M' "Value", ksppdesc "Desc" from x$ksppi x, x$ksppcv y where x.indx = y.indx and ksppinm ='_pga_max_size';
结果
Name Value Desc
------------- ------ --------------------------------------------------
_pga_max_size 200M Maximum size of the PGA memory for one process

从结果看这个参数是200M(默认值),也就是对每个session来讲最大只能分200M,对当前来讲每个session最多在pga空间只能分200M

7,修改PGA的自动管理方式和大小
SQL> alter system set workarea_size_policy=auto scope=both;
SQL> alter system set pga_aggregate_target=3072m scope=both;
修改后重启数据库。

线上oracle数据库建议内存修改方式:

1),系统总内存:64G
2),目前数据库使用内存:
sga:2G
pga:90M
3),建议调整后的大小:
sga:30G
pga:10G

4),查看具体参数:

SQL> show parameter sga; --------------查看sga的区域大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 2G
sga_target big integer 2G

SQL> show parameter pga; --------------查看pga的默认区域大小
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 90M

SQL> show parameter workarea; ----------查看oracle内存区域的工作方式(确保是在自动的模式下)
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
workarea_size_policy string AUTO

5),修改参数:
SQL> alter system set sga_max_size=30720M scope=spfile; ---------------先修改最大pga的大小

SQL> shutdown immediate;----------- 重启,使得以上的修改生效
SQL> startup
SQL> alter system set sga_target=30720M; --------- 接着修改sga的大小(该大小不能超过以上设置的最大的pga的大小。否则报错)

SQL> alter system set pga_aggregate_target=10240M scope=both;

SQL> shutdown immediate;----------- 重启,使得以上的修改生效
SQL> startup

6),查看修改后的效果
SQL> show parameter sga;
SQL> show parameter pga;

oracle中增加pga和sga的更多相关文章

  1. Oracle中增加,修改,删除表中的列

    有些时候,当一个表已经建好,并且已经使用后,发现需要对表结构进行修改,这个时候就要对表中的列进行增删查改操作. 为表增加新列: ALTER TABLE table_name ADD ( column_ ...

  2. 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

  3. oracle实例的内存(SGA和PGA)调整,优化数据库性能

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

  4. Oracle之内存结构(SGA、PGA)

    一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. ...

  5. 【转载】Oracle之内存结构(SGA、PGA)

    [转自]http://blog.itpub.net/25264937/viewspace-694917/ 一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: ...

  6. Oracle 自己主动内存管理 SGA、PGA 具体解释

    ASMM自己主动共享内存管理: 自己主动依据工作量变化调整 最大程度地提高内存利用率 有助于消除内存不足的错误 SYS@PROD>show parameter sga NAME          ...

  7. Oracle中对现有表增加列

    altertable Tablename add(column1 varchar2(20),column2 number(7,2)...) --Oracle中修改列名不可以,但是可以删除列,增加列 a ...

  8. 在Oracle Spatial中增加Web Mercator投影坐标系

    参考资料: 1. 最重要的参考文章,基本上就是按这个做的!!!:https://www.inf.unibz.it/dis/wiki/doku.php?id=students:minnerebner:o ...

  9. Oracle中的AWR,全称为Automatic Workload Repository

    Oracle中的AWR,全称为Automatic Workload Repository,自动负载信息库.它收集关于特定数据库的操作统计信息和其他统计信息,Oracle以固定的时间间隔(默认为1个小时 ...

随机推荐

  1. nyoj 取石子(七) 环形博弈

    手推前几个可以知道规律:n>2时是P态,n<=2时是N态. 注意:石子拿去后,剩下的石子是分散的. AC代码 #include <cstdio> #include <cm ...

  2. UVA-12166 天平性质+字符处理

    这题思维难度很大,关键是总结这个性质. 1.天平性质:某个秤砣重量为w,高度为h,如果要让这个天平平衡并且以这个秤砣为基准,那么整个天平的总重量为w*(2^h) 2.利用这个性质:题目要求秤砣数量改变 ...

  3. JAVA 处理 Spring data mongodb 时区问题

    Spring data mongodb 查询出结果的时候会自动 + 8小时,所以我们看起来结果是对的 但是我们查询的时候,并不会自动 + 8小时,需要自己处理 解决方法 1   @JsonFormat ...

  4. 跨域问题jsonp

    不得不说的同源政策: 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指域名,协议,端口相同.当一个浏览器的两个tab页 ...

  5. Docker集群编排工具之Kubernetes(K8s)介绍、安装及使用

    K8s基础原理 k8s中文社区:https://www.kubernetes.org.cn/ 简介 Kubernetes与较早的集群管理系统Mesos和YARN相比,对容器尤其是 Docker的支持更 ...

  6. Linux OpenSSH后门的添加与防范

    引言:相对于Windows,Linux操作系统的密码较难获取.不过很多Linux服务器配置了OpenSSH服务,在获取root权限的情况下,可以通过修改或者更新OpenSSH代码等方法,截取并保存其S ...

  7. JUnit4测试出错(一)

    log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUn ...

  8. Vxworks驱动程序的结构

    驱动程序的结构包括三个部分:初始化部分,函数功能部分和中断服务程序ISR.初始化部分初始化硬件,分配设备所需的资源,完成所有与系统相关的设置.如果是字符设备,首先调用iosDrvlnstall()来安 ...

  9. HighCharts之气泡图

    HighCharts之气泡图 1.HighCharts之气泡图源码 bubble.html: <!DOCTYPE html> <html> <head> <m ...

  10. 【mongodb系统学习之九】mongodb保存数据

    九.mongodb保存数据: 1).插入.保存数据:insert:语法db.collectionName.insert({"key":value}),key是字段名,必须是字符串( ...