ITPub博客

首页 > 数据库 > Oracle > SGA中granule大小修改

SGA中granule大小修改

Oracle 作者:xypincle 时间:2017-03-18 14:57:22 0 删除 编辑

  1. 我们都知道SGA中的各个组件分配都是以granule(细粒度)作为一个单位来分配的,而并不是一次分配1M或1K这样的单位。
  2. granule大小是以SGA大小由系统设定的,当SGA小于1G时,granule大小为4M,当SGA大于1G的时候granule大小为16M,如图:

  3. SQL> select sum(value) from v$sga;
  4. SUM(VALUE)
  5. ----------
  6. 176160768
  7. 接下来。我们看granule的尺寸大小;

  8. SQL>select component,granule_size from v$sga_dynamic_components;
  9. COMPONENT                                                        GRANULE_SIZE
  10. ---------------------------------------------------------------- ------------
  11. shared pool                                                           4194304
  12. large pool                                                            4194304
  13. java pool                                                             4194304
  14. streams pool                                                          4194304
  15. DEFAULT buffer cache                                                  4194304
  16. KEEP buffer cache                                                     4194304
  17. RECYCLE buffer cache                                                  4194304
  18. DEFAULT 2K buffer cache                                               4194304
  19. DEFAULT 4K buffer cache                                               4194304
  20. DEFAULT 8K buffer cache                                               4194304
  21. DEFAULT 16K buffer cache                                              4194304
  22. DEFAULT 32K buffer cache                                              4194304
  23. OSM Buffer Cache                                                      4194304
  24. 我们可以通过修改隐含参数"_ksmg_granule_size"来修改granule的大小。

  25. SQL>alter system set "_ksmg_granule_size"=4500000 scope=spfile;
  26. 重启oracel以后,我们查询发现granule大小变为了8M,
  27. SQL> select component,granule_size from v$sga_dynamic_components;
  28. COMPONENT                                                        GRANULE_SIZE
  29. ---------------------------------------------------------------- ------------
  30. shared pool                                                           8388608
  31. large pool                                                            8388608
  32. java pool                                                             8388608
  33. streams pool                                                          8388608
  34. DEFAULT buffer cache                                                  8388608
  35. KEEP buffer cache                                                     8388608
  36. RECYCLE buffer cache                                                  8388608
  37. DEFAULT 2K buffer cache                                               8388608
  38. DEFAULT 4K buffer cache                                               8388608
  39. DEFAULT 8K buffer cache                                               8388608
  40. DEFAULT 16K buffer cache                                              8388608
  41. DEFAULT 32K buffer cache                                              8388608
  42. OSM Buffer Cache                                                      8388608

  43. 现在再改
  44. SQL>alter system set "_ksmg_granule_size"=9000000 scope=spfile;
  45. 再来查询granule大小,发现granule大小还是8M,

  46. SQL>select component,granule_size from v$sga_dynamic_components;
  47. COMPONENT                                                        GRANULE_SIZE
  48. ---------------------------------------------------------------- ------------
  49. shared pool                                                           8388608
  50. large pool                                                            8388608
  51. java pool                                                             8388608
  52. streams pool                                                          8388608
  53. DEFAULT buffer cache                                                  8388608
  54. KEEP buffer cache                                                     8388608
  55. RECYCLE buffer cache                                                  8388608
  56. DEFAULT 2K buffer cache                                               8388608
  57. DEFAULT 4K buffer cache                                               8388608
  58. DEFAULT 8K buffer cache                                               8388608
  59. DEFAULT 16K buffer cache                                              8388608
  60. DEFAULT 32K buffer cache                                              8388608
  61. OSM Buffer Cache
  62. 后来我分别把"_ksmg_granule_size"又修改为16M和32M得出来的结果都是8M.最后得出结论
  63. 在SGA小于1G的配置中,默认的granule大小为4M,可以通过"_ksmg_granule_size"修改granule大小,
  64. 当这个参数设为小于4M时,granule大小为4M,  当这个参数设为大于4M时,granule大小为8M.  

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28878983/viewspace-2135594/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-05-11

  • 博文量
    208
  • 访问量
    212338