LMT的魔术64K空间
发表于:2007-07-02来源:作者:点击数:
标签:
这几天在看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=
这几天在看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:ORACLEORADATAORCLO1_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,说大不大,说小也不小,当然在现在越来越大的存储设备上看并不会有太大问题。
原文转自:http://www.ltesting.net