首页 > 开发 > 综合 > 正文

LMT的魔术64K空间

2024-07-21 02:05:45
字体:
来源:转载
供稿:网友

这几天在看tom的effective oracle by design

陆续作一些笔记吧

sql> create tablespace ts_test datafile size 10240k uniform size 1024k;

tablespace created

executed in 1.021 seconds

sql> select bytes/1024 from dba_free_space where tablespace_name='ts_test';

bytes/1024
----------
      9216

executed in 0.07 seconds

sql> select 10240-1024 from dual;

10240-1024
----------
      9216

executed in 0.03 seconds

sql> alter database datafile 'c:/oracle/oradata/orcl/o1_mf_ts_test_0zzf1z2y_.dbf' resize 10304k;

database altered

executed in 0.07 seconds

sql> select bytes/1024 from dba_free_space where tablespace_name='ts_test';

bytes/1024
----------
     10240

executed in 0.02 seconds

解释:当一个表空间为lmt类型,管理extent的bitmap部分占据数据文件头部的64k空间,我们在设计一个数据文件大小的时候最好能够考虑这个64k的部分,否则可能会浪费掉一个extent的空间。uniform size假设是10m,一个表空间有20个数据文件,那么会浪费(10240k-64k)*20=198.75m,说大不大,说小也不小,当然在现在越来越大的存储设备上看并不会有太大问题。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表