LMT的魔术64K空间

发表于:2007-05-25来源:作者:点击数: 标签:LMT魔术64K这几天在看
这几天在看 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_na

这几天在看TomEffective 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,说大不大,说小也不小,当然在现在越来越大的存储设备上看并不会有太大问题。

原文转自:http://www.ltesting.net