ORACLE Granule 解释

原创 转载请注明出处

(学习笔记) Granule 是ORACLE SGA里面分配内存的最小单位,在NOMOUNT的阶段Granule 就会分配给SGA,Granule 分为3个状态:FREE OR invalid,initialized,allocated 如果我们的SGA小于128MB,Granule为4MB如果我们的SGA大于128MGranule为16MB。同时每个Granule包含BUFFER和BUFFER HEADER,BUFFER HEADER用来悬挂到 cache buffer chain list ,具体的大家可以看看 cache buffer chain 的结构,也就是经常出现的等待事件cache buffer chain 。同时我们可以查看到已经分配的Granule,使用如下语句:

 select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;

我配置参数如下

sga_max_size big integer 2400M

sga_target big integer 2272M

SQL> select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
         1          0 INVALID          21000000   16777216          0
         2          0 INVALID          22000000   16777216          1
         3          0 INVALID          23000000   16777216          2
         4          0 INVALID          24000000   16777216          3
         5          0 INVALID          25000000   16777216          4
         6          0 INVALID          26000000   16777216          5
         7          0 INVALID          27000000   16777216          6
         8          0 INVALID          28000000   16777216          7
         9          6 ALLOC            29000000   16777216          0
        10          6 ALLOC            2A000000   16777216          9
        11          6 ALLOC            2B000000   16777216         12
        12          6 ALLOC            2C000000   16777216         13
        13          6 ALLOC            2D000000   16777216         14
        14          6 ALLOC            2E000000   16777216         15
        15          6 ALLOC            2F000000   16777216         16
        16          6 ALLOC            30000000   16777216         17
        17          6 ALLOC            31000000   16777216         18
        18          6 ALLOC            32000000   16777216         19
        19          6 ALLOC            33000000   16777216         20
        20          6 ALLOC            34000000   16777216         10
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        21          6 ALLOC            35000000   16777216         22
        22          6 ALLOC            36000000   16777216         23
        23          6 ALLOC            37000000   16777216         24
        24          6 ALLOC            38000000   16777216         25
        25          6 ALLOC            39000000   16777216         26
        26          6 ALLOC            3A000000   16777216         27
        27          6 ALLOC            3B000000   16777216         28
        28          6 ALLOC            3C000000   16777216         29
        29          6 ALLOC            3D000000   16777216         30
        30          6 ALLOC            3E000000   16777216         11
        31          6 ALLOC            3F000000   16777216         32
        32          6 ALLOC            40000000   16777216         33
        33          6 ALLOC            41000000   16777216         34
        34          6 ALLOC            42000000   16777216         35
        35          6 ALLOC            43000000   16777216         36
        36          6 ALLOC            44000000   16777216         37
        37          6 ALLOC            45000000   16777216         38
        38          6 ALLOC            46000000   16777216         39
        39          6 ALLOC            47000000   16777216         40
        40          6 ALLOC            48000000   16777216         21
        41          6 ALLOC            49000000   16777216         42
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        42          6 ALLOC            4A000000   16777216         43
        43          6 ALLOC            4B000000   16777216         44
        44          6 ALLOC            4C000000   16777216         45
        45          6 ALLOC            4D000000   16777216         46
        46          6 ALLOC            4E000000   16777216         47
        47          6 ALLOC            4F000000   16777216         48
        48          6 ALLOC            50000000   16777216         49
        49          6 ALLOC            51000000   16777216         50
        50          6 ALLOC            52000000   16777216         31
        51          6 ALLOC            53000000   16777216         52
        52          6 ALLOC            54000000   16777216         53
        53          6 ALLOC            55000000   16777216         54
        54          6 ALLOC            56000000   16777216         55
        55          6 ALLOC            57000000   16777216         56
        56          6 ALLOC            58000000   16777216         57
        57          6 ALLOC            59000000   16777216         58
        58          6 ALLOC            5A000000   16777216         59
        59          6 ALLOC            5B000000   16777216         60
        60          6 ALLOC            5C000000   16777216         41
        61          6 ALLOC            5D000000   16777216         62
        62          6 ALLOC            5E000000   16777216         63
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        63          6 ALLOC            5F000000   16777216         64
        64          6 ALLOC            60000000   16777216         65
        65          6 ALLOC            61000000   16777216         66
        66          6 ALLOC            62000000   16777216         67
        67          6 ALLOC            63000000   16777216         68
        68          6 ALLOC            64000000   16777216         69
        69          6 ALLOC            65000000   16777216         70
        70          6 ALLOC            66000000   16777216         51
        71          6 ALLOC            67000000   16777216         72
        72          6 ALLOC            68000000   16777216         73
        73          6 ALLOC            69000000   16777216         74
        74          6 ALLOC            6A000000   16777216         75
        75          6 ALLOC            6B000000   16777216         76
        76          6 ALLOC            6C000000   16777216         77
        77          6 ALLOC            6D000000   16777216         78
        78          6 ALLOC            6E000000   16777216         79
        79          6 ALLOC            6F000000   16777216         80
        80          6 ALLOC            70000000   16777216         61
        81          6 ALLOC            71000000   16777216         82
        82          6 ALLOC            72000000   16777216         83
        83          6 ALLOC            73000000   16777216         84
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
        84          6 ALLOC            74000000   16777216         85
        85          6 ALLOC            75000000   16777216         86
        86          6 ALLOC            76000000   16777216         87
        87          6 ALLOC            77000000   16777216         88
        88          6 ALLOC            78000000   16777216         89
        89          6 ALLOC            79000000   16777216         90
        90          6 ALLOC            7A000000   16777216         71
        91          6 ALLOC            7B000000   16777216         92
        92          6 ALLOC            7C000000   16777216         93
        93          6 ALLOC            7D000000   16777216         94
        94          6 ALLOC            7E000000   16777216         95
        95          6 ALLOC            7F000000   16777216         96
        96          6 ALLOC            80000000   16777216         97
        97          6 ALLOC            81000000   16777216         98
        98          6 ALLOC            82000000   16777216         99
        99          6 ALLOC            83000000   16777216        100
       100          6 ALLOC            84000000   16777216         81
       101          6 ALLOC            85000000   16777216        102
       102          6 ALLOC            86000000   16777216        103
       103          6 ALLOC            87000000   16777216        104
       104          6 ALLOC            88000000   16777216        105
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       105          6 ALLOC            89000000   16777216        106
       106          6 ALLOC            8A000000   16777216        107
       107          6 ALLOC            8B000000   16777216        108
       108          6 ALLOC            8C000000   16777216        109
       109          6 ALLOC            8D000000   16777216        110
       110          6 ALLOC            8E000000   16777216         91
       111          6 ALLOC            8F000000   16777216        112
       112          6 ALLOC            90000000   16777216        113
       113          6 ALLOC            91000000   16777216        114
       114          6 ALLOC            92000000   16777216        115
       115          6 ALLOC            93000000   16777216        116
       116          6 ALLOC            94000000   16777216        101
       117          4 ALLOC            95000000   16777216          0
       118          4 ALLOC            96000000   16777216        117
       119          3 ALLOC            97000000   16777216          0
       120          2 ALLOC            98000000   16777216          0
       121          1 ALLOC            99000000   16777216          0
       122          1 ALLOC            9A000000   16777216        121
       123          1 ALLOC            9B000000   16777216        122
       124          1 ALLOC            9C000000   16777216        123
       125          1 ALLOC            9D000000   16777216        124
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       126          1 ALLOC            9E000000   16777216        125
       127          1 ALLOC            9F000000   16777216        126
       128          1 ALLOC            A0000000   16777216        127
       129          1 ALLOC            A1000000   16777216        128
       130          1 ALLOC            A2000000   16777216        129
       131          1 ALLOC            A3000000   16777216        130
       132          1 ALLOC            A4000000   16777216        131
       133          1 ALLOC            A5000000   16777216        132
       134          1 ALLOC            A6000000   16777216        133
       135          1 ALLOC            A7000000   16777216        134
       136          1 ALLOC            A8000000   16777216        135
       137          1 ALLOC            A9000000   16777216        136
       138          1 ALLOC            AA000000   16777216        137
       139          1 ALLOC            AB000000   16777216        138
       140          1 ALLOC            AC000000   16777216        139
       141          1 ALLOC            AD000000   16777216        140
       142          1 ALLOC            AE000000   16777216        141
       143          1 ALLOC            AF000000   16777216        142
       144          1 ALLOC            B0000000   16777216        143
       145          1 ALLOC            B1000000   16777216        144
       146          1 ALLOC            B2000000   16777216        145
 
   GRANNUM   GRANTYPE GRANSTATE        BASEADDR   GRANSIZE   GRANNEXT
---------- ---------- ---------------- -------- ---------- ----------
       147          1 ALLOC            B3000000   16777216        146
       148          1 ALLOC            B4000000   16777216        147
       149          1 ALLOC            B5000000   16777216        148
 
149 rows selected

如果我们计算一下总的Granule大小为: 16*149= 2384MB 我这里有点怀疑LOG_BUFFER是否使用了Granule

LOG_BUFFER 15312896

刚好2384MB+15MB差不多就等于SGA_MAX_SIZE 而如果我们统计

GRANSTATE =‘ALLOC ’ 那就是 16*141=2256MB 基本也和 sga_target差不多。所以通过

select GRANNUM, GRANTYPE, GRANSTATE, BASEADDR, GRANSIZE, GRANNEXT from x$ksmge;

我们可以知道Granule的具体分配情况

时间: 2024-07-30 18:36:05

ORACLE Granule 解释的相关文章

Oracle技术:基于自定义函数的Function-Based索引创建

在oralce中给自建函数创建索引,结果不成功. source:Create Index IDX_T_SP_TWOTYPESTAT_0_f On T_SP_TWOTYPESTAT_0(f_dateadd(yearmonth,12,2)); err:the function is not deterministic. 我们看一下这是为什么? 随便一个测试可以再现这个问题,我门创建一个函数(本范例函数用于进行16进制向10进制转换): 此时创建索引,获得如下错误信息: 更多精彩内容:http://w

Oracle的TNS-12502错误原因及解决

前几天收到一位读者朋友的来信,询问以下问题: 在我的监听日志中出现错误TNS-12502: TNS:listener received no CONNECT_DATA from client 经过查找资料了解到这种错误应该是客户端tnsnames.ora中没有写 CONNECT_DATA的原因,我检查过客户端的机器没有发现问题. 目前的现象: 1.每几分钟出现一次该错误(见附件),即使是在凌晨的时候也是,这段时间我们没有开发人员在凌晨时候使用Oracle. 2.到目前为止也没有发现客户端机器不能

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七:   程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.     继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,

【云和恩墨大讲堂】Oracle线上嘉年华第二讲

编辑手记:Oracle线上嘉年华,正在持续分享中.本次的主题是系统割接中的SQL解析问题和结合业务的SQL优化改写技巧. 1嘉宾介绍 小鱼(邓秋爽) 云和恩墨专家,有超过5年超大型数据库专业服务经验,擅长oracle 数据库优化.SQL优化和troubleshooting 新系统割接的library cache问题 这是我们在做系统割接的时候的一个案例,可能并不是很常见,这个案例是将Oracle 11g升级到12c的时候遇到的问题,出现了大量的library cache的问题.具体情况是: 新系

VMware中linux环境下oracle安装图文教程(一)_oracle

安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装配置系统环境 安装linux , 所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭)打开终端,执行如下命令,检查安装包,没有的都要安装 make, glibc, libaiocompat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gc

java8的lambda表达式的适用范围?

问题描述 java8的lambda表达式的适用范围? 求好心人详细说明一下java8中加入的新特性lambda表达式的适用范围,什么时候用lambda方便,什么时候不适合用? 解决方案 lambda和groovy切记不能混淆,前者是oracle为了解释方便添加的新语法,后者是美国2个本科生编写由google推动开发,的以独立文件方式编译的,需要额外虚拟机即扩展组件执行. 这2者共同点就是可测试alpha版本在jdk8等级上提出来的,因为jdk7和jdk6都有绕不过去的问题,你可以在jdk7上用,

Java社区对Java发布周期声明的反应

InfoQ最近报道了Oracle关于Java发布模型和时间表的声明.该声明受到Java生态系统大多数参与者的广泛欢迎,但是Java标准化过程以及Java标准制定组织(JCP)在未来版本中的作用仍然存在疑问. 除了Java 9的发布之外,Oracle尚没有明确新的发布节奏如何与JCP一起合作.通常JCP的运作时间要长于Oracle新提议的6个月发布周期.这就会引发一个问题,是否每个功能版本都会有Java规范提案(JSR). 如果这样的话,那么Oracle需要解释短时间的版本发布如何与JCP流程集成

【等待事件】等待事件系列(1)--User I/O类型

[等待事件]等待事件系列(1)--User I/O类型 1  BLOG文档结构图     2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ①  等待事件系列(1)--User I/O类型     Tips: ① 本文在ITpub(http://blog.itpub.net/26736162).博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaim

一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六)   本章主要是搜集了一些安装rac的过程中出现的问题及解决办法,如果没有出现问题的话那么这一章可以不看的       目录结构: crs安装出现的问题 Oracle 11g RAC CRS-4535/ORA-15077 新安装了Oracle 11g rac之后,不知道是什么原因导致第二个节点上的crsd无法启动?其错误消息是CRS-4535: C