在9i后,SGA的内部组件大小可以动态调整,也可以由数据库自动管理,在设置内存大小的时候,分配的基本单位是粒度(granule)

  • granule是一段连续的虚拟内存,大小区域决SGA_MAX_SIZE大小
  • SGA_MAX_SIZE小于128M,Granule为4M,否则Granule为16M
  • 每个内存组件分配大小必须为Granule的整数倍
  • 整个SGA最小不小于3个Granule大小
  • 查看granule大小:v$sgainfo
  • 如下,因为sga_max_size大小大于128M,所以granule大小为16M

SQL> select name,bytes/1024/1024 MB,resizeable from v$sgainfo;

NAME                                     MB RES

-------------------------------- ---------- ---

Fixed SGA Size                   2.14937592 No

Redo Buffers                       6.765625 No

Buffer Cache Size                       608 Yes

Shared Pool Size                        272 Yes

Large Pool Size                          32 Yes

Java Pool Size                           16 Yes

Streams Pool Size                         0 Yes

Shared IO Pool Size                       0 Yes

Granule Size                             16 No

Maximum SGA Size                 1576.91797 No

Startup overhead in Shared Pool   189.55072 No

Free SGA Memory Available               640

12 rows selected.

SQL> show parameter sga_max_size

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

sga_max_size                         big integer 1584M

再看如下例子:

虽然设置shared_pool_size大小为10M,但是查看是确实16M,那是因为分配内存的基本单位是粒度granule.每个内存组件分配大小必须为granule的整数倍.

SQL> show parameter shared_p;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

shared_pool_reserved_size            big integer 10066329

shared_pool_size                     big integer 0

SQL> alter system set shared_pool_size=10M;

System altered.

SQL> show parameter shared_p;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

shared_pool_reserved_size            big integer 10066329

shared_pool_size                     big integer 16M

最新文章

  1. 项目中angular js的接口url统一管理
  2. 使用maven搭建ssh框架
  3. express-12 Cookie与会话
  4. iOS 1-2年经验面试参考题
  5. linux atom 不支持中文
  6. JS基础回顾,小练习(实现each方法)
  7. PHP基础18:require和include
  8. Java基础之写文件——使用带缓冲的Writer写文件(WriterOutputToFile)
  9. 分布式消息队列kafka系列介绍 — 核心API介绍及实例
  10. 让你了解x86的中断
  11. pcduino通过USB方式刷机
  12. 一个简单的倒计时js插件
  13. Linux文件管理常用命令
  14. ORACLE union order by
  15. OC第四课
  16. Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)
  17. Java --Annotation学习心得体会及笔记
  18. php 微信JS-SDK封装类
  19. Magicodes.NET框架之路——产品之路(谈谈产品管理)
  20. vue.js实战——购物车练习(包含全选功能)

热门文章

  1. CControlLayer
  2. vs code git 扩展失败,提示重新加载的解决办法
  3. 读取SD卡中的图片
  4. Makefile学习之路6——让编译环境更加有序
  5. Makefile学习之路5——通过函数增强功能
  6. nodeJs should+mocha+istanbul 测试 遇到的坑
  7. 在sql中根据成绩显示学生排名
  8. C语言 · 三角形面积
  9. STM32CubeMX软件工程描述_USART配置过程
  10. Scala中List(Map1,Map2,Map3 ....) 转成一个Map