zoukankan      html  css  js  c++  java
  • [每日一题] 11gOCP 1z0-052 :2013-09-4 block header grows............................................A33

    转载请注明出处:http://write.blog.csdn.net/postedit/11100311


    正确答案是:AD

    要理解这道题就要去了解数据块的结构。引用OCPPPT中的一幅图:



    从这幅图中可以看出数据块的数据增长(grow)由上往下增长和由下到往上增长的:

    1、             由上往下增长是其实是ITL事务槽的事务增加。

    在oracle 10g之后默认初始化在创建表时ITL事务槽是2个。这个事务槽的范围是:1-255.就是说最大可以到255个ITL事务槽,什么时间事务槽才会增长呢,当一个数块中的数据在做并行的DML操作时,会申请好多ITL事务槽,所用的空间应该会有PCTFREE这个参数所预留的这空间中申请。

    一个事务槽大概占用24个字节,下面用Dump命令转储出数据块的ITL槽务槽信息:

    tl           Xid            Uba          Flag  Lck        Scn/Fsc

    0x01  0x0004.00f.00000346 0x00c00793.00bb.22 --U-    1   fsc 0x0000.0015a3eb

    0x02  0x0000.000.00000000 0x00000000.0000.00 ----    0   fsc 0x0000.00000000

    Itl: ITL事务槽号的流水编号

    Xid:transac[X]tionidentified(事务ID),由und的段号+undo的槽号+undo槽号的覆盖次数三部分组成

    Uba:undo blockaddress记录了最近一次的该记录的前镜像(修改前的值)

    Flag:C是提交,U是快速提交,---是未提交

    Lck:锁住了几行数据,对应有几个行锁

    Scn/Fsc:Scn=SCN ofcommited TX; Fsc=Free space credit(bytes)

    这里fsc 0x0000.0015a3eb是指提交的scn,这个值大于上次清除块时的scn=csc:0x00.15a3ea(此scn是这个块中最小的SCN of commited)

    SCN WRAP:如果事务已提交并完成清洗,该字段保存事务提交SCN的SCN WRAP部分,否则该字段保存空闲预支字节数(FSC).比如我删除了一行数据10个字节,在事务提前前,这10个字节就属于fsc(即会写到SCN WRAP),只有事务提交后,才能正式返回到空闲空间。

    具体可以参数一下这个贴子:明明白白数据块---深入解析数据块格式:

    http://www.itpub.net/forum.php?mod=viewthread&tid=1772905

    2、             由下往上增长的其实是表中的数据做UPDATE.

      数据块中使用了参数PCTFREE,默认10%.留着这个空间做UPDATE,在表中我们用了大量的varchar2字段,假设我们定某个字段为varchar2(100),而我们实际插入这个字段是10个字节,这样把块都给插满了(注意数据插入是从块的底层向上插,插到PCTFREE线以下就不再往下插了),好下次要更新数据,如果把一个10字节的修改成100个字节的,这时增加了90个字节,这个90个字节就会去PCTFREE中找,找到了空间直接就更新了,要是找不到就会发生行迁移了,发生行迁移下次查询时就会有性能问题,找一条记录需要读两个数据块。为了尽量避免行迁移发生就用了PCTFEE参数预留些空间出来给UPDATE用。PCTFREE空间在块的头部。

    建表部分语法的存储参数:

    PCTFREE(默认10%) ---在ASSM/MSSM都在用。

    PCTUSED(默认40%) ---在ASSM下已被废弃了。

    INITRANS 2(默认这个参数不写初化始为2,就是ITL事务槽为2)


    QQ:252803295

    学习交流QQ群:
    DSI&Core Search  Ⅰ 群:127149411(2000人技术群:未满)
    DSI&Core Search  Ⅱ 群:177089463(1000人技术群:未满)
    DSI&Core Search  Ⅲ 群:284596437(500人技术群:未满)
    DSI&Core Search  Ⅳ 群:192136702(500人技术群:未满)
    DSI&Core Search  Ⅴ 群:285030382(500人闲聊群:未满)



    MAIL:oracledba_cn@hotmail.com

    BLOG: http://blog.csdn.net/guoyjoe

    WEIBO:http://weibo.com/guoyJoe0218

    ITPUB: http://www.itpub.net/space-uid-28460966.html

    OCM:   http://education.oracle.com/education/otn/YGuo.HTM

      

  • 相关阅读:
    POJ 1401 Factorial
    POJ 2407 Relatives(欧拉函数)
    POJ 1730 Perfect Pth Powers(唯一分解定理)
    POJ 2262 Goldbach's Conjecture(Eratosthenes筛法)
    POJ 2551 Ones
    POJ 1163 The Triangle
    POJ 3356 AGTC
    POJ 2192 Zipper
    POJ 1080 Human Gene Functions
    POJ 1159 Palindrome(最长公共子序列)
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3304081.html
Copyright © 2011-2022 走看看