没有合适的资源?快使用搜索试试~ 我知道了~
首页Oracle 10gR2压缩(Compress)技术
Oracle 10gR2压缩(Compress)技术 1 1、oracle压缩简介 1 2、oracle压缩优点 2 3、压缩分类 2 3.1 表级压缩 2 3.2 表空间级压缩 3 3.3 物化视图压缩 3 3.4 分区表压缩 3 3.5 索引压缩 4 3.6 数据压缩方法 4 4、如何正确压缩数据 5 4.1 压缩数据方法 5 4.2 CTAS数据压缩 5 4.3 insert /*+ append */压缩 6 4.4 alter table …move compress压缩 7 4.5 alter table … move partition … compress 8 5、分区表的压缩测试 8 5.1 分区表创建 8 5.2 分区表压缩属性查看 8 5.3 分区表压缩属性修改 9 5.4 分区索引压缩属性修改 10 5.5 分区表空间数据压缩 12 5.6 分区索引压缩 14 5.7 压缩提升性能测试 16 6、生产库分区表压缩 19 附录A、show_space存储过程查看段使用情况 19 附录B、Oracle11gR2 Compress 21
资源详情
资源评论
资源推荐

Oracle 10gR2 压缩(Compress)技术
压缩()技术
、 压缩简介
、 压缩优点
、压缩分类
表级压缩
表空间级压缩
物化视图压缩
分区表压缩
索引压缩
数据压缩方法
、如何正确压缩数据
压缩数据方法
数据压缩
压缩 !
"#$ 压缩%
"#$&&#'
、分区表的压缩测试 '
分区表创建 '
分区表压缩属性查看 '
分区表压缩属性修改
分区索引压缩属性修改
分区表空间数据压缩
分区索引压缩
!压缩提升性能测试 %
、生产库分区表压缩
附录 、()* 存储过程查看段使用情况
附录 +、

1、oracle 压缩简介
表压缩原理:
表压缩特性通过删除在数据库表中发现的重复数据值来节省空间。压缩是在数据库的
数据块级别上进行的。当确定一个表要被压缩后,数据库便在每一个数据库数据块中保留
空间,以便储存在该数据块中的多个位置上出现的数据的单一拷贝。这一被保留的空间被
称作符号表(,"")。被标识为要进行压缩的数据只存储在该符号表中,而不是在
数据库行本身内。当在一个数据库行中出现被标识为要压缩的数据时,该行在该符号表中
存储一个指向相关数据的指针,而不是数据本身。节约空间是通过删除表中数据值的冗余
拷贝而实现的。
总结为一句话:数据块压缩原理上是使用长度较短符号来代替列中的每个值,由于符
号占用空间小于实际值,从而达到节约空间的效果。
2、oracle 压缩优点
从 '开始-./ 提供了表表空间压缩技术-以减少磁盘开销-节省空间-并在
某些情况下提高查询性能。优点如下:
1.节约空间:我认为压缩技术的最大好处就是节约空间,在存储设备空间很紧张的情
况下更需要使用压缩技术来缓解
2.减少 memory/IO 开销:当使用了压缩技术后,同等记录对应的数据块相对较少,自
然而然 0 开销就小了
3.提高数据处理效率:原本 个数据块的,经过压缩后变成 个数据块,但还是那些
数据,可效率提高了一倍。
4.提高备份和恢复速度:压缩后的备份文件小,速度快。恢复速度也同样。
但是压缩在表存储时就要进行处理,在一定程度上降低了数据库性能,对于海量数据
库的性能也是一个比较大的挑战。同时,压缩一般应用在“海量数据”数据库上,在大数据
量下并且重复率高的情境下应该的效果才好,适合于 .1(报表系统)不适合 .1(在
线交易系统),当数据量小作用还不是很大。
为什么数据压缩不适合 OLTP 系统?
.1 是一种多事务短时间片系统,有大量的 23. 操作,而 23. 操作会产生很多
4(5 )当数据块中记录数多起来时,导致访问这个数据块的用户就多,
就是产生争用和等待,从而降低了效率。
数据插入、更新和索引键值更新时,都要先解压缩再更新,等待的时间会更长。

3、压缩分类
3.1 表级压缩
创建表时使用 31/ 关键字-31/ 关键字指示 数据库尽可能以压缩的
格式存储该表中的行。
6.7"##8
修改普通表为压缩表:
6.7" ……8
使用 "$ 使一个已存在但未压缩的表转换为压缩表
6.7"*$8
取消表的压缩:
6.7" ……8
使用 "$ 来解压一个已经压缩的表9
6.7"*$8
查看表级压缩:
确定一个表是否使用了压缩-查询 5*"- 字段表明表是否被压缩
6.7"*-:5*")("*;<<8
3.2 表空间级压缩
在表空间级别上定义 31/ 属性,既可以在生成时利用 //+./1/ 来定义,
也可以稍后时间利用 ./+./1/ 来定义。
31/ 属性具有继承特性。当在一个表空间中创建一个表时,它从该表空间继承
31/ 属性。
表空间转换和取消压缩表空间
6.7"## :58
6.7"## :58
查看表空间级压缩:
确定是否已经利用 31/ 对一个表空间进行了定义,可查询 =/*+./1/ 数
据字典视图并查看 2/>*+*31/0? 列
6.7 "*- :*"* : 5*" )(
"*;@@8

3.3 物化视图压缩
使用用于压缩表的类似方式来压缩物化视图。基于多个表的联接生成的物化视图通常
很适于压缩,因为它们通常拥有大量的重复数据项。
6.7A $)####)(##8
可以使用 ./3/0.0B/2C0/D 命令来改变一个物化视图的压缩属性。注意;通常
是在下一次刷新该物化视图时才会进行实际的压缩。
6.7A $)##8
3.4 分区表压缩
在对已分区的表应用压缩时,可以有如下设置:
分区表的每个分区都可以独立压缩
有些时候,分区表在创建时不设置分区压缩属性,当某个分区需要压缩时,再独立
进行压缩
如果在表级设置压缩属性的话,那么所有分区都会启动压缩功能,反正如果是某几
个分区独立压缩,表级属性上什么也不写的。
利用 ./+./3C/100? 命令对此分区进行压缩:
6.7"##$&&##8
要找出一个表中的哪些分区被压缩了,可以查询数据字典视图 =/*+*100?
6.7/./+./*?3/-100?*?3/-31/0?>3=/*+*100?8
对已分区但未压缩的表(甚至带子分区)进行压缩,如果不能一步完成,那么:
E 6.7"##8
E 6.7 < " ## $ 5"&& <FF 5"&&*FF<8< :
5*"*5"&&)("*4<##<8
3.5 索引压缩
索引压缩分为 类:基本索引压缩和分区索引压缩
分区索引压缩注意事项:
分区表索引中不能对单个独立分区索引设置压缩,要么整体压缩要么不压缩。
如果创建分区表索引时未设置压缩,以后都不能在设置了

注意:那么在索引键值重复率低的情况下,压缩索引比普通索引占用的空间还多,这
是为什么呢,压缩原理就是把键值用符号代替,重复键值越多冗余空间越多,但我们测试
键值几乎是没有重复的,还要腾出额外空间给映射列表(键值9符号对应表),所以压缩索
引使用的空间就会更多。
3.6 数据压缩方法
虽然指定表的 属性-但是表 G表空间E中的数据并没有压缩-它只是修改了数据
字典的设置8只有在向一个表中加裁插入数据时-才会压缩数据
只有在使用下面 种方法时-表中的数据才会被压缩存放9
直接路径的 H
带有 的 语句
"
并行
"$
除表可以压缩外,分区表可以压缩,索引可以压缩,物化视图也可以压缩。注:除索
引外,压缩属性可以继承表空间的压缩属性。表空间改成压缩的:
6.7"* :58
4、如何正确压缩数据
4.1 压缩数据方法
压缩技术常用语 .1 数据仓库领域-.1 技术的使用用法需要比较特殊的情况下,才
能产生压缩效果,如下几种:
(1)alter table 表名 move compress
给普通表进行压缩,通过 3C/ 方式进行数据重组
(2)alter table 表名 move par!!on 分区名 compress
分区表每个分区都可以独立压缩,结尾必须添加 compress 关键字否则不压缩
(3)create table 表名 compress as select
对象属性
(4)insert /*+ append */
直接加载插入数据,必压缩。 常规 insert into 不压缩数据
(5)sqlldr 参数 direct path
H 直接路径加载,必压缩
剩余22页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论11