首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    收缩表段(shrink space)

    --==================== -- 收缩表段(shrink space) --==================== 一、表的增长方式     当表被创建后,随着记录的不断插入,组成表的区间会被填满,如果启用了自动扩展,则当区间填满后,会分配新的区间。假定高水     位线随着记录的增加从最左端往右端来移动,当到底部区间的尾端时,则新的区间将会被分配。 二、表可收缩的原理     随着记录的增加高水位线不断的右移,记录的删除不会导致高水位线往回(左)移动     删除记录后的空闲空间(高水位线左侧)尽管可以使用,但其稀疏性导致空间空闲     注:完整的表扫描所耗费的时间不会因为记录的减少(删除)而减少 三、使用 alter table tbname shrink space 来收缩表段 1. 实现原理         实质上构造一个新表(在内部表现为一系列的DML操作,即将副本插入新位置,删除原来位置的记录)         靠近末尾处(右端)数据块中的记录往开始处(左端)的空闲空间处移动(DML操作),不会引起DML触发器         当所有可能的移动被完成,高水位线将会往左端移动(DDL操作)         新的高水位线右边的空闲空间被释放(DDL操作) 2. 实现前提条件         必须启用行记录转移(enable row movement)         仅仅适用于堆表,且位于自动段空间管理的表空间(堆表包括:标准表,分区表,物化视图容器,物化视图日志表) 3. 不能实现收缩的表         群集表         具有LONG类型列的表         LOB段(尽管表本身可以被缩小),注,10gR2以后版本支持对LOB段的收缩         具有基于提交的物化视图的表(因为禁用了触发器)         具有rowid物化视图的表(因为rowid发生了变化)         IOT映射表IOT溢出段         索引基于函数的表         未启用行记录转移的堆表 4. 段收缩的优点         提高缓存利用率,提高OLTP的性能          减少磁盘I/O,提高访问速度,节省磁盘空间          段收缩是在线的,索引在段收缩期间维护,不要求额外的磁盘空间 5. 两个选项         cascade:缩小表及其索引,并移动高水位线,释放空间         compact:仅仅是缩小表和索引,并不移动高水位线,不释放空间         alter table tbname shrink space 相当于带cascade参数 四、实战演习 1. 查看需要收缩的表段的基本情况,此处为表big_table

    01

    Emulex LightPulse FC9002L光纤卡安装日志

    # tar xvf solaris-6.01c-1a.tar x EmlxApps300a8-Solaris.tar, 6850560 bytes, 13380 tape blocks x lpfc-6.01c-sparc.tar, 1848832 bytes, 3611 tape blocks x readme.first.txt, 953 bytes, 2 tape blocks # ls EmlxApps300a8-Solaris.tar  readme.first.txt           ssh-UdjGS369 lpfc-6.01c-sparc.tar       solaris-6.01c-1a.tar # tar xvf lpfc-6.01c-sparc.tar x lpfc.1, 0 bytes, 0 tape blocks x lpfc.1/pkgmap, 1814 bytes, 4 tape blocks x lpfc.1/pkginfo, 276 bytes, 1 tape blocks x lpfc.1/install, 0 bytes, 0 tape blocks x lpfc.1/install/copyright, 480 bytes, 1 tape blocks x lpfc.1/install/postinstall, 9336 bytes, 19 tape blocks x lpfc.1/install/postremove, 2848 bytes, 6 tape blocks x lpfc.1/install/preremove, 1620 bytes, 4 tape blocks x lpfc.1/install/request, 2378 bytes, 5 tape blocks x lpfc.1/install/space, 23 bytes, 1 tape blocks x lpfc.1/reloc, 0 bytes, 0 tape blocks x lpfc.1/reloc/etc, 0 bytes, 0 tape blocks x lpfc.1/reloc/etc/system, 0 bytes, 0 tape blocks x lpfc.1/reloc/kernel, 0 bytes, 0 tape blocks x lpfc.1/reloc/kernel/drv, 0 bytes, 0 tape blocks x lpfc.1/reloc/kernel/drv/lpfc, 592692 bytes, 1158 tape blocks x lpfc.1/reloc/kernel/drv/lpfc.conf, 10863 bytes, 22 tape blocks x lpfc.1/reloc/kernel/drv/sd.conf, 1185 bytes, 3 tape blocks x lpfc.1/reloc/kernel/drv/sparcv9, 0 bytes, 0 tape blocks x lpfc.1/reloc/kernel/drv/sparcv9/lpfc, 719064 bytes, 1405 tape blocks x lpfc.1/reloc/usr, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/include, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/include/fcdiag.h, 18051 bytes, 36 tape blocks x lpfc.1/reloc/usr/lib, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/lib/libdfc.a, 43820 bytes, 86 tape blocks x lpfc.1/reloc/usr/lib/libdfc.so, 42000 bytes, 83 tape blocks x lpfc.1/reloc/usr/lib/sparcv9, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/lib/sparcv9/libdfc.a, 47936 bytes, 94 tape blocks x lpfc.1/reloc/usr/lib/sparcv9/libdfc.so, 51248 bytes, 101 tape blocks x lpfc.1/reloc/usr/sbin, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/sbin/lpfc, 0 bytes, 0 tape blocks x lpfc.1/reloc/usr/sbin/lpfc/convert_path_lpfc, 2257

    02
    领券