Oracle的数据段压缩技术
2008-06-06 12:42:58 来源:WEB开发网压缩前:
SQL> select owner,segment_name,file_id,block_id,blocks
2 from dba_extents
3 where wner='SCOTT'
4 and segment_name='T_28672'
5 order by block_id
6 /
OWNER SEGMENT_NAME FILE_ID BLOCK_ID BLOCKS
----- -------------------- ---------- ---------- ----------
SCOTT T_28672 4 3729 8
SCOTT T_28672 4 3737 8
SCOTT T_28672 4 3745 8
SCOTT T_28672 4 3753 8
SCOTT T_28672 4 3761 8
SCOTT T_28672 4 3769 8
SCOTT T_28672 4 3777 8
SCOTT T_28672 4 3785 8
SCOTT T_28672 4 3793 8
SCOTT T_28672 4 3801 8
SCOTT T_28672 4 3809 8
SCOTT T_28672 4 3817 8
SCOTT T_28672 4 3825 8
SCOTT T_28672 4 3833 8
SCOTT T_28672 4 3841 8
SCOTT T_28672 4 3849 8
SCOTT T_28672 4 3977 128
17 rows selected.
SQL>
执行表压缩:
SQL> alter table T_28672 move COMPRESS;
Table altered.
压缩后:
SQL> select owner,segment_name,file_id,block_id,blocks
2 from dba_extents
3 where wner='SCOTT'
4 and segment_name='T_28672'
5 order by block_id
6 /
OWNER SEGMENT_NAME FILE_ID BLOCK_ID BLOCKS
----- -------------------- ---------- ---------- ----------
SCOTT T_28672 4 3857 8
SCOTT T_28672 4 3865 8
SCOTT T_28672 4 3873 8
SCOTT T_28672 4 3881 8
SCOTT T_28672 4 3889 8
SCOTT T_28672 4 3897 8
6 rows selected.
SQL>
简单总结:
从压缩前后段的数量上看,压缩还是相当节约空间的,17个区压缩成6个区,2倍的压缩比。
2.2.3 dump出file 4 block 3860块
SQL> alter system dump datafile 4 block 3860;
System altered.
2.2.4 结构分析
需要说明的是,如下的内容为完整.trc的节选,有关于block dump内容更详细的解释可以参照“DSI402e Data Types and Block Structures”,本文只关注与压缩有关的部分。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
赞助商链接